# EllipsoidTangentPlane

#### new Cesium.EllipsoidTangentPlane(origin, ellipsoid)
Core/EllipsoidTangentPlane.js 29

A plane tangent to the provided ellipsoid at the provided origin. If origin is not on the surface of the ellipsoid, it's surface projection will be used. If origin is at the center of the ellipsoid, an exception will be thrown.

Name | Type | Default | Description
--- | --- | --- | ---
`origin` | Cartesian3 |  | The point on the surface of the ellipsoid where the tangent plane touches.
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid to use.

##### Throws:

- DeveloperError : origin must not be at the center of the ellipsoid.

### Members

#### ellipsoid : Ellipsoid
Core/EllipsoidTangentPlane.js 59

Gets the ellipsoid.

#### origin : Cartesian3
Core/EllipsoidTangentPlane.js 70

Gets the origin.

#### readonly plane : Plane
Core/EllipsoidTangentPlane.js 82

Gets the plane which is tangent to the ellipsoid.

#### readonly xAxis : Cartesian3
Core/EllipsoidTangentPlane.js 94

Gets the local X-axis (east) of the tangent plane.

#### readonly yAxis : Cartesian3
Core/EllipsoidTangentPlane.js 106

Gets the local Y-axis (north) of the tangent plane.

#### readonly zAxis : Cartesian3
Core/EllipsoidTangentPlane.js 118

Gets the local Z-axis (up) of the tangent plane.

### Methods

#### static Cesium.EllipsoidTangentPlane.fromPoints(cartesians, ellipsoid) → EllipsoidTangentPlane
Core/EllipsoidTangentPlane.js 134

Creates a new instance from the provided ellipsoid and the center point of the provided Cartesians.

Name | Type | Default | Description
--- | --- | --- | ---
`cartesians` | Array.<Cartesian3> |  | The list of positions surrounding the center point.
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid to use.

##### Returns:

The new instance of EllipsoidTangentPlane.

#### projectPointOntoEllipsoid(cartesian, result) → Cartesian3
Core/EllipsoidTangentPlane.js 284

Computes the projection of the provided 2D position onto the 3D ellipsoid.

Name | Type | Description
--- | --- | ---
`cartesian` | Cartesian2 | The points to project.
`result` | Cartesian3 | optional The Cartesian3 instance to store result.

##### Returns:

The modified result parameter or a new Cartesian3 instance if none was provided.

#### projectPointOntoPlane(cartesian, result) → Cartesian2
Core/EllipsoidTangentPlane.js 153

Computes the projection of the provided 3D position onto the 2D plane, radially outward from the `EllipsoidTangentPlane.ellipsoid` coordinate system origin.

Name | Type | Description
--- | --- | ---
`cartesian` | Cartesian3 | The point to project.
`result` | Cartesian2 | optional The object onto which to store the result.

##### Returns:

The modified result parameter or a new Cartesian2 instance if none was provided. Undefined if there is no intersection point

#### projectPointsOntoEllipsoid(cartesians, result) → Array.<Cartesian3>
Core/EllipsoidTangentPlane.js 315

Computes the projection of the provided 2D positions onto the 3D ellipsoid.

Name | Type | Description
--- | --- | ---
`cartesians` | Array.<Cartesian2> | The array of points to project.
`result` | Array.<Cartesian3> | optional The array of Cartesian3 instances onto which to store results.

##### Returns:

The modified result parameter or a new array of Cartesian3 instances if none was provided.

#### projectPointsOntoPlane(cartesians, result) → Array.<Cartesian2>
Core/EllipsoidTangentPlane.js 193

Computes the projection of the provided 3D positions onto the 2D plane (where possible), radially outward from the global origin. The resulting array may be shorter than the input array - if a single projection is impossible it will not be included.

Name | Type | Description
--- | --- | ---
`cartesians` | Array.<Cartesian3> | The array of points to project.
`result` | Array.<Cartesian2> | optional The array of Cartesian2 instances onto which to store results.

##### Returns:

The modified result parameter or a new array of Cartesian2 instances if none was provided.

##### See:

- EllipsoidTangentPlane.projectPointOntoPlane

#### projectPointsToNearestOnPlane(cartesians, result) → Array.<Cartesian2>
Core/EllipsoidTangentPlane.js 259

Computes the projection of the provided 3D positions onto the 2D plane, along the plane normal.

Name | Type | Description
--- | --- | ---
`cartesians` | Array.<Cartesian3> | The array of points to project.
`result` | Array.<Cartesian2> | optional The array of Cartesian2 instances onto which to store results.

##### Returns:

The modified result parameter or a new array of Cartesian2 instances if none was provided. This will have the same length as `cartesians`.

##### See:

- EllipsoidTangentPlane.projectPointToNearestOnPlane

#### projectPointToNearestOnPlane(cartesian, result) → Cartesian2
Core/EllipsoidTangentPlane.js 222

Computes the projection of the provided 3D position onto the 2D plane, along the plane normal.

Name | Type | Description
--- | --- | ---
`cartesian` | Cartesian3 | The point to project.
`result` | Cartesian2 | optional The object onto which to store the result.

##### Returns:

The modified result parameter or a new Cartesian2 instance if none was provided.