Asymptote 根据注释掉的绘图命令不一致地绘制下图。
import graph3;
size(200,200,IgnoreAspect);
currentprojection=orthographic(7.2,-5.1,8);
defaultrender.merge=true;
// draw #1
draw((0,1,0)--(2,1,4)--(2,0,0)--cycle,rgb(.3,.3,.3)+linewidth(2));
path3 p1=(1,0,0)--(1,2,0)--(3,2,0)--(3,0,0);
// draw #2
draw(surface(p1 -- cycle), emissive(gray+opacity(.6)));
path3 p2=(0,1,0)--(2,1,4)--(2,0,0);
draw(surface(p2 -- cycle), emissive(gray+opacity(.6)));
path3 p3=(2,0,0)--(2,1,4)--(2,1,0);
draw(surface(p3 -- cycle), emissive(gray+opacity(.6)));
照原样,绘制了 3 个平面的一部分和空间中的一条封闭路径。平面以浅灰色绘制。
draw #2
如果注释掉之后的绘制命令,则剩下的两个平面现在将绘制为黑色。
draw #1
如果和之后的两个绘制命令都draw #2
被注释掉,则不会绘制任何内容。
当我使用默认的 Asymptote 查看器并创建 .pdf 时就会出现这种行为。
我的默认渲染选项:-tex "latex" -V -render=-1
。
我的 .pdf 渲染选项:-f pdf -render=-3 -noView -noprc -antialias 2 -tex "xelatex"
我正在使用 Asymptote 2.41 和 Ghostscript 9.21。
有人能解释这种行为吗?