Text wird in einem Abstand von der Linie platziert, der den angegebenen Radius und Winkel aufweist

Text wird in einem Abstand von der Linie platziert, der den angegebenen Radius und Winkel aufweist

Angenommen, es geht von einer Linie von A nach B. Bei p% (bzw. p mm/cm) der Distanz von A nach B möchte ich, ausgehend von A, mit einem Radius r und einem Winkel y gegenüber der AB-Richtung „drehen“ (y=0 liegt in Richtung der Linie AB, 90=90 Grad links von der Richtung der Linie AB usw.) und dort einen Text platzieren.

Der folgende Befehl

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

Winkelt das „x“ um 10 Grad zur Horizontale um A herum (nicht bei 50 % Abstand) mit dem Radius von 50 % des Abstands zwischen A und B, aber ich hätte gern einen allgemeineren Befehl, mit dem ich den Radius und den Winkel relativ zur Linienrichtung bei p % des Linienabstands angeben kann, beginnend bei A. Ist das möglich? TIA! (Entschuldigung für die verwirrende Beschreibung/Frage!)

Antwort1

Dies ist das letzte Beispiel im Abschnitt13.5.4 Die Syntax der Distanzmodifikatoren des pgfmanual v 3.1.4tut. Durch die Verschachtelung der calcSyntax können Sie die dort verwendeten Anweisungen zu einer einzigen zusammenfassen.

\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}

Wenn Sie diese Dinge wiederholt verwenden möchten, kann es sinnvoll sein, einen Stil zu definieren, bei dem Bruch, Radius und Winkel in PGF-Schlüsseln gespeichert werden.

\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}

Bildbeschreibung hier eingeben

verwandte Informationen