Author image Sergey Krushinsky
and 1 contributors

NAME

Astro::Montenbruck::Ephemeris::Planet - Base class for a planet.

SYNOPSIS

  package Astro::Montenbruck::Ephemeris::Planet::Mercury;
  use base qw/Astro::Montenbruck::Ephemeris::Planet/;
  ...

  sub  heliocentric {
    # implement the method
  }

DESCRIPTION

Base class for a planet. Designed to be extended. Used internally in Astro::Montenbruck::Ephemeris modules. Subclasses must implement heliocentric method.

SUBROUTINES/METHODS

$planet = Astro::Montenbruck::Ephemeris::Planet->new( $id )

Constructor. $id is identifier from @PLANETS array (See "EXPORTED CONSTANTS").

$self->position($t, $sun)

Geocentric ecliptic coordinates of a planet

Arguments

  • $t — time in Julian centuries since J2000: (JD-2451545.0)/36525.0

  • $sun — ecliptic geocentric coordinates of the Sun (hashref with 'x', 'y', 'z' keys)

Returns

Array of geocentric ecliptical coordinates.

  • longitude, arc-degrees

  • latitude, arc-degrees

  • distance from Earth, AU

$self->heliocentric($t)

Given time in centuries since epoch 2000.0, calculate apparent geocentric ecliptical coordinates ($l, $b, $r).

  • $l — longitude, radians

  • $b — latitude, radians

  • $r — distance from Earth, A.U.

EXPORTED CONSTANTS

  • $MO — Moon

  • $SU — Sun

  • $ME — Mercury

  • $VE — Venus

  • $MA — Mars

  • $JU — Jupiter

  • $SA — Saturn

  • $UR — Uranus

  • $NE — Neptune

  • $PL — Pluto

  • @PLANETS — array containing all the ids listed above

AUTHOR

Sergey Krushinsky, <krushi at cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2009-2019 by Sergey Krushinsky

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.