Пример #1
0
 /// <summary>
 /// Concatenates a rotation matrix which rotates a vector around another vector to this matrix.
 /// </summary>
 /// <param name="rotationAngle">The angle of rotation in degrees</param>
 /// <param name="normalVector">The orientation of the axis to rotate around</param>
 public void Rotate(double rotationAngle, Vector3D normalVector)
 {
     if (rotationAngle.IsZero() == false)
     {
         double cosValue  = System.Math.Cos(rotationAngle);
         double sineValue = System.Math.Sin(rotationAngle);
         AxisX = GeomOperation.Rotate(AxisX, normalVector, cosValue, sineValue);
         AxisY = GeomOperation.Rotate(AxisY, normalVector, cosValue, sineValue);
         AxisZ = GeomOperation.Rotate(AxisZ, normalVector, cosValue, sineValue);
     }
 }
Пример #2
0
 /// <summary>
 /// Calculate perpendicular vector of parabola.
 /// </summary>
 /// <param name="axisAngle">Axis Angle</param>
 /// <returns>perpendicular vector of parabola</returns>
 internal Vector3D GetY(double axisAngle)
 {
     return(GeomOperation.Rotate(localY, normalizedVector, axisAngle));
 }