Asíntota: Arrow3 solo tiene punta de flecha 3D

Asíntota: Arrow3 solo tiene punta de flecha 3D

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));

ingrese la descripción de la imagen aquí

Respuesta1

Simplemente agregue el currentlightpará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);

información relacionada