渐近线:如何绘制具有四个以上顶点且没有“接缝”的曲面?

渐近线:如何绘制具有四个以上顶点且没有“接缝”的曲面?

在 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非常有限。

相关内容