public void Rotate( double angle, Coordinate3D axis )
Public Sub Rotate( _ ByVal angle As Double, _ ByVal axis As Coordinate3D _ )
Parameters
- angle
- The angle defining the rotation.
- axis
- The axis around which the Coordinate3D is rotated.
public void Rotate( double angle, Coordinate3D axis )
Public Sub Rotate( _ ByVal angle As Double, _ ByVal axis As Coordinate3D _ )
// Easy 3D vectors Coordinate3D v = new Coordinate3D(0, 1, 0); // v.Magnitude = 1 Coordinate3D other = new Coordinate3D(-1, 0, 0); // other.Magnitude = -1 double dotProduct = v.DotProduct(other); // dotProduct = 0 Coordinate3D crossProduct = v.CrossProduct(other); // crossProduct.X = 0 // crossProduct.Y = 0 // crossProduct.Z = 1 Coordinate3D addVector = v.AddCoordinate3D(other); // addVector.X = -1 // addVector.Y = 1 // addVector.Z = 0 // Rotate around x-axis Coordinate3D w = v; w.Rotate(Math.PI, other); // w.X = 0 // w.Y = -1 // w.Z = 0 w.Scale(0.5); // w.X = 0 // w.Y = -0.5 // w.Z = 0 w.Scale(-4); // w.X = 0 // ww.Y = 2 // w.Z = 0 // w.Magnitude = 2 w.Move(3, 2, 0); // w.X = 3 // w.Y = 4 // w.Z = 0 // w.Magnitude = 5 Coordinate3D emptyVector = new Coordinate3D(); // emptyVector = (0, 0, 0) emptyVector.SetEmpty(); // emptyVector = (Nan, Nan, Nan) Coordinate3D c1 = new Coordinate3D(2, 3, 4); Coordinate3D c2 = new Coordinate3D(9, -1, 3); var result_add = c1 + c2; // result_add = (11, 2, 7) var result_sub = c1 - c2; // result_sub = (-7, 4, 1) var b = result_sub != result_add; // b = true result_add = emptyVector + c1; // result_add = (Nan, Nan, Nan) b = result_add == emptyVector; // b = true
Target Platforms: Windows 11, Windows 10, Windows 8.1