public Vec cross(Vec v) { return new Vec(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x); }
public Vec plus(Vec v) { return new Vec(x+v.x, y+v.y, z+v.z); }
public Vec norm() { return mag()==0 ? this : div(mag()); }
public Vec cross(Vec v) { return new Vec(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x); }
public Vec plus(Vec v) { return new Vec(x+v.x, y+v.y, z+v.z); }
public Vec norm() { return mag()==0 ? this : div(mag()); }