
我已經看到我們可以使用\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}
這給了
人們可以進一步將其包裝成一個更實用的宏,但現在它本身並不那麼冗長。此外,您可以對另一個點執行相同的操作,我的意思是它不需要是測量角度和長度的原點。