점근선: "이음새" 없이 4개 이상의 정점이 있는 표면을 그리는 방법은 무엇입니까?

점근선: "이음새" 없이 4개 이상의 정점이 있는 표면을 그리는 방법은 무엇입니까?

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=0Okular, acroread, gv(이미지가 벡터화됨)와 "심"이 있습니다. evince, mupdf, zathura에는 "심"이 없습니다. evince와 zathura에 투명성 문제가 있습니다. mupdf는 괜찮습니다.

( 따라서 -noprcOpenGL 렌더가 사용되고 비트맵 이미지가 생성됨) "이음새"가 전혀 없습니다.

정확하게 말하면 모든 버전은 최신 Debian Sid입니다.

문서에서 설명했듯이 -render=0매우 제한적입니다.

관련 정보