Click or drag to resize

UnitCartesian Structure

A set of rectilinear 3-dimensional coordinates with unit magnitude.

Namespace:  AGI.Foundation.Coordinates
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 19.5.402.0 (19.5.402.0)
Syntax
public struct UnitCartesian : IEquatable<UnitCartesian>

The UnitCartesian type exposes the following members.

Constructors
  NameDescription
Public methodUnitCartesian(Double)
Initializes a set of UnitCartesian coordinates from the first 3 consecutive elements in the provided array.
Public methodUnitCartesian(Cartesian)
Initializes a set of UnitCartesian coordinates from the provided set of Cartesian coordinates.
Public methodUnitCartesian(UnitRectangular)
Initializes a set of UnitCartesian coordinates from the provided set of UnitRectangular coordinates.
Public methodUnitCartesian(UnitSpherical)
Initializes a set of UnitCartesian coordinates from the provided set of UnitSpherical coordinates.
Public methodUnitCartesian(Double, Double)
Initializes a set of UnitCartesian coordinates from the provided spherical coordinates.
Public methodUnitCartesian(Double, Int32)
Initializes a set of UnitCartesian coordinates from 3 consecutive elements in the provided array.
Public methodUnitCartesian(Cartesian, Double)
Initializes a set of UnitCartesian coordinates from the provided set of Cartesian coordinates.
Public methodUnitCartesian(Double, Double, Double)
Initializes a set of UnitCartesian coordinates from the provided values.
Public methodUnitCartesian(Double, Double, Double, Double)
Initializes a set of UnitCartesian coordinates from the provided values.
Top
Properties
  NameDescription
Public propertyIsUndefined
Gets a value indicating whether any of the coordinates for this instance have the value NaN.
Public propertyItem
Gets the value of the specified element with index of 0, 1, and 2 corresponding to the coordinates X, Y, and Z.
Public propertyLength
Gets the number of elements in this set of coordinates.
Public propertyMostOrthogonalAxis
Gets the axis which is most orthogonal to this instance.
Public propertyMostParallelAxis
Gets the axis which is most parallel to this instance.
Public propertyStatic memberUndefined
Gets a set of UnitCartesian coordinates with values of NaN.
Public propertyStatic memberUnitX
Gets a set of UnitCartesian coordinates representing the x-axis.
Public propertyStatic memberUnitY
Gets a set of UnitCartesian coordinates representing the y-axis.
Public propertyStatic memberUnitZ
Gets a set of UnitCartesian coordinates representing the z-axis.
Public propertyX
Gets the linear coordinate along the positive x-axis.
Public propertyY
Gets the linear coordinate along the positive y-axis.
Public propertyZ
Gets the linear coordinate along the positive z-axis.
Top
Methods
  NameDescription
Public methodAdd(Cartesian)
Adds the specified set of Cartesian coordinates to this instance.
Public methodAdd(UnitCartesian)
Adds the specified set of UnitCartesian coordinates to this instance.
Public methodAngleBetween
Determines the angle in radians between the specified set of UnitCartesian coordinates and this instance.
Public methodStatic memberConvertMotion
Converts the motion given in terms of a set of Cartesian coordinates to motion of the corresponding set of UnitCartesian coordinates.
Public methodCross(Cartesian)
Forms the cross product of the specified set of Cartesian coordinates with this instance.
Public methodCross(UnitCartesian)
Forms the cross product of the specified set of UnitCartesian coordinates with this instance.
Public methodStatic memberDihedralAngle(UnitCartesian, UnitCartesian, UnitCartesian)
Calculates the scalar dihedral angle of the three given values.
Public methodStatic memberDihedralAngle(MotionUnitCartesian, Cartesian, MotionUnitCartesian, Cartesian, MotionUnitCartesian, Cartesian, Int32)
Calculates the scalar dihedral angle (and derivatives) of the three given values with Cartesian derivative information.
Public methodDivide
Divides this instance by a scalar.
Public methodDot(Cartesian)
Forms the dot product of the specified set of Cartesian coordinates with this instance.
Public methodDot(UnitCartesian)
Forms the dot product of the specified set of UnitCartesian coordinates with this instance.
Public methodEquals(Object)
Indicates whether another object is exactly equal to this instance.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(UnitCartesian)
Indicates whether another instance of this type is exactly equal to this instance.
Public methodEqualsEpsilon
Indicates whether each coordinate value of another instance of this type is within the required tolerance of the corresponding coordinate value of this instance.
Public methodGetHashCode
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInvert
Inverts this instance.
Public methodMultiply
Multiplies this instance by a scalar.
Public methodRotate(ElementaryRotation)
Produces a set of UnitCartesian coordinates representing this instance, which results from rotating the original axes used to represent this instance by the provided ElementaryRotation rotation.
Public methodRotate(Matrix3By3)
Produces a set of UnitCartesian coordinates representing this instance which results from rotating the original axes used to represent this instance by the provided Matrix3By3 rotation.
Public methodRotate(UnitQuaternion)
Produces a set of UnitCartesian coordinates representing this instance which results from rotating the original axes used to represent this instance by the provided UnitQuaternion rotation.
Public methodSubtract(Cartesian)
Subtracts the specified set of Cartesian coordinates from this instance.
Public methodSubtract(UnitCartesian)
Subtracts the specified set of UnitCartesian coordinates from this instance.
Public methodToString
Returns the string representation of the value of this instance.
(Overrides ValueTypeToString.)
Top
Operators
  NameDescription
Public operatorStatic memberAddition(Cartesian, UnitCartesian)
Adds a specified set of UnitCartesian coordinates to a specified set of Cartesian coordinates.
Public operatorStatic memberAddition(UnitCartesian, Cartesian)
Adds a specified set of Cartesian coordinates to a specified set of UnitCartesian coordinates.
Public operatorStatic memberAddition(UnitCartesian, UnitCartesian)
Adds a specified set of UnitCartesian coordinates to another specified set of UnitCartesian coordinates.
Public operatorStatic memberDivision
Divides a specified set of UnitCartesian coordinates by a scalar.
Public operatorStatic memberEquality
Returns if the two instances are exactly equal.
Public operatorStatic memberInequality
Returns if the two instances are not exactly equal.
Public operatorStatic memberMultiply(Double, UnitCartesian)
Multiplies a scalar by a specified set of UnitCartesian coordinates.
Public operatorStatic memberMultiply(UnitCartesian, Double)
Multiplies a specified set of UnitCartesian coordinates by a scalar.
Public operatorStatic memberSubtraction(Cartesian, UnitCartesian)
Subtracts a specified set of UnitCartesian coordinates from a specified set of Cartesian coordinates.
Public operatorStatic memberSubtraction(UnitCartesian, Cartesian)
Subtracts a specified set of Cartesian coordinates from a specified set of UnitCartesian coordinates.
Public operatorStatic memberSubtraction(UnitCartesian, UnitCartesian)
Subtracts a specified set of UnitCartesian coordinates from another specified set of UnitCartesian coordinates.
Public operatorStatic memberUnaryNegation
Negates the specified UnitCartesian, yielding a new UnitCartesian.
Top
Remarks

The normalization of the cartesian components is accomplished in the usual way. It should be noted that this does not guarantee a result whose magnitude will be 1.0 in cases where an individual component underflows upon squaring.

The corresponding 2-dimensional coordinates are UnitRectangular coordinates.

See Also