Write a Java method that
implements a camera view transform.
You should be able to pass it an eye point E and
an aim point A (each as a Vector3D object),
and the method should
return (or else fill in the value of) a Matrix3D object
which transforms points so that:
 the eye point E is transformed to the origin, and
 the aim point A is transformed to lie along the negative z axis.
As we went over in class, the math for
this consists of two stages:
 Create an orthonormal matrix that translates (0,0,0) to E,
and that transforms the z direction to
align with the vector from A to E,
 Invert the above matrix.
You can do the first step above by calculating:
Z' = normalize(E  A)
X' = normalize(Y × Z')
Y' = normalize(Z' × X')
in order to create the matrix:
X'_{x}  Y'_{x}  Z'_{x}  E_{x}

X'_{y}  Y'_{y}  Z'_{y}  E_{y}

X'_{z}  Y'_{z}  Z'_{z}  E_{z}

0  0  0  1

The inverse of the above orthonormal matrix is then given by:
X'_{x}  X'_{y}
 X'_{z}  (E · X')

Y'_{x}  Y'_{y}
 Y'_{z}  (E · Y')

Z'_{x}  Z'_{y}
 Z'_{z}  (E · Z')

0  0  0  1
