Si dibujo un Arrow3, en realidad no parece 3D porque la línea no está sombreada como un cilindro. ¿Cómo cambio esto? ¿Probablemente uniendo manualmente el cilindro y la punta de la flecha? ¿Cómo?
Aquí hay un MWE que muestra la flecha que aún no tiene pieza de cilindro:
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));
Respuesta1
Simplemente agregue el currentlight
parámetro a la función de dibujo como solución rápida. Para obtener una explicación más completa de las opciones de sombreado y material que proporciona Asymptote, consulte las siguientes preguntas:
¿Qué hace "emisivo" en asíntota?
Asíntota: cuando el blanco no es blanco
Aquí está el código completo:
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);