Exemplo n.º 1
0
        public static Matrix <double> GenerateRotate3D(double angleX, double angleY, double angleZ = 0, AngleMode angleMode = AngleMode.Radians, double centerX = 0, double centerY = 0, double centerZ = 0)
        {
            var translation = GenerateTranslate3D(centerX, centerY, centerZ);

            angleX = angleMode == AngleMode.Radians ? angleX : AngleConverter.ConvertDegreesToRadians(angleX);
            angleY = angleMode == AngleMode.Radians ? angleY : AngleConverter.ConvertDegreesToRadians(angleY);
            angleZ = angleMode == AngleMode.Radians ? angleZ : AngleConverter.ConvertDegreesToRadians(angleZ);

            // TODO: Calculate short
            var rotationX = new Matrix <double>(3, 3);

            rotationX[0, 0] = 1;
            rotationX[0, 1] = 0;
            rotationX[0, 2] = 0;

            rotationX[1, 0] = 0;
            rotationX[1, 1] = Math.Cos(angleX);
            rotationX[1, 2] = -Math.Sin(angleX);

            //rotationX[];

            Matrix <double> rotationY = new Matrix <double>(3, 3);


            Matrix <double> rotationZ = new Matrix <double>(3, 3);

            return(new Matrix <double>()); // temp
        }
 public void ConvertDegreesToRadians_ShouldReturnValidValue()
 {
     Assert.Equal(0, AngleConverter.ConvertDegreesToRadians(0));
     Assert.True(Math.Abs(Math.PI / 2 - AngleConverter.ConvertDegreesToRadians(90.0f)) <= 0.0000001);
     Assert.True(Math.Abs(-Math.PI * 2 - AngleConverter.ConvertDegreesToRadians(-360.0)) <= 0.0000001);
 }