ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial

class ModifiedEquinoctial(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
semi_latus_rectum: ostk.physics.unit.Length,
eccentricity_x: ostk.core.type.Real,
eccentricity_y: ostk.core.type.Real,
node_x: ostk.core.type.Real,
node_y: ostk.core.type.Real,
true_longitude: ostk.physics.unit.Angle,
)

Bases: pybind11_object

Modified Equinoctial Orbital Elements (ModifiedEquinoctial).

The Modified Equinoctial Orbital Elements (ModifiedEquinoctial) provide a non-singular representation of an orbit, useful for a wide range of eccentricities and inclinations (except for i = 180 deg).

Elements: p: semi-latus rectum (m) f: x-component of eccentricity vector (e * cos(RAAN + AOP)) g: y-component of eccentricity vector (e * sin(RAAN + AOP)) h: x-component of node vector (tan(i/2) * cos(RAAN)) k: y-component of node vector (tan(i/2) * sin(RAAN)) L: true longitude (RAAN + AOP + True Anomaly) (rad)

Constructor.

Parameters:
  • semi_latus_rectum (Length) -- Semi-latus rectum.

  • eccentricity_x (float) -- x-component of eccentricity vector.

  • eccentricity_y (float) -- y-component of eccentricity vector.

  • node_x (float) -- x-component of node vector.

  • node_y (float) -- y-component of node vector.

  • true_longitude (Angle) -- True longitude.

Methods

cartesian

Create ModifiedEquinoctial from Cartesian state (position, velocity).

coe

Create Modified Equinoctial elements from Classical Orbital Elements (COE).

get_cartesian_state

Get Cartesian state (position, velocity) from ModifiedEquinoctial.

get_eccentricity_x

Get x-component of eccentricity vector (f).

get_eccentricity_y

Get y-component of eccentricity vector (g).

get_node_x

Get x-component of node vector (h).

get_node_y

Get y-component of node vector (k).

get_semi_latus_rectum

Get semi-latus rectum (p).

get_si_vector

Get ModifiedEquinoctial elements as a 6D vector in SI units.

get_true_longitude

Get true longitude (L).

is_defined

Check if ModifiedEquinoctial is defined.

undefined

Create an undefined ModifiedEquinoctial object.

static cartesian(
cartesian_state: tuple[ostk.physics.coordinate.Position, ostk.physics.coordinate.Velocity],
gravitational_parameter: ostk.physics.unit.Derived,
) ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial

Create ModifiedEquinoctial from Cartesian state (position, velocity).

Parameters:
  • cartesian_state (tuple[Position, Velocity]) -- Cartesian state (Position, Velocity). Must be in an inertial frame.

  • gravitational_parameter (Derived) -- Gravitational parameter of the central body.

Returns:

ModifiedEquinoctial object.

Return type:

ModifiedEquinoctial

static coe(
coe: ostk.astrodynamics.trajectory.orbit.model.kepler.COE,
) ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial

Create Modified Equinoctial elements from Classical Orbital Elements (COE).

Parameters:

coe (COE) -- Classical Orbital Elements.

Returns:

Modified Equinoctial Elements.

Return type:

ModifiedEquinoctial

get_cartesian_state(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
gravitational_parameter: ostk.physics.unit.Derived,
frame: ostk.physics.coordinate.Frame,
) tuple[ostk.physics.coordinate.Position, ostk.physics.coordinate.Velocity]

Get Cartesian state (position, velocity) from ModifiedEquinoctial.

Parameters:
  • gravitational_parameter (Derived) -- Gravitational parameter of the central body.

  • frame (Frame) -- The reference frame for the output Cartesian state. Must be an inertial frame.

Returns:

Position and Velocity.

Return type:

tuple[Position, Velocity]

get_eccentricity_x(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) ostk.core.type.Real

Get x-component of eccentricity vector (f).

Returns:

f component.

Return type:

float

get_eccentricity_y(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) ostk.core.type.Real

Get y-component of eccentricity vector (g).

Returns:

g component.

Return type:

float

get_node_x(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) ostk.core.type.Real

Get x-component of node vector (h).

Returns:

h component.

Return type:

float

get_node_y(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) ostk.core.type.Real

Get y-component of node vector (k).

Returns:

k component.

Return type:

float

get_semi_latus_rectum(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) ostk.physics.unit.Length

Get semi-latus rectum (p).

Returns:

Semi-latus rectum.

Return type:

Length

get_si_vector(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) numpy.ndarray[numpy.float64[6, 1]]

Get ModifiedEquinoctial elements as a 6D vector in SI units. [p (m), f, g, h, k, L (rad)]

Returns:

6D vector of elements in SI units.

Return type:

numpy.ndarray

get_true_longitude(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) ostk.physics.unit.Angle

Get true longitude (L).

Returns:

True longitude.

Return type:

Angle

is_defined(
self: ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial,
) bool

Check if ModifiedEquinoctial is defined.

Returns:

True if ModifiedEquinoctial is defined.

Return type:

bool

static undefined() ostk.astrodynamics.trajectory.orbit.model.ModifiedEquinoctial

Create an undefined ModifiedEquinoctial object.

Returns:

Undefined ModifiedEquinoctial object.

Return type:

ModifiedEquinoctial