private Vect right;
@Override
public void orbitUp(double delta) {
// translate the rotation point to the origin.
Vect pos = new Vect(oxcor() - rotationPoint.x(),
oycor() - rotationPoint.y(),
ozcor() - rotationPoint.z());
// use the right vector rather than the forward vector
// to determine the "heading" so it is continuous.
// might make craig less cranky to make this change
// everywhere but not today.
Vect rightxy =
new Vect(right.x(), right.y(), 0)
.correct().normalize();
//measure from the x-axis because that's where
// the right vector, rests and heading = 0
Vect xaxis = new Vect(1, 0, 0);
// convert to degrees since rotateX/Z expect degrees
double angle = StrictMath.toDegrees(rightxy.angleTo(xaxis));
// rotate around the z-axis so the rotation