Astro-Montenbruck
view release on metacpan or search on metacpan
lib/Astro/Montenbruck/Ephemeris/Planet/Saturn.pm view on Meta::CPAN
$term->( 3, -5, 0, -0.1, -0.4, 1.1, -0.3, 0.0, 0.0 );
# Perturbations by Neptune
$term = pert(
T => $t,
M => $m6,
m => $m8,
I_min => 1,
I_max => 2,
i_min => -2,
i_max => -1,
callback => $pert_cb
);
$term->( 1, -1, 0, -1.3, -1.2, 2.3, -2.5, 0.0, 0.0 );
$term->( 1, -2, 0, 1.0, -0.1, 0.1, 1.4, 0.0, 0.0 );
$term->( 2, -2, 0, 1.1, -0.1, 0.2, 3.3, 0.0, 0.0 );
# Perturbations by Saturn and Uranus
my $phi = ( -2 * $m5 + 5 * $m6 - 3 * $m7 );
my $c = cos($phi);
my $s = sin($phi);
$dl += -0.8 * $c - 0.1 * $s;
$dr += -0.2 * $c + 1.8 * $s;
$db += +0.3 * $c + 0.5 * $s;
$phi = ( -2 * $m5 + 6 * $m6 - 3 * $m7 );
$c = cos($phi);
$s = sin($phi);
$dl += ( +2.4 - 0.7 * $t ) * $c + ( 27.8 - 0.4 * $t ) * $s;
$dr += +2.1 * $c - 0.2 * $s;
$phi = ( -2 * $m5 + 7 * $m6 - 3 * $m7 );
$c = cos($phi);
$s = sin($phi);
$dl += +0.1 * $c + 1.6 * $s;
$dr += -3.6 * $c + 0.3 * $s;
$db += -0.2 * $c + 0.6 * $s;
# Ecliptic coordinates ([rad],[AU])
my $l =
pi2 *
frac( 0.2561136 + $m6 / pi2 +
( ( 5018.6 + $t * 1.9 ) * $t + $dl ) / 1296.0e3 );
my $r = 9.557584 - 0.000186 * $t + $dr * 1.0e-5;
my $b = ( 175.1 - 10.2 * $t + $db ) / ARCS;
$l, $b, $r;
}
# Intermediate variables for calculating geocentric positions.
sub _lbr_geo {
my ( $self, $t ) = @_;
my $m = pi2 * frac( 0.8829867 + 3.3947688 * $t );
my $cm = cos($m);
my $dl = 5.84 + 0.65 * $cm;
my $dr = 3.09 * sin($m);
my $db = 0.24 * $cm;
$dl, $db, $dr;
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Astro::Montenbruck::Ephemeris::Planet::Saturn - Saturn.
=head1 SYNOPSIS
use Astro::Montenbruck::Ephemeris::Planet::Saturn;
my $planet = Astro::Montenbruck::Ephemeris::Planet::Saturn->new();
my @geo = $planet->position($t); # apparent geocentric ecliptical coordinates
=head1 DESCRIPTION
Child class of L<Astro::Montenbruck::Ephemeris::Planet>, responsible for calculating
B<Saturn> position.
=head1 METHODS
=head2 Astro::Montenbruck::Ephemeris::Planet::Saturn->new
Constructor.
=head2 $self->heliocentric($t)
See description in L<Astro::Montenbruck::Ephemeris::Planet>.
=head1 AUTHOR
Sergey Krushinsky, C<< <krushi at cpan.org> >>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2009-2022 by Sergey Krushinsky
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
( run in 1.220 second using v1.01-cache-2.11-cpan-54e63673c56 )