점근선 잘못된 3D 중첩

점근선 잘못된 3D 중첩

방금 LaTeX에서 주석이 포함된 3D 모델을 만들기 위해 Asymptote를 설치했습니다.

내 모델은 여러 개의 3D 개체로 구성되어 있으며 잘 겹치지 않으며 스크립트에 있는 것과 동일한 순서로 그려지는 것 같습니다.

내 코드는 다음과 같습니다.

import graph3;
import solids;
import three;

currentlight=White;

render render=render(compression=0,merge=true);

//body
revolution sph=sphere((0,0,0.0),1.0);
draw(surface(sph),green+white+opacity(1.0), render);

//arms
revolution armY=cylinder(O,0.25,5.0,Y);
draw(surface(armY),green+white+opacity(1.0), render);
draw(surface(shift(0,-5,0)*armY),green+white+opacity(1.0), render);

revolution armX=cylinder(O,0.25,5.0,X);
draw(surface(armX),green+white+opacity(1.0), render);
draw(surface(shift(-5,0,0)*armX),green+white+opacity(1.0), render);

//motors
revolution motor=cylinder(O,0.25,0.6,Z);

draw(surface(shift(0,5,-0.25)*motor),green+white+opacity(0.05), render);
draw(surface(shift(5,0,-0.25)*motor),green+white+opacity(0.05), render);
draw(surface(shift(0,-5,-0.25)*motor),green+white+opacity(0.05), render);
draw(surface(shift(-5,0,-0.25)*motor),green+white+opacity(0.05), render);

그리고 이것은 내 결과입니다 잘못 겹쳐진 출력 이미지

내 생각엔 문제가 있는 것 같아

render render=render(compression=0,merge=true);

또한 Asymptote 페이지에서 예제를 실행해 보았습니다.Asymptote 사이트의 3D 예그리고 이 질문에 대한 답변 코드StackExchange의 3D 점근선 예하지만 나는 항상 겹쳐서 틀렸어요.

Ubuntu 18에 Ghostscript 9.19와 함께 Asymptote 버전 2.67을 설치했습니다.

내가 놓친 것이 무엇인지 볼 수 있습니까? 미리 감사드립니다.

답변1

견고한 3D 렌더링을 위해서는 래스터 출력을 사용하십시오. 예를 들어 명령을 사용하면

asy -f png -noprc -render=4  3d-overlap.asy

우리는

여기에 이미지 설명을 입력하세요

여기에 다음이 추가된 3d-overlap.asy질문의 코드가 포함되어 있습니다 size.

size(9cm);

관련 정보