Click or drag to resize

Ellipsoid Class

A quadratic surface defined in Cartesian coordinates by the equation:

(x / a)^2 + (y / b)^2 + (z / c)^2 = 1
Inheritance Hierarchy
SystemObject
  AGI.Foundation.Geometry.ShapesEllipsoid

Namespace:  AGI.Foundation.Geometry.Shapes
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 24.1.418.0 (24.1.418.0)
Syntax
public class Ellipsoid : IEquatableDefinition

The Ellipsoid type exposes the following members.

Constructors
  NameDescription
Public methodEllipsoid
Initializes an ellipsoid as a unit sphere.
Public methodEllipsoid(Cartesian)
Initializes an ellipsoid as a scalene ellipsoid.
Public methodEllipsoid(Double)
Initializes an ellipsoid as a sphere.
Public methodEllipsoid(Double, Double)
Initializes an ellipsoid as a unit sphere.
Public methodEllipsoid(Cartesian, Double, Double)
Initializes an ellipsoid as a scalene ellipsoid.
Public methodEllipsoid(Double, Double, AxisIndicator)
Initializes an ellipsoid as a spheroid.
Public methodEllipsoid(Double, Double, Double)
Initializes an ellipsoid as a scalene ellipsoid.
Public methodEllipsoid(Double, Double, AxisIndicator, Double, Double)
Initializes an ellipsoid as a spheroid.
Public methodEllipsoid(Double, Double, Double, Double, Double)
Initializes an ellipsoid as a scalene ellipsoid.
Top
Properties
  NameDescription
Public propertyCenterTolerance
Gets the numerical tolerance used to determine if a point is located near the center of the ellipsoid. The value is expressed as a percentage with respect to the unit sphere representing the scaled ellipsoid. By default, the value is approximately 30%.
Public propertyEllipsoidType
Gets the type of the ellipsoid based on the semiaxis lengths.
Public propertySemiaxisLengths
Gets the semiaxis lengths.
Public propertySemimajorAxisLength
Gets the largest semiaxis length.
Public propertySemiminorAxisLength
Gets the smallest semiaxis length.
Public propertySurfaceTolerance
Gets the numerical tolerance used to determine if a point is located on the surface of the ellipsoid.
Public propertyVolume
Gets the volume of the ellipsoid.
Top
Methods
  NameDescription
Public methodApparentAngularSize
Provides the minimum and maximum apparent angular size of the ellipsoid, as viewed from the provided point. The point must be exterior to the ellipsoid.
Public methodCartesianToCartographic(Cartesian)
Converts the motion given in terms of cartesian coordinates to motion in cartographic coordinates.
Public methodCartesianToCartographic(MotionCartesian, Int32)
Converts the motion given in terms of cartesian coordinates to motion in cartographic coordinates.
Public methodCartographicToCartesian(Cartographic)
Converts the motion given in terms of planetodetic cartographic coordinates to motion in cartesian coordinates.
Public methodCartographicToCartesian(Double, Double)
Converts the specified planetodetic surface location into a cartesian vector in the fixed frame of the ellipsoid.
Public methodCartographicToCartesian(MotionCartographic, Int32)
Converts the motion given in terms of planetodetic cartographic coordinates to motion in cartesian coordinates.
Public methodCartographicToUniversalPolarStereographic(Cartographic)
Converts the location given in terms of planetodetic cartographic coordinates to Universal Polar Stereographic (UPS) coordinates.
Public methodCartographicToUniversalPolarStereographic(Double, Double)
Converts the location given in terms of planetodetic longitude and latitude to Universal Polar Stereographic (UPS) coordinates.
Public methodCartographicToUniversalTransverseMercator(Cartographic)
Converts the location given in terms of planetodetic cartographic coordinates to Universal Transverse Mercator (UTM) coordinates.
Public methodCartographicToUniversalTransverseMercator(Double, Double)
Converts the location given in terms of planetodetic longitude and latitude to Universal Transverse Mercator (UTM) coordinates.
Public methodComputeApproximateHeight
Compute an approximate value of the height above the surface.
Public methodComputeSurfaceArea(CartographicExtent)
Computes an approximation of the surface area of a given cartographic extent on the surface of this ellipsoid using Gauss Legendre 10th order quadrature.
Public methodComputeSurfaceArea(Double, Double, Double, Double)
Computes an approximation of the surface area of a given section of the surface of an ellipsoid using Gauss Legendre 10th order quadrature.
Public methodEastNorthUpTransformation
Returns the quaternion transformation between the x-y-z axes of the ellipsoid to the axes oriented to the cartographic east-north-up axes at the given position on the surface.
Public methodEllipsoidSeparationDistance(Ellipsoid, Cartesian, Matrix3By3)
If the given Ellipsoid does not intersect with this ellipsoid this method returns the minimum separation between the surfaces of the two ellipsoids. If the ellipsoids do intersect, the resulting negative separation is the depth that the other ellipsoid intersects into this ellipsoid (calculated as the distance between the two points on the ellipsoid chosen in the same manner as in the non-intersecting case).
Public methodEllipsoidSeparationDistance(Ellipsoid, Cartesian, Matrix3By3, Cartesian, Cartesian)
If the given Ellipsoid does not intersect with this ellipsoid this method returns the minimum separation between the surfaces of the two ellipsoids. If the ellipsoids do intersect, the resulting negative separation is the depth that the other ellipsoid intersects into this ellipsoid (calculated as the distance between the two points on the ellipsoid chosen in the same manner as in the non-intersecting case).
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetDefinitionHashCode
Gets a hash code representing the definition of this object.
Public methodGetDegreeOfObstruction(Cartesian, Cartesian)
Gets the obstruction value given two positions.
Public methodGetDegreeOfObstruction(Cartesian, Cartesian, Double)
Gets the obstruction value given two positions.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGradient
The gradient of the ellipsoid evaluated at the provided position.
Public methodGrazingAltitude(Cartesian, Cartesian)
Provides the nearest distance between the ellipsoid and the line segment between the initial and final points. The line segment is considered to be finite in length. This means that possibly closer points which are not between the initial and final points are not reported.
Public methodGrazingAltitude(Cartesian, UnitCartesian)
Provides the nearest distance between the ellipsoid and the line segment from the provided position and along the indicated direction. The line segment is considered to be infinite in length but starting at the provided position. This means that possibly smaller grazing altitudes along the opposite direction are not reported.
Public methodGrazingAltitude(Cartographic, Cartographic)
Provides the nearest distance between the ellipsoid and the line segment from the provided location and along the indicated direction. The line segment is considered to be infinite in length but starting at the provided location. This means that possibly smaller grazing altitudes along the opposite direction are not reported.
Public methodGrazingAltitude(Cartographic, UnitCartesian)
Provides the nearest distance between the ellipsoid and the line segment from the provided location and along the indicated direction. The line segment is considered to be infinite in length but starting at the provided location. This means that possibly smaller grazing altitudes along the opposite direction are not reported.
Public methodGrazingAltitudeLocation(Cartesian, Cartesian)
Provides the point on the line segment between the initial and final points which is nearest to the ellipsoid. The line segment is considered to be finite in length. This means that possibly closer points which are not between the initial and final points are not reported.
Public methodGrazingAltitudeLocation(Cartesian, UnitCartesian)
Provides the point on the line segment from the provided position and along the indicated direction which is nearest to the ellipsoid. The line segment is considered to be infinite in length but starting at the provided position. This means that possibly closer points in the opposite direction are not reported.
Public methodGrazingAltitudeLocation(Cartographic, Cartographic)
Provides the point on the line segment between the initial and final points which is nearest to the ellipsoid. The line segment is considered to be finite in length. This means that possibly closer points which are not between the initial and final points are not reported.
Public methodGrazingAltitudeLocation(Cartographic, UnitCartesian)
Provides the point on the line segment from the provided location and along the indicated direction which is nearest to the ellipsoid. The line segment is considered to be infinite in length but starting at the provided location. This means that possibly closer points in the opposite direction are not reported.
Public methodGrazingAngleLocations
Provides the two points on the limb of the ellipsoid with the smallest and largest apparent angular separation with respect to the indicated direction, as viewed from the provided point. The point must be exterior to the ellipsoid.
Public methodGrazingAngles
Provides the angles from the indicated direction to the two points on the limb of the ellipsoid with the smallest and largest apparent angular separation, as viewed from the provided point. The point must be exterior to the ellipsoid.
Public methodIntersections
Computes the intersection of the line of sight vector emanating from a given external point with the ellipsoid.
Public methodIsAtCenter
Gets a value indicating if the provided position is within the CenterTolerance of the center of the ellipsoid. The CenterTolerance is expressed as a percentage with respect to the unit sphere representing the scaled ellipsoid.
Public methodIsAtOrBeneathSurface
Gets a value indicating if the provided position is within the SurfaceTolerance of the surface of the ellipsoid, or is beneath the surface of the ellipsoid.
Public methodIsAtSurface
Gets a value indicating if the provided position is within the SurfaceTolerance of the surface of the ellipsoid.
Public methodIsSameDefinition(Ellipsoid)
Determines if this object has the same definition as another object.
Public methodIsSameDefinition(Object)
Determines if this object has the same definition as another object.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodNorm
The ellipsoid norm evaluated at the provided position.
Public methodNormSquared
The square of the ellipsoid Norm(Cartesian) evaluated at the provided position.
Public methodNorthEastDownTransformation
Returns the quaternion transformation between the x-y-z axes of the ellipsoid to the axes oriented to the cartographic north-east-down axes at the given position on the surface.
Public methodPointSeparationDistance(Cartesian)
If the given Cartesian does not lie within this ellipsoid this method returns the minimum separation between the this ellipsoid on the given point. If the point is within the ellipsoid do intersect, the resulting negative separation is the depth that the point lies within this ellipsoid's surface.
Public methodPointSeparationDistance(Cartesian, Cartesian)
If the given Cartesian does not lie within this ellipsoid this method returns the minimum separation between the this ellipsoid on the given point. If the point is within the ellipsoid do intersect, the resulting negative separation is the depth that the point lies within this ellipsoid's surface.
Public methodRadialProjection
Computes the radial projection of the position vector onto the surface of the ellipsoid.
Public methodSurfaceDistance
Computes the shortest distance as measured on the surface of the ellipsoid between two planetodetic cartographic positions.
Public methodStatic memberSurfaceNormal(Cartographic)
The unit Cartesian vector directed along the surface normal at the provided cartographic position.
Public methodStatic memberSurfaceNormal(Double, Double)
The unit Cartesian vector directed along the surface normal at the provided cartographic longitude and latitude.
Public methodSurfaceNormalMotion(Cartesian)
Converts the position given in terms of a surface point to the surface normal vector.
Public methodSurfaceNormalMotion(MotionCartesian, Int32)
Converts the motion given in terms of a surface point to motion of the surface normal vector.
Public methodSurfacePosition
Computes the location of a second surface point along the geodesic passing through the provided surface point having the indicated heading at the provided surface point and located at the specified distance from the provided surface point.
Public methodSurfaceProjection(Cartesian)
Computes the projection of the cartesian position onto the ellipsoid surface.
Public methodSurfaceProjection(Cartographic)
Computes the projection of the cartographic position onto the ellipsoid surface.
Public methodSurfaceProjection(MotionCartesian, Int32)
Computes the projection of the cartesian motion onto the ellipsoid surface.
Public methodSurfaceProjection(MotionCartographic, Int32)
Computes the projection of the cartographic motion onto the ellipsoid surface.
Public methodTangents(Cartesian, UnitCartesian)
From the indicated position, provides the points of tangency on an ellipsoid which also lie in the plane defined by the indicated normal.
Public methodTangents(Cartesian, UnitCartesian, Double)
From the indicated position, provides the points of tangency on an ellipsoid which also lie on an axisymmetric cone defined by the indicated axis and half angle.
Public methodTangentTotal
Determines whether the cone emanating from sensor at the given position and with the given heading and half angle lies completely tangent to the Ellipsoid.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUniversalPolarStereographicToCartographic(UniversalPolarStereographic)
Converts the location given in terms of Universal Polar Stereographic (UPS) coordinates to planetodetic cartographic coordinates.
Public methodUniversalPolarStereographicToCartographic(PoleIndicator, Double, Double)
Converts the location given in terms of Universal Polar Stereographic (UPS) hemisphere, easting, and northing to planetodetic cartographic coordinates.
Public methodUniversalTransverseMercatorToCartographic(UniversalTransverseMercator)
Converts the location given in terms of Universal Transverse Mercator (UTM) coordinates to planetodetic cartographic coordinates.
Public methodUniversalTransverseMercatorToCartographic(Int32, PoleIndicator, Double, Double)
Converts the location given in terms of Universal Transverse Mercator (UTM) zone, hemisphere, easting, and northing to planetodetic cartographic coordinates.
Public methodUpEastNorthTransformation
Returns the quaternion transformation between the x-y-z axes of the ellipsoid to the axes oriented to the cartographic up-east-north axes at the given position on the surface.
Top
See Also