예제 #1
0
        public void SetLookAt(Vector3 eye, Vector3 target, Vector3 up)
        {
            // Make rotation matrix
            // Z vector
            Vector3 zAxis = eye - target;

            zAxis.Normalize();

            Vector3 yAxis = up;

            Vector3 xAxis = yAxis.Cross(zAxis);

            // Recompute Y = Z cross X
            yAxis = zAxis.Cross(xAxis);

            xAxis.Normalize();
            yAxis.Normalize();

            basis = Basis.CreateFromAxes(xAxis, yAxis, zAxis);

            origin = eye;
        }
예제 #2
0
 // Constructors
 public Transform(Vector3 xAxis, Vector3 yAxis, Vector3 zAxis, Vector3 origin)
 {
     basis       = Basis.CreateFromAxes(xAxis, yAxis, zAxis);
     this.origin = origin;
 }