TikZ 中 Partway 的計算邏輯

TikZ 中 Partway 的計算邏輯

PGF 手冊第 10 頁66 描述了關於中途計算

在此輸入影像描述

在這個例子中($ (A)!.5!(B) $),.5 指的是 50%,對吧?距離A點50%的點。我們總是可以使用第一個點進行相對定位。與包裝進行比較xcolor,這是不正確的(例如orange!50!black,這裡的顏色是 50% 橙色和 50% 黑色。第二種顏色是強制性的。)這種比較是不正確的,我想了解其目的提供計算中的第二點。

其次,D的計算也沒有說服力:

在此輸入影像描述

計算完 X 後,我們可以簡單地說,將點 D 放置在 X 上方 6 點的距離。它也應該等同於:

($ (X) ! {sin(60)*2} ! 90:(B) $)正確的?

請澄清並幫助我理解這個棘手的概念。

答案1

為什麼我們需要(B)at(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%的點。

錯誤的。如果您採用從 A 到 B 的路徑,則 50% 表示您沿著該路徑(從 A 點開始)僅移動 50%,保持方向不變。或者更簡單:取得向量 (ba),將其縮放 0.5,然後將其加到 a。然後你就有了新的座標。

如果沒有第二部分,方向將是不確定的。也就是說,你不知道應該向上、向側或向下移動。反過來,您無法唯一地標識目的地,這不是您在繪畫時想要的。

相關內容