
Ich versuche, mit Tikz ein ähnliches Bild zu erstellen
und ich habe diesen Code geschrieben, teilweise basierend auf dem Codedieser Threadals
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\newcommand{\xangle}{7}
\newcommand{\yangle}{137.5}
\newcommand{\zangle}{90}
\newcommand{\xlength}{1}
\newcommand{\ylength}{0.5}
\newcommand{\zlength}{1}
\pgfmathsetmacro{\xx}{\xlength*cos(\xangle)}
\pgfmathsetmacro{\xy}{\xlength*sin(\xangle)}
\pgfmathsetmacro{\yx}{\ylength*cos(\yangle)}
\pgfmathsetmacro{\yy}{\ylength*sin(\yangle)}
\pgfmathsetmacro{\zx}{\zlength*cos(\zangle)}
\pgfmathsetmacro{\zy}{\zlength*sin(\zangle)}
\begin{tikzpicture}
[ x={(\xx cm,\xy cm)},
y={(\yx cm,\yy cm)},
z={(\zx cm,\zy cm)},
]
\draw[dashed] (0,0,0) circle (4.5);
\draw[blue!80!black,->] (240:4.5) -- (240:5.5);
\node[blue!80!black] at (240:5.8) {y};
\draw[green!80!black,->] (240:4.5) -- ++(0,0,1);
\node[green!80!black] at ($(240:4.5)+(0,0,1.2)$) {z};
\draw[red!80!black,->] (240:4.5) -- ++ (240+90:1);
\node[red!80!black] at ($(240:4.5)+(240+90:1.3)$) {x};
\fill[black!50!gray,draw=black!50!black] (240:4.5) circle (0.05cm);
\foreach \d in {0,60,120,180,240,300}
{
\draw[thick, black,->] (\d:4.5) -- ++(1,1,1);
}
\end{tikzpicture}
\end{document}
Aber ich erhalte alle Vektoren, die in die gleiche Richtung zeigen. Wie kann ich sie so anpassen, dass sie der ersten Abbildung ähneln? Und wie kann ich die Winkel \alpha und \beta wie in der ersten Abbildung hinzufügen?
Antwort1
Sie können tikz-3dplot
hier verwenden. Es ermöglicht Ihnen, zu gedrehten Koordinaten zu wechseln. Meiner Meinung nach möchten Sie wirklich einengedrehtVektor, wie in Ihrem Screenshot. Der parallele Transport der Tangente wäre viel einfacher, Sie müssen nur die xy-Ebene verwenden. (Bitte lassen Sie mich wissen, ob Sie das möchten.)
alpha
In den „Funktionen“ und sind die Drehwinkel des parallel zu transportierenden Vektors hinterlegt beta
. Sie können, ebenso wie die Blickwinkel, beliebig angepasst werden.
\documentclass[tikz,border=3mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{70}{00}%<- set view angles
\begin{tikzpicture}[>=stealth,line cap=round,
tdplot_main_coords,%<- install 3d view
declare function={R=4;alpha=-40;beta=-50;}%<- radius of the circle and angles
]
\begin{scope}[canvas is xy plane at z=0]
\draw[semithick] (0,0) circle[radius=R];
\draw[thick,->,blue] (-1.5,-R) -- ++ (3,0) node[right]{$t$};
\draw (1,-R) arc[start angle=0,end angle=alpha,radius=1];
\path foreach \X in {0,...,5}
{(-90+\X*60:R) coordinate (p\X)}; % points along the circle
\end{scope}
% rotated plane at p0
\tdplotsetrotatedcoords{alpha}{0}{0}
\begin{scope}[tdplot_rotated_coords,canvas is xz plane at y=0,shift={(p0)}]
\draw (0,0) rectangle ++ ((90+beta:{1/abs(cos(alpha))}) (1,0) node[right]{$\alpha$};
\draw[thick,->,red] (-90+beta:{1/abs(cos(alpha))})
-- ++ (90+beta:{2/abs(cos(alpha))});
\draw[->] (0,-1) -- (0,1) node[above]{$z$};
\draw (0,0.5) arc[start angle=90,end angle=90+beta,radius=0.5]
node[midway,above right] {$\beta$};
\end{scope}
% other planes
\foreach \X in {1,...,5}
{\tdplotsetrotatedcoords{alpha}{0}{\X*60}
\begin{scope}[tdplot_rotated_coords,canvas is xz plane at y=0,shift={(p\X)}]
\draw[thick,->,red] (-90+beta:{1/abs(cos(alpha))})
-- ++ (90+beta:{2/abs(cos(alpha))});
\end{scope}}
\end{tikzpicture}
\end{document}