Tikz - 如何确定填充中的坐标

Tikz - 如何确定填充中的坐标

如何在 LaTeX 中创建蜡烛符号

我之前问过一个关于制作蜡烛的问题,得到了很棒的答案。对于 todd 的回答,我还有一个问题,可以帮助理解这些问题的基础知识。在答案中\fill[color=#2] (0,0) .. controls (-1.5,1.25) and (.5,2) .. (-.2,4) .. controls (1,2.5) and (1,.5) .. (0,0);

如何找到坐标,这不能是纯粹的碰运气,背后一定有某种原因。学会钓鱼比问鱼好 :),所以让我们向 TeX Gurus 学习吧。非常感谢你们的帮助。

答案1

当我们的专家忙于提供广泛的答案时,我们可以快速给出一些建议:

计算这些曲线的过程很复杂,我认为我无法给出一个适合此处的答案(尽管我的工作经常涉及此类插值)。不过,我想引用手册中的一段话(第 25 页),它几乎给出了基本思路。

为此,TikZ 提供了一种特殊的语法。需要一个或两个控制点。它们背后的数学并不简单,但基本思想如下:假设你处于点 X第一个控制点是。然后曲线将开始朝着X即曲线的正切X将指向。接下来,假设曲线应该结束于第二个支撑点是。那么曲线确实会结束于以及点处的曲线切线将会通过

在我们这个特别而漂亮的例子中,我尝试用点和箭头来显示位置和切线,以说明选择。您也可以使用选项show curve control(PGF 手册 v2.10 p.327),正如 Jake 对此答案的评论。但为了节省空间,我在下面手动执行了此操作。

\begin{tikzpicture}
\draw[style=help lines] (-2,0) grid[step=1cm] (2,4);
\fill[color=red] (0,0) .. controls (-1.5,1.25) and (.5,2) .. (-.2,4) .. controls (1,2.5) and (1,.5) .. (0,0);
\foreach[count=\xi] \x in {(-1.5,1.25),(0.5,2),(-0.2,4),(1,2.5),(1,0.5)}{
\node[draw,circle,fill=yellow,inner sep=1pt] (p\xi) at \x {};
}
\draw[thick,blue] (0,0) -- (p1) (p3) -- (p2);
\draw (p3) -- (p4) (p5) -- (0,0);
\end{tikzpicture}

从切点可以看出,曲线开始时指向第一个控制点,当它完成第一个(左)段时,曲线到达终点时,切线指向第二个控制点。显然,右段(用黑线绘制)也是如此。

剩下的细节是控制点距离的大小,粗略地说,它定义了控制点的重点。要看到这一点,请将控制点放在更远的地方,但在同一方向上,并检查这会如何影响所花费的时间朝那个方向。我添加了一个这样的示例来显示左侧段的第一个控制点的差异。

在此处输入图片描述在此处输入图片描述

相关内容