public Gaze(Ray pointer, UnitVector up) { Pointer = pointer; Right = pointer.Direction.Cross(up).Unit; Up = Right.Cross(pointer.Direction).Unit; }
public Vector ReflectedIn(UnitVector normal) { return(this - (2 * Dot(normal)) * normal); }