tikz で foreach ステートメントなしで \x はどのように機能しますか?

tikz で foreach ステートメントなしで \x はどのように機能しますか?

tikzのドキュメントの2番目のチュートリアルを読み、いくつかのプロセスを反復するために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)
サンプルを取得するドメインを設定します

数式の構文: 演算子
バツr: x を度に変換します (x はラジアンであると想定されます)。
*180/3.14(基本的に私のコメントと同じです)


つまり、基本的にこのコード スニペットは -5:5 の範囲から 500 個のサンプルを抽出し、これらの値をラジアン単位の極座標角度として取得します。次に、50-10*sin(10*<angle converted to degrees>)各サンプルの半径を計算します。これらのポイントを通る線を描画します。

関連情報