tikz-3D を使用した 3D 直交空間と、仰角を示す測定円弧の配置

tikz-3D を使用した 3D 直交空間と、仰角を示す測定円弧の配置

現在、以下のコードを持っています

\tdplotsetmaincoords{60}{45}
\begin{tikzpicture}[tdplot_main_coords]

    \coordinate (0) at (0,0,0);
    \tdplotsetcoord{P}{3}{45}{45} 


    \draw[thick, ->] (0,0,0) -- (3,0,0) node[anchor=north east]{$x$ (front)};
    \draw[thick, ->] (0,0,0) -- (0,3,0) node[anchor=north west]{$y$ (left)};
    \draw[thick, ->] (0,0,0) -- (0,0,3) node[anchor=south]{$z$ (up)};


    \draw[-stealth, color=red](0) -- (P) node[anchor=west]{$r$};
    \draw[dashed, color=red] (0) -- (Pxy);
    \draw[dashed, color=red] (Pxy) -- (P);

    
    \tdplotsetcoord{Pxy}{3}{\tdplotresphi}{0}
    \tdplotgetpolarcoords{1.5}{1.5}{2.12}
    \tdplotsetthetaplanecoords{\tdplotresphi}


    \tdplotdrawarc{(0)}{1.5}{0}{\tdplotresphi}{anchor=west}{$\theta$}
    \tdplotdrawarc[dashed]{(0)}{1.5}{\tdplotresphi}{90}{anchor=west}{$\phi$}

\end{tikzpicture}

これを変更して、ラベルの付いた角度\phiが現在の原点 Pxy からベクトルまで測定されr、仰角が示されるようにします。つまり、Pxy から Z 軸に向かって測定および配置される必要があります。

ここに画像の説明を入力してください

答え1

マニュアルの 27 ページによると、回転した平面に切り替える必要があります。

\documentclass[tikz,border=2mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{60}{45}
\begin{tikzpicture}[tdplot_main_coords]

    \coordinate (0) at (0,0,0);
    \tdplotsetcoord{P}{3}{45}{45} 


    \draw[thick, ->] (0,0,0) -- (3,0,0) node[anchor=north east]{$x$ (front)};
    \draw[thick, ->] (0,0,0) -- (0,3,0) node[anchor=north west]{$y$ (left)};
    \draw[thick, ->] (0,0,0) -- (0,0,3) node[anchor=south]{$z$ (up)};


    \draw[-stealth, color=red](0) -- (P) node[anchor=west]{$r$};
    \draw[dashed, color=red] (0) -- (Pxy);
    \draw[dashed, color=red] (Pxy) -- (P);
    
    \tdplotgetpolarcoords{1.5}{1.5}{2.12}
    \tdplotsetcoord{Pxy}{3}{\tdplotresphi}{0}
    \tdplotsetthetaplanecoords{\tdplotresphi}


    \tdplotdrawarc{(0)}{1.5}{0}{\tdplotresphi}{anchor=west}{$\theta$}
    %\tdplotdrawarc[dashed]{(0)}{1.5}{\tdplotresphi}{90}{anchor=west}{$\phi$}
    
    \tdplotsetthetaplanecoords{\tdplotresphi}
    \tdplotdrawarc[tdplot_rotated_coords,dashed]{(0,0,0)}{1.5}{90}%
        {\tdplotresphi}{anchor=west}{$\phi$}


\end{tikzpicture}    
\end{document}

ここに画像の説明を入力してください

関連情報