So drehen Sie die Position eines Knotens, aber nicht den darin enthaltenen Text

So drehen Sie die Position eines Knotens, aber nicht den darin enthaltenen Text

Ich habe eine Figur, die ich durch Drehen eines Elements erhalten möchte. Ich kann entweder

Bildbeschreibung hier eingeben
(Quelle:www.funkyimg.com )

durch den folgenden Code:

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{esvect}
\usepackage[usenames,svgnames]{xcolor}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
\draw (0,0) circle (1cm) node{HP};

\foreach \angle in {0,30,60,90,120,150,180,210,240,270,300,330} {\begin{scope}[rotate=\angle]
\draw[->] (0,1) .. controls +(0,1) and +(-1,-0.5) .. (1.5,3);
\draw[->, Aquamarine!50!black] (0,1)--(0,2.5)node[above,Aquamarine!50!black]{$\vv{v}$};
\draw[->, Orchid!50!black] (0,1.5)--(0.6,1.5)node[pos=0.5, above,Orchid!50!black]{$\vv{f_{ic}}$};
\end{scope} }
\end{tikzpicture}
\end{document}

Oder das :

Bildbeschreibung hier eingeben
(Quelle:www.funkyimg.com )

durch Hinzufügen des Befehls „Rotate“ in meinem Knoten:

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{esvect}
\usepackage[usenames,svgnames]{xcolor}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
\draw (0,0) circle (1cm) node{HP};

\foreach \angle in {0,30,60,90,120,150,180,210,240,270,300,330} {\begin{scope}[rotate=\angle]
\draw[->] (0,1) .. controls +(0,1) and +(-1,-0.5) .. (1.5,3);
\draw[->, Aquamarine!50!black] (0,1)--(0,2.5)node[above,Aquamarine!50!black,rotate=\angle]{$\vv{v}$};
\draw[->, Orchid!50!black] (0,1.5)--(0.6,1.5)node[pos=0.5, above,Orchid!50!black, rotate=\angle]{$\vv{f_{ic}}$};
\end{scope} }
\end{tikzpicture}
\end{document}

Ich hätte gern eine Mischung aus beidem, wobei die Knotenposition wie in meinem zweiten Beispiel gedreht ist, der Text darin aber immer noch horizontal ist wie in meinem ersten. Gibt es eine Möglichkeit, das zu tun?

Was ich möchte (in einer vereinfachten Einstellung), das gewünschte Ergebnis wäre in Rot:

Bildbeschreibung hier eingeben
(Quelle:www.funkyimg.com )

Antwort1

BEARBEITEN

Ich denke, dass Sie mit Polarkoordinaten besser dran sind. Ich bin schlecht im Umgang mit Steuerelementen, daher sind die Kurven nicht das, was Sie wollen, aber dies zeigt die Idee:

Bildbeschreibung hier eingeben

Hier ist der Code:

\documentclass[a4paper]{article}
\usepackage[usenames,svgnames]{xcolor}
\usepackage{amsmath}
\usepackage{esvect}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
  \draw (0,0) circle (1cm) node{HP};
  \foreach \angle in {0,30,...,330} {
    \draw[->] (\angle:1) .. controls (\angle:2.2) and (\angle-20:2.7) ..  (\angle-30:3);
    \draw[->, Aquamarine!50!black] (\angle:1)--(\angle:2.5);
    \node at (\angle:2.65) [Aquamarine!50!black]{$\vv{v}$};
    \draw[->, Orchid!50!black] (\angle:1.5)--(\angle-20:1.5);
    \node at (\angle-22:1.8)[Orchid!50!black]{$\scriptstyle\vv{f_{ic}}$};
   }
\end{tikzpicture}

\end{document}

Insbesondere werden die Beschriftungen mit Polarkoordinaten an den „richtigen“ Stellen platziert. Beachten Sie, dass dies tikzwirklich clever ist und Ihnen ermöglicht, beispielsweise (\angle-20:1)den Winkel in den Polarkoordinaten zu ändern. Die andere kleine Verbesserung Ihres Codes besteht darin, dass die \foreachSchleife alle Winkel interpolieren kann, {0,30,...,330}sodass Sie sie nicht alle eintippen müssen.

--Ursprünglicher Beitrag--

Es scheint zu funktionieren, wenn man es rotatein den Befehl einfügt \draw, anstatt indei :\node

Bildbeschreibung hier eingeben

Hier ist Ihr geändertes MWE:

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{esvect}
\usepackage[usenames,svgnames]{xcolor}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
  \draw (0,0) circle (1cm) node{HP};
  \foreach \angle in {0,30,60,90,120,150,180,210,240,270,300,330} {\begin{scope}[rotate=\angle]
    \draw[->] (0,1) .. controls +(0,1) and +(-1,-0.5) .. (1.5,3);
    \draw[->,rotate=\angle, Aquamarine!50!black] (0,1)--(0,2.5)node[above,Aquamarine!50!black]{$\vv{v}$};
    \draw[->, rotate=\angle, Orchid!50!black] (0,1.5)--(0.6,1.5)node[pos=0.5, above,Orchid!50!black]{$\vv{f_{ic}}$};
  \end{scope} }
\end{tikzpicture}

\end{document}

verwandte Informationen