如果我畫一個 Arrow3,它看起來不像 3D 風格,因為線條不像圓柱體那樣有陰影。我該如何改變這件事?可能手動將圓柱體和箭頭繪製在一起?如何?
這是一個 MWE,顯示了還沒有圓柱體部分的箭頭:
size(700);
import solids;
import texcolors;
import three;
currentprojection=orthographic (
camera=(8,4,4),
up=(0,0,1),
target=(2,2,2),
zoom=0.8
);
// save predefined 2D orientation vectors
pair NN=N;
pair SS=S;
pair EE=E;
pair WW=W;
draw((1.3094,0,2.26599)--(3.3094,0,4.26599),(7bp)+green,Arrow3(size=30bp));
答案1
只需將currentlight
參數新增至繪圖函數即可作為快速修復。有關 Asymptote 提供的著色和材質選項的更完整說明,請參閱以下問題:
這是完整的程式碼:
size(700);
import solids;
import texcolors;
import three;
currentprojection=orthographic (
camera=(8,4,4),
up=(0,0,1),
target=(2,2,2),
zoom=0.8
);
// save predefined 2D orientation vectors
pair NN=N;
pair SS=S;
pair EE=E;
pair WW=W;
draw((1.3094,0,2.26599)--(3.3094,0,4.26599),(7bp)+green,Arrow3(size=30bp),currentlight);