Minor

Class to model minor celestial objetcs.

Minor examples

class pyplanets.planets.minor.Minor(q: float, e: float, i: pyplanets.core.angle.Angle, omega: pyplanets.core.angle.Angle, w: pyplanets.core.angle.Angle, t: pyplanets.core.epoch.Epoch)[source]

Class Minor models minor celestial bodies.

__init__(q: float, e: float, i: pyplanets.core.angle.Angle, omega: pyplanets.core.angle.Angle, w: pyplanets.core.angle.Angle, t: pyplanets.core.epoch.Epoch)[source]

Minor constructor.

The Minor object is initialized with this constructor, setting the orbital values and computing some internal parameters. This constructor is build upon the ‘set()’ method.

Parameters
  • q (float) – Perihelion distance, in Astronomical Units

  • e (float) – Eccentricity of the orbit

  • i (Angle) – Inclination of the orbit, as an Angle object

  • omega (Angle) – Longitude of the ascending node, as an Angle object

  • w (Angle) – Argument of the perihelion, as an Angle object

  • t (Epoch) – Epoch of passage by perihelion, as an Epoch object

__weakref__

list of weak references to the object (if defined)

geocentric_position(epoch) -> (<class 'pyplanets.core.angle.Angle'>, <class 'pyplanets.core.angle.Angle'>, <class 'pyplanets.core.angle.Angle'>)[source]

This method computes the geocentric position of a minor celestial body (right ascension and declination) for the given epoch, and referred to the standard equinox J2000.0. Additionally, it also computes the elongation angle to the Sun.

Parameters

epoch (Epoch) – Epoch to compute geocentric position, as an Epoch object

Returns

A tuple containing the right ascension, the declination and the elongation angle to the Sun, as Angle objects

Return type

tuple

>>> a = 2.2091404
>>> e = 0.8502196
>>> q = a * (1.0 - e)
>>> i = Angle(11.94524)
>>> omega = Angle(334.75006)
>>> w = Angle(186.23352)
>>> t = Epoch(1990, 10, 28.54502)
>>> minor = Minor(q, e, i, omega, w, t)
>>> epoch = Epoch(1990, 10, 6.0)
>>> ra, dec, p = minor.geocentric_position(epoch)
>>> print(ra.ra_str(n_dec=1))
10h 34' 13.7''
>>> print(dec.dms_str(n_dec=0))
19d 9' 32.0''
>>> print(round(p, 2))
40.51
>>> t = Epoch(1998, 4, 14.4358)
>>> q = 1.487469
>>> e = 1.0
>>> i = Angle(0.0)
>>> omega = Angle(0.0)
>>> w = Angle(0.0)
>>> minor = Minor(q, e, i, omega, w, t)
>>> epoch = Epoch(1998, 8, 5.0)
>>> ra, dec, p = minor.geocentric_position(epoch)
>>> print(ra.ra_str(n_dec=1))
5h 45' 34.5''
>>> print(dec.dms_str(n_dec=0))
23d 23' 53.0''
>>> print(round(p, 2))
45.73
heliocentric_ecliptical_position(epoch) -> (<class 'pyplanets.core.angle.Angle'>, <class 'pyplanets.core.angle.Angle'>)[source]

This method computes the heliocentric position of a minor celestial body, providing the result in ecliptical coordinates.

Parameters

epoch (Epoch) – Epoch to compute geocentric position, as an Epoch object

Returns

A tuple containing longitude and latitude, as Angle objects

Return type

tuple

>>> a = 2.2091404
>>> e = 0.8502196
>>> q = a * (1.0 - e)
>>> i = Angle(11.94524)
>>> omega = Angle(334.75006)
>>> w = Angle(186.23352)
>>> t = Epoch(1990, 10, 28.54502)
>>> epoch = Epoch(1990, 10, 6.0)
>>> minor = Minor(q, e, i, omega, w, t)
>>> lon, lat = minor.heliocentric_ecliptical_position(epoch)
>>> print(lon.dms_str(n_dec=1))
66d 51' 57.8''
>>> print(lat.dms_str(n_dec=1))
11d 56' 14.4''