Exemplo n.º 1
0
        /**
         * - Heading_Tilt_Roll retourne la CDVMatrix représentant la suite d'opérations:
         *      - rotation de Heading / Z
         *      - rotation de Tilt / X
         *      - rotation de Roll / Z
         * - Heading/Tilt/Roll: en radians
         **/
        public static CDVMatrix Heading_Tilt_Roll(double Heading, double Tilt, double Roll)
        {
            List <CDVMatrix> apCDVMatrix = new List <CDVMatrix>();

            apCDVMatrix.Add(CDVMatrix.RotationZ(Heading));
            apCDVMatrix.Add(CDVMatrix.RotationX(Tilt));
            apCDVMatrix.Add(CDVMatrix.RotationZ(Roll));
            return(CDVMatrix.Multiplication(apCDVMatrix, true));
        }
Exemplo n.º 2
0
 public void RotateXYZ(double AngleX, double AngleY, double AngleZ)
 {
     if (AngleX != 0)
     {
         Multiply(CDVMatrix.RotationX(AngleX));
     }
     if (AngleY != 0)
     {
         Multiply(CDVMatrix.RotationY(AngleY));
     }
     if (AngleZ != 0)
     {
         Multiply(CDVMatrix.RotationZ(AngleZ));
     }
 }
Exemplo n.º 3
0
        public static CDVMatrix RotationAlphaBetaGamma(double alpha, double beta, double gamma)
        {
            CDVMatrix vret = new CDVMatrix();

            CDVMatrix mbetaalpha = CDVMatrix.RotationAlphaBeta(alpha, beta);

            mbetaalpha.Transpose();

            CDVMatrix mgamma = CDVMatrix.RotationX(gamma);

            mgamma.Transpose();

            vret = CDVMatrix.Multiplication(mgamma, mbetaalpha);
            vret.Transpose();

            return(vret);
        }