![计算 TikZ 中坐标的高程](https://linux22.com/image/289068/%E8%AE%A1%E7%AE%97%20TikZ%20%E4%B8%AD%E5%9D%90%E6%A0%87%E7%9A%84%E9%AB%98%E7%A8%8B.png)
我正在为一个看似简单的问题绞尽脑汁。给定一个坐标,我想用它的分量进行一些计算。更具体地说,我想计算一个点的海拔。
考虑一下这个 M(not)WE:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (2,3);
\newdimen\x
\newdimen\y
\pgfextractx{\x}{\pgfpointanchor{A}{center}}
\pgfextracty{\y}{\pgfpointanchor{A}{center}}
\pgfmathparse{atan2(\y,\x)}
\node at (1,1) {\pgfmathresult};
\end{tikzpicture}
\end{document}
我的目标是从点 A 提取 x 和 y 分量,计算高程,并将其打印到节点中。我该如何实现?
答案1
您可以使用
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (2,3);
%
\newdimen\x
\newdimen\y
\pgfextractx{\x}{\pgfpointanchor{A}{center}}
\pgfextracty{\y}{\pgfpointanchor{A}{center}}
\node at (1,1) {\pgfmathparse{atan2(\y,\x)}\pgfmathresult};
\end{tikzpicture}
\end{document}
或者
\def\myresult{\pgfmathparse{atan2(\y,\x)}\pgfmathresult}
\node at (1,1) {\myresult};
或者
\pgfmathsetmacro\myresult{atan2(\y,\x)}
\node at (1,1) {\myresult};
答案2
let
有一个标准的方法可以这样做:
\begin{tikzpicture}
\coordinate (A) at (2,3);
\path let \p1=(A) in node{\x1};
\end{tikzpicture}
如果你想要以数字(或厘米)表示,你可以看到这个答案。