
В 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
возможности весьма ограничены.