0

I want to draw a top to show the Gyroscopic Effect in my techinical reports,just like the figure : the Image want to draw

the top can be simplified like a circular cone ...... Could any body give some tips for me ?Thx for your kind reply....


I followed the code in marot marmot but It shows the top of circle with the ratio =1: enter image description here

How can I fix the bug?

3
  • You have an old version of the 3d library on your machine. This bug has been fixed. If you do not want to update your TeX installation, see tex.stackexchange.com/a/48776/121799.
    – user121799
    Commented Apr 27, 2019 at 13:43
  • How can I get the 3d libraty updated to the version ?I browse the web but my texlive 2018 just get the wrong result....
    – Zhilai Liu
    Commented May 10, 2019 at 4:50
  • Which TeX installation are you using? Normally there is a package manager for this.
    – user121799
    Commented May 10, 2019 at 4:52

1 Answer 1

3

Welcome to TeX-SE! This may give you a start. (I am not very good at typing in stuff from a screen shot, so I let it be.)

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d}
\definecolor{myc}{RGB}{151, 186, 204}
\begin{document}

\tdplotsetmaincoords{70}{110}
\begin{tikzpicture}[tdplot_main_coords,>=stealth]
\draw[->] (0,0,0) coordinate (O) -- ++ (5,0,0) node[anchor=north east]{$x$};
\draw[->] (O) -- ++(0,5,0) node[anchor=north west]{$y$};
\draw[->] (O) -- ++(0,0,5) node[anchor=south]{$z$};
 \begin{scope}[canvas is xy plane at z=4.9]
  \draw[dashed] circle [radius=1.5cm];
  \draw[dashed] (0,0) -- (60:1.5);
  \pgflowlevelsynccm
  \draw[very thick,orange,->] (0,0) -- (40:1.5);
  \draw[very thick,orange,->] (40:1.5) arc (40:60:1.5);
 \end{scope}

 \tdplotsetrotatedcoords{40}{15}{0}
 \begin{scope}[tdplot_rotated_coords]
  \pgfmathsetmacro{\R}{2}
%   \draw[->,dashed]  (O) -- ++ (5,0,0) node[anchor=north east]{$x'$};
%   \draw[->,dashed]  (O) -- ++(0,5,0) node[anchor=north west]{$y'$};
%   \draw[->,dashed]  (O) -- ++(0,0,5) node[anchor=south]{$z'$};
  \draw[very thick,orange] (O) -- (0,0,3);
  \draw[left color=myc,right color=myc,middle color=myc!60,fill opacity=0.5] 
  plot[variable=\x,domain=-110:70,smooth]
  ({\R*cos(\x)},{\R*sin(\x)},{3}) to[out=-80,in=75] (O)
  to[out=95,in=-100] cycle;
  \begin{scope}[canvas is xy plane at z=3]
  \draw[fill=myc,fill opacity=0.5] circle [radius=\R*1cm];
  \pgflowlevelsynccm
  \draw[very thick,green!70!black,->] (-180:\R/2) arc (-180:100:\R/2);
 \end{scope}

  \draw[very thick,orange,->] (0,0,3) -- (0,0,5);
 \end{scope}
\end{tikzpicture}
\end{document}

enter image description here

2
  • it's so greatful to your code....
    – Zhilai Liu
    Commented Apr 27, 2019 at 7:46
  • I follow the code from marmot but It shows the top of circle with the ratio =1:
    – Zhilai Liu
    Commented Apr 27, 2019 at 10:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .