使用 tikz 绘制球体的平行线

使用 tikz 绘制球体的平行线

如何正确绘制球体的平行线?赤道是可以的:

\documentclass{article}    
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[ball color=blue!20] (0,0) circle (1.5);
\draw [thick,dotted] plot [domain=0:pi] ({1.5*cos(\x r)},{0.2*sin(\x r)},0);
\draw [thick] plot [domain=pi:2*pi] ({1.5*cos(\x r)},{0.2*sin(\x r)},0);
\end{tikzpicture}
\end{document}

然而,其他的相似之处却很难实现。

答案1

这是实现此目的的一种方法:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[ball color=blue!20] (0,0) circle (1.5 cm);
\newcommand\latitude[1]{%
  \draw (#1:1.5) arc (0:-180:{1.5*cos(#1)} and {0.2*cos(#1)});
  \draw[dashed] (#1:1.5) arc (0:180:{1.5*cos(#1)} and {0.2*cos(#1)});
}
\latitude{30};
\latitude{0};
\latitude{-30};
\end{tikzpicture}
\end{document}  

纬度

可以通过设置半径(1.5 和 0.2)变量来改进。

答案2

您可以使用以下tikz-3dplot-circleofsphere这里

\documentclass[tikz,border=1mm, 12 pt]{standalone}
\usepackage{tikz-3dplot-circleofsphere}
\begin{document}
 \def\r{3}
\tdplotsetmaincoords{60}{125}
\begin{tikzpicture}[tdplot_main_coords]
\begin{scope}
\fill[ball color=blue!20,tdplot_screen_coords] (0,0,0) circle (\r);
\tdplotCsDrawLatCircle{\r}{0}
\end{scope}
\foreach  \a in {-75,-60,...,75}  
\tdplotCsDrawLatCircle[tdplotCsFront/.style={black}]{\r}{\a};
 \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容