
En el siguiente ejemplo puedes ver que el átomo que está más cerca de la cámara, en realidad es más pequeño que el resto, aunque debería ser al revés. ¿No debería?
Aquí el MWE:
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;
//%Atom positions
triple Atom1 = (-1.1547, -2., 3.26599);
triple Atom2 = (-1.1547, 2., 3.26599);
triple Atom3 = (2.3094, 0., 3.26599);
triple Atom4 = (0,0,0);
triple[] atoms={
Atom1,Atom2,Atom3,Atom4,
};
draw((1.3094,0,2.26599)--(3.3094,0,4.26599),(7bp)+green,Arrow3(size=30bp));
real cylR=0.062;
material baseM = material(gray(0.5), black, gray(0.6), black);
void Connect(guide3 g){
draw(surface(
cylinder(
point(g,0),cylR,arclength(g),point(g,1)-point(g,0)
)),baseM
);
}
//%connections from Atom1 to all others
Connect(Atom1--Atom2);
Connect(Atom1--Atom3);
Connect(Atom1--Atom4);
//%connections from Atom2 to Atom2+n
Connect(Atom2--Atom3);
Connect(Atom2--Atom4);
//%connections from Atom3 to Atom4
Connect(Atom3--Atom4);
material m = material(gray(0.5), black, RoyalBlue, black);
// material m2 = material(
void drawSpheres(triple[] C, real R, pen p=currentpen){
for(int i=0;i<C.length;++i){
draw(surface(sphere(C[i],R)),m);
}
}
drawSpheres(atoms,0.5,RoyalBlue);