在 Asymptote 3D 中,我需要绘制具有 4 个以上顶点的曲面,但是当我这样做时,要么根本不起作用(我无法在简单的示例中重现这种情况,但如果有帮助,可以提供一个更复杂的情况)或者出现接缝,如下例所示:
settings.prc = false;
defaultpen(fontsize(10pt));
import three;
import graph3;
import patterns;
size(11cm,0);
currentprojection=perspective((10,-20,10));
currentlight = (3,-2,3);
render render = render(compression=Low, merge = true);
draw(surface((0,0,0) -- (1,0,0) -- (1,1,0) -- (0.5,1.5,0) -- (0,1,0) -- cycle), lightblue+opacity(0.5), render);
运行此命令
asy -noprc -render 0 -f pdf example.asy
给出以下图像:
有没有什么办法可以去除深蓝色的“接缝”?
答案1
似乎“接缝行为”取决于 pdf 查看器和-render
选项。“接缝”问题出现在透明度和选项中-render=0
:取决于 pdf 查看器,两个块的公共边界的叠加会产生这种行为。
使用-noprc
和 时-render=0
,Okular、acroread、gv(图像矢量化)之间有“接缝”。evince、mupdf、zathura 之间没有“接缝”。evince 和 zathura 存在透明度问题。mupdf 没问题。
使用-noprc
(因此使用 OpenGL 渲染并生成位图图像)根本没有“接缝”。
确切地说,所有版本都是最新的 Debian Sid。
正如文档中解释的那样,-render=0
非常有限。