public void OrthoNormalize()
        {
            var vX = new Vertex3D(Matrix[0][0], Matrix[1][0], Matrix[2][0]);
            var vY = new Vertex3D(Matrix[0][1], Matrix[1][1], Matrix[2][1]);
            var vZ = Vertex3D.CrossProduct(vX, vY);

            vX.Normalize();
            vZ.Normalize();
            var vYY = Vertex3D.CrossProduct(vZ, vX);

            Matrix[0][0] = vX.X;
            Matrix[0][1] = vYY.X;
            Matrix[0][2] = vZ.X;
            Matrix[1][0] = vX.Y;
            Matrix[1][1] = vYY.Y;
            Matrix[1][2] = vZ.Y;
            Matrix[2][0] = vX.Z;
            Matrix[2][1] = vYY.Z;
            Matrix[2][2] = vZ.Z;
        }