Asíntota: ¿Cómo puedo mezclar dos colores?

Asíntota: ¿Cómo puedo mezclar dos colores?

En látex, puedo mezclar dos colores como RoyalBlue!25!white. En asíntota quiero usar el mismo color. ¿Cómo hago esto?

MWE donde me gustaría reemplazar el color RoyalBlue del material por el anterior:

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

Respuesta1

Utilice el operador binario *para escalar los colores/plumas y el operador binario +para sumar colores/plumas.

Por lo tanto, reemplazar RoyalBluecon RoyalBlue*0.25 + white*0.75(25 % Royal Blue mezclado con 75 % blanco) debería producir el resultado que desea.

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

Esto da la salida Producción

Respuesta2

Puedes combinar colores como en el siguiente ejemplo.

unitsize(3inch);
for (real fred = 0.0; fred <= 1.0; fred += 0.1) {
    for (real fblue = 0.0; fblue <= 1.0; fblue += 0.1) {
        fill(shift(fred,fblue)*scale(0.1)*unitsquare, fred*red+fblue*blue);
    }
}

ingrese la descripción de la imagen aquí

información relacionada