Асимптота: Стрелка3 имеет только трехмерный наконечник стрелки

Асимптота: Стрелка3 имеет только трехмерный наконечник стрелки

Если я рисую Arrow3, то это не выглядит 3D-ish, потому что линия не затенена как цилиндр. Как мне это изменить? Наверное, рисовать цилиндр и наконечник стрелы вручную вместе? Как?

Вот 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);

Связанный контент