漸近線が間違って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 漸近線の例しかし、私はいつも重複を間違えていました。

Asymptote バージョン 2.67 と Ghostscript 9.19 をすべて Ubuntu 18 にインストールしました。

何か見落としている点がございましたら、お知らせください。よろしくお願いします。

答え1

ソリッド3Dレンダリングにはラスター出力を使用します。たとえば、コマンド

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

我々は持っています

ここに画像の説明を入力してください

3d-overlap.asy質問のコードに以下がsize追加された部分が含まれます:

size(9cm);

関連情報