/***************************** * Vec class and functions * *****************************/ class Vec { double x=0,y=0,z=0; Vec() { } Vec(double _x, double _y, double _z) { x=_x; y=_y; z=_z; } Vec(Vec _v) { x=_v.x; y=_v.y; z=_v.z; } void setVec(Vec _v) { x=_v.x; y=_v.y; z=_v.z; } double len() { return Math.sqrt(x*x+y*y+z*z); } double lenSQ() { return (x*x+y*y+z*z); } void gravitateTo(Vec _to, double _mgd, double _fFac) { double minGravDist2=_mgd*_mgd; double dx=_to.x-x; double dy=_to.y-y; double dz=_to.z-z; double d2=dx*dx+dy*dy+dz*dz; if (d2