let コマンドに極座標レジスタはありますか?

let コマンドに極座標レジスタはありますか?

\x1と を使用して、で宣言された\y1ポイント レジスタの直交座標にアクセスできることがわかりました。\p1let

点の極座標(\a1角度や\r1距離など)にアクセスする方法はありますか\p1

そうでない場合、次のようなことを行う最善の方法は何ですか?

\draw let \p1=(35:1cm) in (\a1+30,\r1) -- (\a1-30,2*\r1);

答え1

そのための直接的なレジスターがあるかどうかはわかりません (私も知りたいです) が、もう少し作業すればその情報にアクセスできます。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw[style=help lines] (0,0) grid[step=1cm] (3,2);
\draw[red,ultra thick] (0,0) -- (35:3cm);
\draw let \p1=(35:3cm), \n1 = {veclen(\x1,\y1)},\n2 = {atan2(\x1,\y1)} in (0,0) -- (\n2:\n1);
\draw let \p1=(35:1cm), \n1 = {veclen(\x1,\y1)},\n2 = {atan2(\x1,\y1)} in (0,0) -- (\n2+30:2*\n1);
\end{tikzpicture}
\end{document}

これは与える

ここに画像の説明を入力してください

これをさらに実用的なマクロにラップすることもできますが、今のところそれ自体はそれほど冗長ではありません。さらに、別のポイントに関しても同じことを行うことができます。つまり、角度と長さを測定する原点である必要はありません。

関連情報