旋转矢量 Tikzpicture

旋转矢量 Tikzpicture

我正在尝试重新创建这张图片,但不知道该从哪里下手。到目前为止,我有以下图片。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,calc}


\begin{document}

\begin{tikzpicture}
        \draw[->] (0,0)--(2,0) node[right]{$y$};
        \draw[->] (0,0)--(-0.75,-1) node[below]{$x$};
        \draw[very thick,->] (0,0)--(0,2) node[above]{L};
        \draw[thick,->] (0,0)--(1.5,-1.0);
\end{tikzpicture}

\end{document}

图像是

在此处输入图片描述

**作为参考,下面的编码给我类似以下内容的内容: 在此处输入图片描述

答案1

您可以用tikz-3dplot它来实现这一点。

\documentclass[tikz,border=3mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
\tdplotsetmaincoords{70}{110}
\begin{tikzpicture}[tdplot_main_coords,line cap=round,>=stealth,scale=0.75]
 \begin{scope}[canvas is xy plane at z=0] 
  \foreach \X in {1,...,5}
   {\draw[dotted] circle[radius=\X*1cm];}
  \draw[thick] circle[radius=6cm];
  \draw[-{Latex[bend]},thick] (90:6) arc[start angle=90,end angle=180,radius=6cm];
  \draw[-{Latex[bend]},thick] (270:6) arc[start angle=270,end angle=360,radius=6cm];
  \path (45:6) node[circle,fill,inner sep=1.5pt,label=below:$m$] (m){};
  \draw[-Latex,thick] (0,0) -- (m);
  \draw[-Latex,thick]  (m) -- ++ (135:6) node[near end,below]{$v$};
 \end{scope}
 \draw[->] (0,0,0) coordinate (O) -- (4,0,0) node[pos=1.1] {$x$};
 \draw[->] (O) -- (0,4,0) node[pos=1.1] {$y$};
 \draw[-Latex,thick] (O) -- (0,0,4) node[pos=1.1] {$L$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

您可以倾斜圆的平面,例如使用这个答案

\documentclass[tikz,border=3mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{arrows.meta,bending}

\makeatletter
%from https://tex.stackexchange.com/a/375604/121799
%along x axis
\define@key{x sphericalkeys}{radius}{\def\myradius{#1}}
\define@key{x sphericalkeys}{theta}{\def\mytheta{#1}}
\define@key{x sphericalkeys}{phi}{\def\myphi{#1}}
\tikzdeclarecoordinatesystem{x spherical}{% %%%rotation around x
    \setkeys{x sphericalkeys}{#1}%
    \pgfpointxyz{\myradius*cos(\mytheta)}{\myradius*sin(\mytheta)*cos(\myphi)}{\myradius*sin(\mytheta)*sin(\myphi)}}

%along y axis
\define@key{y sphericalkeys}{radius}{\def\myradius{#1}}
\define@key{y sphericalkeys}{theta}{\def\mytheta{#1}}
\define@key{y sphericalkeys}{phi}{\def\myphi{#1}}
\tikzdeclarecoordinatesystem{y spherical}{% %%%rotation around x
    \setkeys{y sphericalkeys}{#1}%
    \pgfpointxyz{\myradius*sin(\mytheta)*cos(\myphi)}{\myradius*cos(\mytheta)}{\myradius*sin(\mytheta)*sin(\myphi)}}

%along z axis
\define@key{z sphericalkeys}{radius}{\def\myradius{#1}}
\define@key{z sphericalkeys}{theta}{\def\mytheta{#1}}
\define@key{z sphericalkeys}{phi}{\def\myphi{#1}}
\tikzdeclarecoordinatesystem{z spherical}{% %%%rotation around x
    \setkeys{z sphericalkeys}{#1}%
    \pgfpointxyz{\myradius*sin(\mytheta)*cos(\myphi)}{\myradius*sin(\mytheta)*sin(\myphi)}{\myradius*cos(\mytheta)}}


\makeatother

% definitions to make your life easier
\tikzset{rotate axes about y axis/.code={
\path (y spherical cs:radius=1,theta=90,phi=0+#1) coordinate(xpp)
(y spherical cs:radius=1,theta=00,phi=90+#1) coordinate(ypp) 
(y spherical cs:radius=1,theta=90,phi=90+#1) coordinate(zpp);
},rotate axes about x axis/.code={
\path (x spherical cs:radius=1,theta=00,phi=90+#1) coordinate(xpp)
(x spherical cs:radius=1,theta=90,phi=00+#1) coordinate(ypp) 
(x spherical cs:radius=1,theta=90,phi=90+#1) coordinate(zpp);
},
pitch/.style={rotate axes about y axis=#1,x={(xpp)},y={(ypp)},z={(zpp)}},
roll/.style={rotate axes about x axis=#1,x={(xpp)},y={(ypp)},z={(zpp)}}
}

\begin{document}
\tdplotsetmaincoords{70}{110}
\begin{tikzpicture}[tdplot_main_coords,line cap=round,>=stealth,scale=0.75]
 \begin{scope}[roll=10,canvas is xy plane at z=0] 
  \foreach \X in {1,...,5}
   {\draw[dotted] circle[radius=\X*1cm];}
  \draw[thick] circle[radius=6cm];
  \draw[-{Latex[bend]},thick] (90:6) arc[start angle=90,end angle=180,radius=6cm];
  \draw[-{Latex[bend]},thick] (270:6) arc[start angle=270,end angle=360,radius=6cm];
  \path (45:6) node[circle,fill,inner sep=1.5pt,label=below:$m$] (m){};
  \draw[-Latex,thick] (0,0) -- (m);
  \draw[-Latex,thick]  (m) -- ++ (135:6) node[near end,below]{$v$};
  \draw[->] (0,0,0) coordinate (O) -- (4,0) node[pos=1.1] {$x$};
  \draw[->] (O) -- (0,4) node[pos=1.1] {$y$};
 \end{scope} 
 \draw[-Latex,thick] (O) -- (0,0,4) node[pos=1.1] {$L$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

但我不确定这在物理上是否有意义。

相关内容