ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / Coordinate3D Structure / Rotate Method
The angle defining the rotation.
The axis around which the Coordinate3D is rotated.
Example

In This Topic
    Rotate Method (Coordinate3D)
    In This Topic
    Rotates the Coordinate3D around an axis defined by another Coordinate3D. The angle is in radians.
    Syntax
    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.
    Remarks
    The Coordinate3D is rotated a given input angle measured in radians around the specified axis defined by the input Coordinate3D. To rotate a Coordinate3D in a given plane defined by two Coordinate3D, use the CrossProduct of those coordinates as the axis of rotation.
    Example
    Vector Operations
    // 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
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also