In the following example you can see that the atom that is closest to the camera, is acutally smaller than the rest, even though it should be the other way around. Shouldn't it?
Here the 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);