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

CrossProduct Method
Constructs the cross product of this Coordinate3D and another Coordinate3D. Vector cross product is used.
Syntax
public Coordinate3D CrossProduct( 
   Coordinate3D other
)

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