使用 Asymptote 创建方形球体

使用 Asymptote 创建方形球体

我想使用 Asymptote 创建一个带有网格的球体。我已经能够创建一个带有水平线的球体,但我找不到如何制作垂直线。这是我目前的代码:

\documentclass[12pt]{article}
\usepackage{asymptote}

\begin{document}
\begin{figure}
\begin{asy}
//import three;
import solids;
unitsize(2.5inch);
//size(5inch);

settings.render=0;
settings.prc=false;

currentprojection=orthographic(3, 1, 1);
currentlight=nolight;

real RE=0.6, RS=0.7, inc=100, lat=45, lon=45, tlat=50, tlon=100;


revolution Earth=sphere(O, RE, n=4*nslice);
draw(surface(Earth), lightgrey+opacity(.4));
draw(Earth,m=10,gray);

\end{asy}
\end{figure}
\end{document}

如何添加垂直线?

答案1

我有一个解决方案。这个想法是,在绘制阴影表面时,您应该分别指定 Surfacepen 和 Meshpen,这样网格(即网格)就会被绘制为可见的。为了使输出合理,我还增加了表面的不透明度,这样更容易分辨哪些线在前面,哪些在后面。

不幸的是,如果您确实想要骨架所提供的虚线,那么此解决方案并不适用。

\documentclass[12pt]{article}
\usepackage{asymptote}

\begin{document}
\begin{figure}
\begin{asy}
//import three;
import solids;
unitsize(2.5inch);
//size(5inch);

settings.render=0;
settings.prc=false;

currentprojection=orthographic(3, 1, 1);
currentlight=nolight;

real RE=0.6, RS=0.7, inc=100, lat=45, lon=45, tlat=50, tlon=100;


revolution Earth=sphere(0, RE)                 //Removed the specification of n
//Added specification for mesh pen
draw(surface(Earth), surfacepen=lightgrey+opacity(.6), meshpen=0.6*white);
//The next line is no longer necessary.
//draw(Earth,m=10,gray);

\end{asy}
\end{figure}
\end{document}

输出: 在此处输入图片描述 [注:放大的尺寸是因为我使用 Apple Previewer 创建 png 文件时将分辨率提高了一倍,因为担心会出现颗粒感;这与 Asymptote 无关。]

相关内容