В латексе я могу смешать два цвета, например RoyalBlue!25!white
. В асимптоте я хочу использовать тот же цвет. Как это сделать?
MWE, где я хотел бы заменить цвет материала RoyalBlue на указанный выше:
size(700);
import solids;
import texcolors;
import three;
currentprojection=orthographic (
camera=(8,4,4),
up=(0,0,1),
target=(2,2,2),
zoom=1.0
);
// save predefined 2D orientation vectors
pair NN=N;
pair SS=S;
pair EE=E;
pair WW=W;
triple Atom1 = (-1.1547, -2., 3.26599);
material m = material(gray(0.5), black, RoyalBlue, black);
draw(surface(sphere(Atom1,0.5)),m);
решение1
Используйте бинарный оператор *
для масштабирования цветов/перьев и бинарный оператор +
для сложения цветов/перьев.
Таким образом, замена RoyalBlue
на RoyalBlue*0.25 + white*0.75
(25 % RoyalBlue, смешанного с 75 % белого) должна дать желаемый результат.
size(700);
import solids;
import texcolors;
import three;
currentprojection=orthographic (
camera=(8,4,4),
up=(0,0,1),
target=(2,2,2),
zoom=1.0
);
// save predefined 2D orientation vectors
pair NN=N;
pair SS=S;
pair EE=E;
pair WW=W;
triple Atom1 = (-1.1547, -2., 3.26599);
material m = material(gray(0.5), black, RoyalBlue*0.25 + white*0.75, black);
draw(surface(sphere(Atom1,0.5)),m);