
Ich habe gesehen, dass wir \x1
und verwenden können, um auf die kartesischen Koordinaten des in deklarierten \y1
Punktregisters zuzugreifen .\p1
let
Gibt es eine Möglichkeit, auf die Polarkoordinaten (etwa \a1
für den Winkel und \r1
die Entfernung) des Punkts zuzugreifen \p1
?
Wenn nicht, was ist der beste Weg, so etwas zu tun:
\draw let \p1=(35:1cm) in (\a1+30,\r1) -- (\a1-30,2*\r1);
Antwort1
Ich weiß nicht, ob es dafür ein direktes Register gibt (und würde es auch gerne wissen), aber mit etwas mehr Arbeit können Sie auf diese Informationen zugreifen:
\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}
Das gibt
Man kann dies weiter in ein pragmatischeres Makro verpacken, aber es ist jetzt an sich nicht so ausführlich. Darüber hinaus können Sie dasselbe in Bezug auf einen anderen Punkt tun. Ich meine, es muss nicht der Ursprung sein, von dem aus der Winkel und die Länge gemessen werden.