ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.Geometry Namespace / Coordinate3D Structure / CrossProduct Method
The input Coordinate3D to use in the cross product.
Example

In This Topic
    CrossProduct Method
    In This Topic
    Constructs the cross product of this Coordinate3D and another Coordinate3D. Vector cross product is used.
    Syntax
    public Coordinate3D CrossProduct( 
       Coordinate3D other
    )
    Public Function CrossProduct( _
       ByVal other As Coordinate3D _
    ) As Coordinate3D

    Parameters

    other
    The input Coordinate3D to use in the cross product.

    Return Value

    A Coordinate3D representing the cross product of this Coordinate3D and the input Coordinate3D.
    Remarks
    Assume that the magnitude of this Coordinate3D > 0 and the magnitude of the input Coordinate3D > 0. Then the following statements are true:

    If the magnitude of the cross product = 0, then this Coordinate3D and the input Coordinate3D are parallel.

    If the magnitude of the cross product > 0, then the cross product is orthogonal to both this Coordinate3D and the input Coordinate3D.

    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