tikz 中如果沒有 foreach 語句,\x 如何運作?

tikz 中如果沒有 foreach 語句,\x 如何運作?

我已經完成了 tikz 文件中的第二個教程,並向我介紹了在 foreach 語句中使用 \x 來迭代一些過程。但是,我剛剛發現 \x 可以在沒有 foreach 語句的情況下出現。我改編了一些程式碼另一個線程主要簡化它並最終得到以下結果;

\documentclass[tikz,border=10]{standalone}

\begin{document}

\begin{tikzpicture}[scale=3,very thick]
\draw[samples=500] plot (canvas polar
cs:angle=\x r,radius={50-10*sin(10*\x r)}); %50 and 10 in 50 - 10 ... control the sharpness of each curve, 10 in sin(x) controls number of curves
\end{tikzpicture}

\end{document}

產生這個影像:

在此輸入影像描述

但是,我不明白 \x 在此程式碼中做什麼,因為沒有像 \foreach ... in {1,...,5) 語句那樣確定 \x 可以採用的值的範圍。那麼 \x 如何有助於產生這條波浪線以及它在這樣的語句中一般如何運作?還有,為什麼後面要加個r呢? r 是否代表與 \x 所取值相乘的數字?

答案1

非常有趣的例子!我不僅僅是想向您扔數百頁的手冊,而是pgf手冊 資訊非常豐富。
在那裡你會發現:

繪製函數
當您繪製函數時,可以透過計算數學表達式來計算繪圖資料的座標。由於 pgf 隨附數學引擎,您可以指定此表達式,然後讓 TikZ 自動為您產生所需的座標。由於這種情況在繪製函數時很常見,因此語法很簡單:在繪圖命令及其本地選項之後,您可以直接提供一個(座標表達式)。它看起來像一個普通的座標,但在內部你可以使用一個特殊的宏,這是\x預設的,但可以使用變數選項來更改。這(座標表達式)然後評估 的不同值\x並繪製結果座標。

[...]

/tikz/domain=<start>:<end>(無預設值,最初為-5:5)
設定從中取得樣本的域

數學表達式的語法:運算符
Xr:將 x 轉換為角度(假設 x 為弧度)。
*180/3.14(所以基本上與我的評論相同)


基本上,此程式碼片段從 -5:5 的範圍內抽取 500 個樣本,並將這些值作為以弧度表示的極座標角度。然後它計算每個樣本的半徑50-10*sin(10*<angle converted to degrees>)。透過這些點,它畫了一條線。

相關內容