
He visto que podemos usar \x1
y \y1
acceder a las coordenadas cartesianas del registro de puntos \p1
declarado en let
.
¿Hay alguna manera de acceder a las coordenadas polares (algo así como \a1
para el ángulo y \r1
la distancia) del punto \p1
?
Si no, ¿cuál es la mejor manera de hacer algo como esto?
\draw let \p1=(35:1cm) in (\a1+30,\r1) -- (\a1-30,2*\r1);
Respuesta1
No sé si hay un registro directo para eso (y a mí también me encantaría saberlo) pero puedes acceder a esa información con un poco más de trabajo:
\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}
Esto da
Se puede resumir esto en una macro más pragmática, pero ahora no es tan detallado por sí solo. Además, puedes hacer lo mismo con respecto a otro punto, es decir, no es necesario que sea el origen desde donde se miden el ángulo y la longitud.