我找到了一个代码示例http://www.texample.net/tikz/examples/inertial-navigation-system/
我所看到的定位是:
\node (naveq) [naveqs] {Navigation equations};
\path (naveq.140)+(-\blockdist,0) node (gyros) [sensor] {Gyros};
“name.value”语法是什么意思?我看到它位于左侧。如果我更改为:
\path (naveq.1cm)+(-\blockdist,0) node (gyros) [sensor] {Gyros};
它位于顶部。
两项测量可以同时进行吗?测量单位是否也可以用于水平位置?
答案1
在 这样的坐标中(<nodename>.<value>)
,<value>
表示节点的锚点。它可以是罗盘方向(north
、north east
等east
)或数字,对应于角度(以度为单位)。也就是说,foo.0
与 相同foo.east
,即名为 的节点的右侧foo
,与 foo.90
相同foo.north
,即 的顶部foo
。
因此,
\path (naveq.140)+(-\blockdist,0) node ...
意思是从节点西北方向的点开始naveq
,然后\blockdist
向左移动,并将节点放在这里。
但是,当您执行 时naveq.1cm
, 会1cm
转换为pt
(TikZ 的基本单位),并且点值将用于角度。由于 1cm 约为 28.45pt,naveq.1cm
因此与 相同naveq.28.45
,如下例所示:
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[circle,minimum size=3cm,draw,name=a] {};
\fill [red] (a.1cm) circle[radius=5pt];
\fill [blue] (a.28.45) circle[radius=3pt];
\end{tikzpicture}
\end{document}
输出为:
如您所见,红点和蓝点都位于同一位置。