Procedures for Animation
These generate a sequence of positions to drive animations
MoveInOrbit: PROC[eyePt, lookingAt, axis: Triple, displayProc: PROC[Triple, Triple],
framesPerRev, numFrames: NAT, startAt: NAT ← 0 ];
MoveOnLine: PROC[eyePt, lookingAt, toEyePt, toLookingAt: Triple,
displayProc: PROC[Triple, Triple],
numFrames: NAT, startAt: NAT ← 0 ];
MoveOnCurve: PROC[eyePts, lookingAts: LIST OF Triple,
displayProc: PROC[Triple, Triple],
numFrames: NAT, startAt: NAT ← 0 ];