文本放置在与线有一定距离、给定半径和角度的位置

文本放置在与线有一定距离、给定半径和角度的位置

假设有一条从 A 到 B 的线。在从 A 到 B 的距离的 p%(或 p 毫米/厘米)处,从 A 出发,我想使用半径 r 和相对于 AB 方向的角度 y“转动”(y=0 表示在线 AB 方向上,90=在线 AB 方向左侧 90 度,等等)并在那里放置文本。

以下命令

\node at ($(A)!0.5!10:(B)$){x};

将“x”与水平面成 10 度角,围绕 A(不是 50% 距离处),半径为 A 和 B 之间距离的 50%,但我喜欢使用更通用的命令,在其中我可以指定半径和角度,相对于从 A 开始的线距离 p% 处的线方向。这可能吗?TIA!(抱歉描述/问题令人困惑!)

答案1

这就是本节最后一个例子13.5.4 pgfmanual v 3.1.4 的距离修饰符语法确实如此。通过嵌套语法,calc您可以将那里使用的指令合并为一个。

\documentclass[tikz]{standalone} 
\usetikzlibrary{calc}  
\begin{document} 
\begin{tikzpicture} 
\coordinate (a) at (1,0); 
\coordinate (b) at (3,1); 
\draw (a) -- (b); \path ($ ($ (a)!.5!(b) $)!1cm!90:(b) $) node{x}; 
\end{tikzpicture} 
\end{document}

如果您想重复使用这些东西,定义一种将分数、半径和角度存储在 pgf 键中的样式可能是有意义的。

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[between/.style args={#1 and #2}{/tikz/insert path={%
 ($ ($ (#1)!\pgfkeysvalueof{/tikz/mf67/fraction}!(#2)
 $)!\pgfkeysvalueof{/tikz/mf67/radius}!\pgfkeysvalueof{/tikz/mf67/angle}:(#2) $)}},
 mf67/.cd,fraction/.initial=.5,radius/.initial=1cm,angle/.initial=90,
 ]
  \coordinate (A) at (1,0);
  \coordinate (B) at (3,1);
  \draw (A) -- (B);
  \path[between=A and B] node{x};
  \path[mf67/.cd,fraction=0.2,radius=1.5cm,angle=-30,/tikz/between=A and B] node{y};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容