我浏览了各种问题,但找不到我需要的东西。我昨天开始使用 tikz,所以我很困惑,我的代码很糟糕。我正在画一个彭罗斯图。这是我现在的位置:
\begin{tikzpicture}
\node (I) at (0,2) {};
\node (II) at (2,2) {};
\node (III) at (0,4) {};
\node (IV) at (-2,2) {};
\node (V) at (0,0) {};
\node (VI) at (2,0) {};
\node (VII) at (2,-2) {};
\draw[dashed] (III.center)--node[midway, above right]{$\mathcal{CH_{R}}$}(II.center)--node[midway, above right]{$\scri^{+}$}(VII.center)--(IV.center);
\draw (IV.center)--node[midway, above left]{$\mathcal{CH_{L}}$} (III.center);
\draw (V.center)--node[near end, above left]{$\mathcal{H_{R}}$} (II.center);
\node (VIII) at (-0.5,1.2) {$\bullet$};
\draw (VI.center) to[out=170, in=-40, looseness=1.2] node[midway, below]{$\Sigma$} (VIII.center);
\path (VIII) +(45:2.3) coordinate (IX);
\fill[gray!20,nearly transparent] (VI) -- (-0.5,1.2) -- (IX) -- (II) -- cycle;
\end{tikzpicture}
结果如下:
我的问题是我想让灰色区域延伸到曲线 \Sigma,但我不知道该怎么做。
另外,出于某种原因,如果我写
\fill[gray!20,nearly transparent] (VI) -- (VIII) -- (IX) -- (II) -- cycle;
代替
\fill[gray!20,nearly transparent] (VI) -- (-0.5,1.2) -- (IX) -- (II) -- cycle;
尽管 (-0.5,1.2) 是节点 (VIII) 的坐标,但我得到了不同的结果。以下是发生的情况:
我的主要问题是填充区域,但任何其他建议都值得赞赏。提前谢谢您。
答案1
这是一个可能的解决方案。
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (I) at (0,2);
\coordinate(II) at (2,2);
\coordinate(III) at (0,4);
\coordinate(IV) at (-2,2);
\coordinate(V) at (0,0);
\coordinate(VI) at (2,0);
\coordinate(VII) at (2,-2);
\coordinate (IX) at ($(II) +(135:1.2)$);
\coordinate (VIII) at ($(IX) +(225:2)$);
\fill[fill=gray!20] (VI.center) to[out=170, in=-40, looseness=1.2] node[text=black,midway, below]{$\Sigma$} (VIII.center) -- (IX.center) -- (II.center) -- cycle;
\draw (VI.center) to[out=170, in=-40, looseness=1.2] (VIII.center);
\draw[dashed] (III.center)--node[midway, above right]{$\mathcal{CH_{R}}$}(II.center)--node[midway, above right]{$\mathcal{I}^{+}$}(VII.center)--(IV.center);
\draw (IV.center)--node[midway, above left]{$\mathcal{CH_{L}}$} (III.center);
\draw (V.center)--node[near end, above left]{$\mathcal{H_{R}}$} (II.center);
\node at (VIII) {$\bullet$};
\fill (IX.center) circle [radius=2pt];
\end{tikzpicture}
\end{document}
我使用了\coordinate
而不是\node
,因为你只想存储点。点 IX 不在边缘:因此我首先定义这个,然后定义 VIII(但可能它不再是你想要的位置)。