TikZ 相对坐标系

TikZ 相对坐标系

当我使用以下命令时:

\draw (apex)+(1mm,0) -- node {$h$} (center)+(1mm,0);

其中(apex)(center)是适当预定义的,那么我有一个问题,虽然 可以很好地+(1mm, 0)应用于 ,但 不能(center)应用于(apex)。我该如何解决这个问题?

答案1

首先绘制线至(center),然后+(1mm,0)引起向右移动 1 毫米的操作。

TikZ 库calc有助于:

\usetikzlibrary{calc}

\draw (apex) +(1mm, 0) -- node {$h$} ($(center) + (1mm, 0)$);
% or
\draw ($(apex) + (1mm, 0)$) -- node {$h$} ($(center) + (1mm, 0)$);

也可以采用不使用库的解决方案calc,例如使用临时坐标:

\draw (center) +(1mm, 0) coordinate (tmp)
      (apex) +(1mm, 0) -- node {$h$} (tmp);

答案2

您可以使用shift坐标选项。

\draw ([shift={(1mm,0)}]apex) -- node {$h$} ([shift={(1mm,0)}]center);

或者

\draw ([xshift=1mm]apex) -- node {$h$} ([xshift=1mm]center);

相关内容