
\x1
と を使用して、で宣言された\y1
ポイント レジスタの直交座標にアクセスできることがわかりました。\p1
let
点の極座標(\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}
これは与える
これをさらに実用的なマクロにラップすることもできますが、今のところそれ自体はそれほど冗長ではありません。さらに、別のポイントに関しても同じことを行うことができます。つまり、角度と長さを測定する原点である必要はありません。