渐近线不一致地绘制图形

渐近线不一致地绘制图形

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。

有人能解释这种行为吗?

答案1

当我运行您的 3 个版本的代码并在 Adob​​e Acrobat Reader 或 SumatraPDF 中查看它时,我看到了以下图像。我在 Asymptote 2.38 和 Ghostscript 9.19 中使用了您的所有渲染选项。我知道这并不能直接回答您的问题,但也许会有所帮助。

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

相关内容