漸近線錯誤的 3D 重疊

漸近線錯誤的 3D 重疊

我剛剛安裝了 Asymptote 來用 LaTeX 製作帶有註釋的 3D 模型。

我的模型由多個 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 中安裝了 Asymptote 版本 2.67 和 Ghostscript 9.19。

你能看到我缺少的東西嗎?提前致謝。

答案1

對於實體 3D 渲染,請使用光柵輸出。例如,使用命令

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

我們有

在此輸入影像描述

其中3d-overlap.asy包含問題中新增的程式碼size

size(9cm);

相關內容