PGF 手册第 66 页介绍了部分路程计算。
在这个例子中($ (A)!.5!(B) $)
,.5 指的是 50% 对吧?距离点 A 有 50% 的点。在这种情况下,为什么我们需要在计算中加入点 B。我们总是可以使用第一个点进行相对定位。与包装进行比较xcolor
,这是不对的(例如orange!50!black
。在这里,颜色将是 50% 的橙色和 50% 的黑色。第二种颜色是强制性的。)这种比较是不对的,我想了解在计算中提供第二点的目的。
其次,D的计算也难以令人信服:
计算完 X 后,我们可以简单地说,将点 D 放置在 X 上方距离 6pts 的位置。它也应该等同于:
($ (X) ! {sin(60)*2} ! 90:(B) $)
正确的?
请澄清并帮助我理解这个棘手的概念。
答案1
为什么需要(B)
进行(X)
计算?
看看这段代码
\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
\draw (A) -- (B);
\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($(A)!.5!(B)$) {}; % (1)
\coordinate[label=above:$C$] (C) at (1,2);
\draw (A) -- (C);
\node [fill=red,inner sep=1pt,label=left:$Y$] (Y) at ($(A)!.5!(C)$) {}; % (2)
\end{tikzpicture}
\end{document}
如果(B)
是不必要的,则 (1) 和 (2) 必须具有相同的效果,即(X)
和(Y)
必须相同。事实上,它们并不相同。因此(B)
是必要的。
有关详细信息,代表标记的(B)
线段的终点。(X)
对于第二个代码
看这个
\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
\draw (A) -- (B);
\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($(A)!.5!(B)$) {};
\node [fill=red,inner sep=1pt,label=above:$D$] (D) at ($(X)!{sin(60)*2}!90:(B)$) {};
\coordinate[label=right:$C$] (C) at (1,-2);
\draw (A) -- (C);
\node [fill=red,inner sep=1pt,label=left:$Y$] (Y) at ($(A)!.5!(C)$) {};
\node [fill=red,inner sep=1pt,label=below:$E$] (E) at ($(Y)!{sin(60)*2}!90:(C)$) {};
\end{tikzpicture}
\end{document}
再次,原因与上述相同:(B)
必须是至关重要的,否则(D)
必须(E)
相同。
答案2
TikZ 手册教程的目的是介绍最有用的概念和library
开始使用 TikZ。并且不是给出构建图形的最佳方法。
第一个问题:那么,为什么我们在计算中需要B点呢?
因为在平面几何中,有无数个点与给定点的距离相同:这些点就是圆上的点。
例如,下图中,点 M 和 N 距离圆心 2 厘米。因此需要标出第二个点 B。
第二个问题:请澄清并帮助我理解这个棘手的概念
这篇文章说明了库的使用方法calc
。在这个例子中,他使用了几何关系等边三角形放置点 D。
就我个人而言,我会使用极坐标构建这个三角形,然后旋转。这里的目标不是让它尽可能简单,而是展示 TikZ 的主要概念和库。
\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw[rotate=10] (0,0)coordinate(A)--(2,0)coordinate(B)--(60:2)coordinate(D)--cycle;
\node[left] at (A){A};
\node[right] at (B){B};
\node [above] at (D) {D};
\end{tikzpicture}
\end{document}
使用 www.DeepL.com/Translator 翻译
答案3
在这个例子中,
($ (A)!.5!(B) $)
指.5
的是 50% 对吗?
正确。这只是另一种符号而已。
距离点 A 有 50% 距离的点。那么,为什么我们在计算中需要点 B 呢?
错了。如果你从 A 到 B 走一条路径,那么 50% 表示你只沿着这条路径(从 A 点开始)移动了 50%,保持了方向。或者更简单:取向量 (ba),将其缩放 0.5 并将其添加到 a。然后你就得到了新的坐标。
如果没有第二部分,方向将不明确。也就是说,你不知道应该向上、向侧面还是向下移动。反过来,你无法唯一地识别目的地,而这并不是你在画图时想要的。