Created
September 20, 2020 13:23
-
-
Save tobyink/01b870c3febc8df0b1ca233132a7d6ab to your computer and use it in GitHub Desktop.
Angular sizes of moons and planets seen from other bodies
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| use utf8::all; | |
| use Moo (); | |
| use Z qw( Dumper ); | |
| use Math::Trig qw( asin pi ); | |
| my $app = app sub { | |
| role 'Body' => sub { | |
| my $CleanNumber = Num->plus_coercions( Str, sub { | |
| my ( $value ) = split /±/; | |
| $value =~ s/,//g; | |
| $value =~ s/^~//; | |
| $value =~ s/\s*//g; | |
| $value; | |
| } ); | |
| requires 'parent'; | |
| has 'children' => ( | |
| type => 'ArrayRef[Body]', | |
| default => sub { [] }, | |
| handles_via => 'Array', | |
| handles => [ 'adopt' => 'push' ], | |
| ); | |
| has 'numeral' => ( type => Str ); | |
| has 'name' => ( type => Str ); | |
| has 'radius' => ( type => $CleanNumber ); | |
| has 'distance' => ( type => $CleanNumber ); # dist from parent | |
| has 'angular_size' => ( type => Num, is => 'lazy' ); # size when seen from parent | |
| has 'angular_size_r' => ( type => Maybe[Num], is => 'lazy' ); # parent's size from this body | |
| method '_build_angular_size' => sub { | |
| my ( $self ) = ( shift ); | |
| return 2 * asin( $self->radius / $self->distance ) * ( 180 / pi ); | |
| }; | |
| method '_build_angular_size_r' => sub { | |
| my ( $self ) = ( shift ); | |
| return if is_Undef $self->parent; | |
| return if is_Undef $self->parent->radius; | |
| return 2 * asin( $self->parent->radius / $self->distance ) * ( 180 / pi ); | |
| }; | |
| }; | |
| class 'Star' => sub { | |
| with 'Body'; | |
| has 'parent' => ( | |
| type => 'Any', | |
| default => sub { undef }, | |
| trigger => sub { | |
| my ( $self, $parent ) = ( shift, @_ ); | |
| $parent->adopt( $self ) if $self->FACTORY->type_library->get_type('Body')->check($parent); | |
| return $self; | |
| }, | |
| ); | |
| factory 'SUN' => sub { | |
| my ( $factory, $class, @args ) = @_; | |
| state $sun ||= $class->new( | |
| 'name' => 'Sol', | |
| 'radius' => '696340', | |
| ); | |
| return $sun; | |
| }; | |
| }; | |
| class 'Planet' => sub { | |
| # Technically these are not necessarily planets, but planet-like bodies. | |
| with 'Body'; | |
| has 'parent' => ( | |
| is => 'lazy', | |
| type => 'Star', | |
| builder => sub { | |
| my ( $self ) = ( shift ); | |
| return $self->FACTORY->SUN; | |
| }, | |
| trigger => sub { | |
| my ( $self, $parent ) = ( shift, @_ ); | |
| $parent->adopt( $self ); | |
| return $self; | |
| }, | |
| weak_ref => true, | |
| ); | |
| my %cache; | |
| my %data = ( | |
| 'Mercury' => { 'distance' => '57,909,175', 'radius' => '2,439.64' }, | |
| 'Venus' => { 'distance' => '108,208,930', 'radius' => '6,051.59' }, | |
| 'Earth' => { 'distance' => '149,597,890', 'radius' => '6,378.10' }, | |
| 'Mars' => { 'distance' => '227,936,640', 'radius' => '3,397.00' }, | |
| 'Ceres' => { 'distance' => '413,700,000', 'radius' => '473.00' }, | |
| 'Jupiter' => { 'distance' => '778,412,010', 'radius' => '71,492.68' }, | |
| 'Saturn' => { 'distance' => '1,426,725,400', 'radius' => '60,267.14' }, | |
| 'Uranus' => { 'distance' => '2,870,972,200', 'radius' => '25,557.25' }, | |
| 'Neptune' => { 'distance' => '4,498,252,900', 'radius' => '24,766.36' }, | |
| 'Orcus' => { 'distance' => '5,896,946,000', 'radius' => '458.50' }, | |
| 'Pluto' => { 'distance' => '5,906,380,000', 'radius' => '1,187.00' }, | |
| 'Salacia' => { 'distance' => '6,310,600,000', 'radius' => '423.00' }, | |
| 'Haumea' => { 'distance' => '6,484,000,000', 'radius' => '816.00' }, | |
| 'Quaoar' => { 'distance' => '6,535,930,000', 'radius' => '560.50' }, | |
| 'Makemake' => { 'distance' => '6,850,000,000', 'radius' => '715.00' }, | |
| 'Varda' => { 'distance' => '7,105,900,000', 'radius' => '750.00' }, | |
| 'Gonggong' => { 'distance' => '10,072,433,340', 'radius' => '615.00' }, | |
| 'Eris' => { 'distance' => '10,210,000,000', 'radius' => '1,163.00' }, | |
| 'Sedna' => { 'distance' => '78,668,000,000', 'radius' => '497.50' }, | |
| ); | |
| coerce Str, 'from_name', sub { | |
| my ( $class, $name ) = @_; | |
| $cache{$name} ||= $class->new( | |
| name => $name, | |
| parent => $class->FACTORY->SUN, | |
| %{ $data{$name} or die("Huh? $name") } | |
| ); | |
| }; | |
| }; | |
| class 'Moon' => sub { | |
| with 'Body'; | |
| has 'parent' => ( | |
| required => true, | |
| is => 'lazy', | |
| type => 'Planet', | |
| trigger => sub { | |
| my ( $self, $parent ) = ( shift, @_ ); | |
| $parent->adopt( $self ); | |
| return $self; | |
| }, | |
| weak_ref => true, | |
| ); | |
| multi_factory 'new_moon' | |
| => [ ArrayRef ] | |
| => sub { | |
| my ( $factory, $class, $row ) = ( shift, shift, @_ ); | |
| $class->new( { | |
| 'parent' => $row->[1], | |
| 'numeral' => $row->[2], | |
| 'name' => $row->[3], | |
| 'radius' => $row->[4], | |
| 'distance' => $row->[5], | |
| } ); | |
| }; | |
| multi_factory 'new_moon' | |
| => [ HashRef ] | |
| => sub { | |
| my ( $factory, $class, $arg ) = ( shift, shift, @_ ); | |
| return $class->new( $arg ); | |
| }; | |
| }; | |
| role 'Body::Reader' => sub { | |
| requires 'body_factory'; | |
| method 'read' | |
| => [ FileHandle ] | |
| => sub { | |
| my ( $self, $fh ) = ( shift, @_ ); | |
| require Text::CSV_XS; | |
| state $csv = Text::CSV_XS->new({ auto_diag => 1 }); | |
| my $method = $self->body_factory; | |
| my @output; | |
| while ( my $row = $csv->getline( $fh ) ) { | |
| push @output, $self->FACTORY->$method( $row ); | |
| } | |
| return @output; | |
| }; | |
| }; | |
| class 'Moon::Reader' => sub { | |
| with 'Body::Reader'; | |
| constant 'body_factory' => 'new_moon'; | |
| }; | |
| }; | |
| $app->new_moon_reader->read( \*DATA ); | |
| my $sun = $app->SUN; | |
| sub similar_numbers { | |
| my $tolerance = 1.5; | |
| my ( $x, $y ) = @_; | |
| return false unless is_Defined $x; | |
| return false unless is_Defined $y; | |
| return true if ( $x > $y/$tolerance and $x < $y*$tolerance ); | |
| return true if ( $y > $x/$tolerance and $y < $x*$tolerance ); | |
| return false; | |
| } | |
| for my $planet ( @{ $sun->children } ) { | |
| for my $moon ( @{ $planet->children } ) { | |
| if ( similar_numbers( $moon->angular_size, $planet->angular_size_r ) ) { | |
| printf( | |
| "From planet %s, moon %s looks %0.3f deg and %s looks %0.3f deg.\n", | |
| $planet->name, | |
| $moon->name, | |
| $moon->angular_size, | |
| $planet->parent->name, | |
| $planet->angular_size_r, | |
| ); | |
| } | |
| if ( similar_numbers( $moon->angular_size_r, $planet->angular_size_r ) ) { | |
| printf( | |
| "From moon %s, planet %s looks %0.3f deg and %s looks %0.3f deg.\n", | |
| $moon->name, | |
| $planet->name, | |
| $moon->angular_size_r, | |
| $planet->parent->name, | |
| $planet->angular_size_r, | |
| ); | |
| } | |
| } | |
| } | |
| __DATA__ | |
| ,Earth,I (1),Luna,"1,737.1","384,399",27.321582,Prehistoric,—,Synchronous rotation,[13] | |
| ,Mars,I (1),Phobos,11.1±0.15,"9,380",0.319,1877,Hall,,[14][15][16] | |
| ,Mars,II (2),Deimos,6.2±0.18,"23,460",1.262,1877,Hall,,[14][15][16] | |
| ,Jupiter,I (1),Io,"1,818.1±0.1","421,800",1.769,1610,Galileo,Main-group moon (Galilean),[16][17] | |
| ,Jupiter,II (2),Europa,1560.7±0.7,"671,100",3.551,1610,Galileo,Main-group moon (Galilean),[16][17] | |
| ,Jupiter,III (3),Ganymede,"2,634.1±0.3","1,070,400",7.155,1610,Galileo,Main-group moon (Galilean),[16][17] | |
| ,Jupiter,IV (4),Callisto,"2,408.4±0.3","1,882,700",16.69,1610,Galileo,Main-group moon (Galilean),[16][17] | |
| ,Jupiter,V (5),Amalthea,83.5±2,"181,400",0.498,1892,Barnard,Inner moon (Amalthea),[15][16][18] | |
| ,Jupiter,VI (6),Himalia,67±10[19],"11,461,000",250.56,1904,Perrine,Prograde irregular (Himalia),[15][16][20] | |
| ,Jupiter,VII (7),Elara,43,"11,741,000",259.64,1905,Perrine,Prograde irregular (Himalia),[15][16][21] | |
| ,Jupiter,VIII (8),Pasiphae,30,"23,624,000",743.63 (r),1908,Melotte,Retrograde irregular (Pasiphae),[15][16][22] | |
| ,Jupiter,IX (9),Sinope,19,"23,939,000",758.90 (r),1914,Nicholson,Retrograde irregular (Pasiphae),[15][16][23] | |
| ,Jupiter,X (10),Lysithea,18,"11,717,000",259.20,1938,Nicholson,Prograde irregular (Himalia),[15][16][24] | |
| ,Jupiter,XI (11),Carme,23,"23,404,000",734.17 (r),1938,Nicholson,Retrograde irregular (Carme),[15][16][24] | |
| ,Jupiter,XII (12),Ananke,14,"21,276,000",629.77 (r),1951,Nicholson,Retrograde irregular (Ananke),[15][16][25] | |
| ,Jupiter,XIII (13),Leda,10,"11,165,000",240.92,1974,Kowal,Prograde irregular (Himalia),[15][16][26] | |
| ,Jupiter,XIV (14),Thebe,49.3±2.0,"221,900",0.675,1979,Synnott (Voyager 1),Inner moon (Amalthea),[15][16][27] | |
| ,Jupiter,XV (15),Adrastea,8.2±2.0,"129,000",0.298,1979,"Jewitt, Danielson (Voyager 1)",Inner moon (Amalthea),[15][16][28] | |
| ,Jupiter,XVI (16),Metis,21.5±2.0,"128,000",0.295,1979,Synnott (Voyager 1),Inner moon (Amalthea),[15][16][29] | |
| ,Jupiter,XVII (17),Callirrhoe,4.3,"24,103,000",758.77 (r),2000,"Scotti, Spahr, McMillan, Larsen, Montani, Gleason, Gehrels",Retrograde irregular (Pasiphae),[15][16][30] | |
| ,Jupiter,XVIII (18),Themisto,4,"7,284,000",130.02,1975/2000,"Kowal and Roemer (original); Sheppard, Jewitt, Fernández, Magnier (rediscovery)",Prograde irregular (Themisto),[15][16][31][32] | |
| ,Jupiter,XIX (19),Megaclite,2.7,"23,493,000",752.86 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Pasiphae),[15][16][33] | |
| ,Jupiter,XX (20),Taygete,2.5,"23,280,000",732.41 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Carme),[15][16][33] | |
| ,Jupiter,XXI (21),Chaldene,1.9,"23,100,000",723.72 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Carme),[15][16][33] | |
| ,Jupiter,XXII (22),Harpalyke,2.2,"20,858,000",623.32 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Ananke),[15][16][33] | |
| ,Jupiter,XXIII (23),Kalyke,2.6,"23,483,000",742.06 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Carme),[15][16][33] | |
| ,Jupiter,XXIV (24),Iocaste,2.6,"21,060,000",631.60 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Ananke),[15][16][33] | |
| ,Jupiter,XXV (25),Erinome,1.6,"23,196,000",728.46 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Carme),[15][16][33] | |
| ,Jupiter,XXVI (26),Isonoe,1.9,"23,155,000",726.23 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Carme),[15][16][33] | |
| ,Jupiter,XXVII (27),Praxidike,3.4,"20,908,000",625.39 (r),2000,"Sheppard, Jewitt, Fernández, Magnier, Dahm, Evans",Retrograde irregular (Ananke),[15][16][33] | |
| ,Jupiter,XXVIII (28),Autonoe,2,"24,046,000",760.95 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Pasiphae), | |
| ,Jupiter,XXIX (29),Thyone,2,"20,939,000",627.21 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Ananke),[15][16][34] | |
| ,Jupiter,XXX (30),Hermippe,2,"21,131,000",633.9 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Ananke),[15][16][34] | |
| ,Jupiter,XXXI (31),Aitne,1.5,"23,229,000",730.18 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Carme),[15][16][34] | |
| ,Jupiter,XXXII (32),Eurydome,1.5,"22,865,000",717.33 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Pasiphae),[15][16][34] | |
| ,Jupiter,XXXIII (33),Euanthe,1.5,"20,797,000",620.49 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Ananke),[15][16][34] | |
| ,Jupiter,XXXIV (34),Euporie,1,"19,304,000",550.74 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Ananke),[15][16][34] | |
| ,Jupiter,XXXV (35),Orthosie,1,"20,720,000",622.56 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Ananke),[15][16][34] | |
| ,Jupiter,XXXVI (36),Sponde,1,"23,487,000",748.34 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Pasiphae),[15][16][34] | |
| ,Jupiter,XXXVII (37),Kale,1,"23,217,000",729.47 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Carme),[15][16][34] | |
| ,Jupiter,XXXVIII (38),Pasithee,1,"23,004,000",719.44 (r),2001,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Carme),[15][16][34] | |
| ,Jupiter,XXXIX (39),Hegemone,1.5,"23,577,000",739.88 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández",Retrograde irregular (Pasiphae),[15][16] | |
| ,Jupiter,XL (40),Mneme,1,"21,035,000",620.04 (r),2003,"Gladman, Allen",Retrograde irregular (Ananke),[15][16] | |
| ,Jupiter,XLI (41),Aoede,2,"23,980,000",761.50 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Retrograde irregular (Pasiphae),[15][16] | |
| ,Jupiter,XLII (42),Thelxinoe,1,"21,164,000",628.09 (r),2003,"Sheppard, Jewitt, Kleyna, Gladman, Kavelaars, Petit, Allen",Retrograde irregular (Ananke),[15][16] | |
| ,Jupiter,XLIII (43),Arche,1.5,"23,355,000",731.95 (r),2002,"Sheppard, Meech, Hsieh, Tholen, Tonry",Retrograde irregular (Carme),[15][16][34] | |
| ,Jupiter,XLIV (44),Kallichore,1,"23,288,000",728.73 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández",Retrograde irregular (Carme),[15][16] | |
| ,Jupiter,XLV (45),Helike,2,"21,069,000",626.32 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Retrograde irregular (Ananke),[15][16] | |
| ,Jupiter,XLVI (46),Carpo,1.5,"17,058,000",456.30,2003,"Sheppard, Gladman, Kavelaars, Petit, Allen, Jewitt, Kleyna",Prograde irregular (Carpo),[15][16] | |
| ,Jupiter,XLVII (47),Eukelade,2,"23,328,000",730.47 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Retrograde irregular (Carme),[15][16] | |
| ,Jupiter,XLVIII (48),Cyllene,1,"23,809,000",752 (r),2003,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Pasiphae),[15][16] | |
| ,Jupiter,XLIX (49),Kore,1,"24,543,000",779.17 (r),2003,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Pasiphae),[15][16] | |
| ,Jupiter,L (50),Herse,1,"22,983,000",714.51 (r),2003,"Gladman, Sheppard, Jewitt, Kleyna, Kavelaars, Petit, Allen",Retrograde irregular (Carme),[15][16] | |
| ,Jupiter,LI (51),S/2010 J 1,1,"23,314,335",723.2 (r),2010,"Jacobson, Brozović, Gladman, Alexandersen",Retrograde irregular (Carme),[35] | |
| ,Jupiter,LII (52),S/2010 J 2,0.5,"20,307,150",588.1 (r),2010,Veillet,Retrograde irregular (Ananke),[35] | |
| ,Jupiter,LIII (53),Dia,2,"12,570,000",287.93,2000,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Prograde irregular (Himalia),[35] | |
| ,Jupiter,LIV (54),S/2016 J 1,3,"20,595,480",602.7 (r),2016,Sheppard,Retrograde irregular (Ananke),[35] | |
| ,Jupiter,LV (55),S/2003 J 18,1,"20,426,000",596.58 (r),2003,"Gladman, Sheppard, Jewitt, Kleyna, Kavelaars, Petit, Allen",Retrograde irregular (Ananke),[15][16] | |
| ,Jupiter,LVI (56),S/2011 J 2,0.5,"23,329,710",726.8 (r),2011,Sheppard,Retrograde irregular (Pasiphae),[35] | |
| ,Jupiter,LVII (57),Eirene,2,"23,498,000",738.74 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Retrograde irregular (Carme),[15][16] | |
| ,Jupiter,LVIII (58),Philophrosyne,1,"22,630,000",689.77 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández",Retrograde irregular (Pasiphae),[15][16] | |
| ,Jupiter,LIX (59),S/2017 J 1,2,"23,483,978",734.2 (r),2017,Sheppard,Retrograde irregular (Pasiphae),[35] | |
| ,Jupiter,LX (60),Eupheme,1,"20,224,000",583.88 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Retrograde irregular (Ananke),[15][16] | |
| ,Jupiter,LXI (61),S/2003 J 19,1,"23,535,000",740.43 (r),2003,"Gladman, Sheppard, Jewitt, Kleyna, Kavelaars, Petit, Allen",Retrograde irregular (Carme),[15][16] | |
| ,Jupiter,LXII (62),Valetudo,0.5,"18,928,095",532.0,2016,Sheppard,Prograde irregular (Valetudo),[35] | |
| ,Jupiter,LXIII (63),S/2017 J 2,1,"23,240,957",723.8 (r),2017,Sheppard,Retrograde irregular (Carme),[35] | |
| ,Jupiter,LXIV (64),S/2017 J 3,1,"20,639,315",605.8 (r),2017,Sheppard,Retrograde irregular (Ananke),[35] | |
| ,Jupiter,LXV (65),Pandia,1,"11,494,801",251.8 (r),2017,Sheppard,Prograde irregular (Himalia),[35] | |
| ,Jupiter,LXVI (66),S/2017 J 5,1,"23,169,389",720.5 (r),2017,Sheppard,Retrograde irregular (Carme),[35] | |
| ,Jupiter,LXVII (67),S/2017 J 6,1,"22,394,682",684.7 (r),2017,Sheppard,Retrograde irregular (Pasiphae),[35] | |
| ,Jupiter,LXVIII (68),S/2017 J 7,1,"20,571,458",602.8 (r),2017,Sheppard,Retrograde irregular (Ananke),[35] | |
| ,Jupiter,LXIX (69),S/2017 J 8,0.5,"23,174,446",720.7 (r),2017,Sheppard,Retrograde irregular (Carme),[35] | |
| ,Jupiter,LXX (70),S/2017 J 9,1,"21,429,955",640.9 (r),2017,Sheppard,Retrograde irregular (Ananke),[35] | |
| ,Jupiter,LXXI (71),Ersa,1.5,"11,453,004",250.4 (r),2018,Sheppard,Retrograde irregular (Himalia),[35] | |
| ,Jupiter,LXXII (72),S/2011 J 1,0.5,"20,155,290",580.7 (r),2011,Sheppard,Retrograde irregular (Carme),[35] | |
| ,Jupiter,—,S/2003 J 2,1,"28,455,000",981.55 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Retrograde irregular (Pasiphae?),[15][16] | |
| ,Jupiter,—,S/2003 J 4,1,"23,933,000",755.26 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández, Hsieh",Retrograde irregular (Pasiphae?),[15][16] | |
| ,Jupiter,—,S/2003 J 9,0.5,"23,388,000",733.30 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández",Retrograde irregular (Carme),[15][16] | |
| ,Jupiter,—,S/2003 J 10,1,"23,044,000",716.25 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández",Retrograde irregular (Carme?),[15][16] | |
| ,Jupiter,—,S/2003 J 12,0.5,"17,833,000",489.72 (r),2003,"Sheppard, Jewitt, Kleyna, Fernández",Retrograde irregular (Ananke?),[15][16] | |
| ,Jupiter,—,S/2003 J 16,1,"20,956,000",616.33 (r),2003,"Gladman, Sheppard, Jewitt, Kleyna, Kavelaars, Petit, Allen",Retrograde irregular (Ananke),[15][16] | |
| ,Jupiter,—,S/2003 J 23,1,"23,566,000",732.45 (r),2004,"Sheppard, Jewitt, Kleyna, Fernández",Retrograde irregular (Pasiphae?),[15][16] | |
| ,Saturn,I (1),Mimas,198.2±0.4,"185,540",0.942,1789,Herschel,Main-group moon,[15][16] | |
| ,Saturn,II (2),Enceladus,252.3±0.6,"238,040",1.370,1789,Herschel,Main-group moon,[15][16] | |
| ,Saturn,III (3),Tethys,536.3±1.5,"294,670",1.888,1684,Cassini,Main-group moon (Sidera Lodoicea),[15][16] | |
| ,Saturn,IV (4),Dione,562.5±1.5,"377,420",2.737,1684,Cassini,Main-group moon (Sidera Lodoicea),[15][16] | |
| ,Saturn,V (5),Rhea,764.5±2.0,"527,070",4.518,1672,Cassini,Main-group moon (Sidera Lodoicea),[15][16] | |
| ,Saturn,VI (6),Titan,"2,575.5±2.0","1,221,870",15.95,1655,Huygens,Main-group moon,[15][16] | |
| ,Saturn,VII (7),Hyperion,138.6,"1,500,880",21.28,1848,"W.Bond, G. Bond, and Lassell",Main-group moon,[15][16] | |
| ,Saturn,VIII (8),Iapetus,734.5±4.0,"3,560,840",79.33,1671,Cassini,Main-group moon (Sidera Lodoicea),[15][16] | |
| ,Saturn,IX (9),Phoebe,106.6±1.1,"12,947,780",550.31 (r),1899,Pickering,Retrograde irregular (Norse),[15][16] | |
| ,Saturn,X (10),Janus,90.4±3.0,"151,460",0.695,1966,Dollfus; Voyager 1 (confirmed),Inner moon (co-orbital),[15][16] | |
| ,Saturn,XI (11),Epimetheus,58.3±3.1,"151,410",0.694,1966,Walker; Voyager 1 (confirmed),Inner moon (co-orbital),[15][16] | |
| ,Saturn,XII (12),Helene,16±4,"377,420",2.737,1980,"Laques, Lecacheux",Main-group trojan,[15][16] | |
| ,Saturn,XIII (13),Telesto,12±3,"294,710",1.888,1980,"Smith, Reitsema, Larson, Fountain (Voyager 1)",Main-group trojan,[15][16] | |
| ,Saturn,XIV (14),Calypso,9.5±1.5,"294,710",1.888,1980,"Pascu, Seidelmann, Baum, Currie",Main-group trojan,[15][16] | |
| ,Saturn,XV (15),Atlas,15.3±1.2,"137,670",0.602,1980,Terrile (Voyager 1),Inner moon (shepherd),[15][16] | |
| ,Saturn,XVI (16),Prometheus,46.8±5.6,"139,380",0.613,1980,Collins (Voyager 1),Inner moon (shepherd),[15][16] | |
| ,Saturn,XVII (17),Pandora,40.6±4.5,"141,720",0.629,1980,Collins (Voyager 1),Inner moon (shepherd),[15][16] | |
| ,Saturn,XVIII (18),Pan,12.8,"133,580",0.575,1990,Showalter (Voyager 2),Inner moon (shepherd),[15][16] | |
| ,Saturn,XIX (19),Ymir,9,"23,140,400","1,315.58 (r)",2000,Gladman,Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XX (20),Paaliaq,11,"15,200,000",686.95,2000,Gladman,Prograde irregular (Inuit),[15][16] | |
| ,Saturn,XXI (21),Tarvos,7.5,"17,983,000",926.23,2000,"Gladman, Kavelaars",Prograde irregular (Gallic),[15][16] | |
| ,Saturn,XXII (22),Ijiraq,6,"11,124,000",451.42,2000,"Gladman, Kavelaars",Prograde irregular (Inuit),[15][16] | |
| ,Saturn,XXIII (23),Suttungr,3.5,"19,459,000","1,016.67 (r)",2000,"Gladman, Kavelaars",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XXIV (24),Kiviuq,8,"11,110,000",449.22,2000,Gladman,Prograde irregular (Inuit),[15][16] | |
| ,Saturn,XXV (25),Mundilfari,3.5,"18,628,000",952.77 (r),2000,"Gladman, Kavelaars",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XXVI (26),Albiorix,16,"16,182,000",783.45,2000,"Holman, Spahr",Prograde irregular (Gallic),[15][16] | |
| ,Saturn,XXVII (27),Skathi,4,"15,540,000",728.20 (r),2000,"Gladman, Kavelaars",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XXVIII (28),Erriapus,5,"17,343,000",871.19,2000,"Gladman, Kavelaars",Prograde irregular (Gallic),[15][16] | |
| ,Saturn,XXIX (29),Siarnaq,20,"18,015,400",896.44,2000,"Gladman, Kavelaars",Prograde irregular (Inuit),[15][16] | |
| ,Saturn,XXX (30),Thrymr,3.5,"20,314,000","1,094.11 (r)",2000,"Gladman, Kavelaars",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XXXI (31),Narvi,3.5,"19,007,000","1,003.86 (r)",2003,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XXXII (32),Methone,1.6,"194,440",1.010,2004,"Porco, Charnoz, Brahic, Dones (Cassini–Huygens)",Alkyonide moon,[16] | |
| ,Saturn,XXXIII (33),Pallene,2,"212,280",1.154,2004,"Gordon, Murray, Beurle, et al. (Cassini–Huygens)",Alkyonide moon,[16] | |
| ,Saturn,XXXIV (34),Polydeuces,1.25,"377,200",2.737,2004,Porco et al. (Cassini–Huygens),Main-group trojan,[16] | |
| ,Saturn,XXXV (35),Daphnis,3.8±0.8,"136,500",0.594,2005,Porco et al. (Cassini–Huygens),Inner moon (shepherd),[16] | |
| ,Saturn,XXXVI (36),Aegir,3,"20,751,000","1,117.52 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XXXVII (37),Bebhionn,3,"17,119,000",834.84,2004,"Sheppard, Jewitt, Kleyna, Marsden",Prograde irregular (Gallic),[15][16] | |
| ,Saturn,XXXVIII (38),Bergelmir,3,"19,336,000","1,005.74 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XXXIX (39),Bestla,3.5,"20,192,000","1,088.72 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XL (40),Farbauti,2.5,"20,377,000","1,085.55 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XLI (41),Fenrir,2,"22,454,000","1,260.35 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XLII (42),Fornjot,3,"25,146,000","1,494.2 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XLIII (43),Hati,3,"19,846,000","1,038.61 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse),[15][16] | |
| ,Saturn,XLIV (44),Hyrrokkin,4,"18,437,000",931.86 (r),2004,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[16] | |
| ,Saturn,XLV (45),Kari,3.5,"22,089,000","1,230.97 (r)",2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[16] | |
| ,Saturn,XLVI (46),Loge,3,"23,058,000","1,311.36 (r)",2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[16] | |
| ,Saturn,XLVII (47),Skoll,3,"17,665,000",878.29 (r),2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[16] | |
| ,Saturn,XLVIII (48),Surtur,3,"22,704,000","1,297.36 (r)",2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[16] | |
| ,Saturn,XLIX (49),Anthe,1,"197,700",1.0365,2007,Porco et al. (Cassini–Huygens),Alkyonide moon,[36] | |
| ,Saturn,L (50),Jarnsaxa,3,"18,811,000",964.74 (r),2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[16] | |
| ,Saturn,LI (51),Greip,3,"18,206,000",921.19 (r),2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse),[16] | |
| ,Saturn,LII (52),Tarqeq,3.5,"18,009,000",887.48,2007,"Sheppard, Jewitt, Kleyna",Prograde irregular (Inuit),[16] | |
| ,Saturn,LIII (53),Aegaeon,0.33,"167,500",0.808,2008,Cassini Imaging Science Team Cassini–Huygens,G-ring moonlet,[37][38] | |
| ,Saturn,—,S/2004 S 7,3,"20,999,000","1,140.24 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse?),[15][16] | |
| ,Saturn,—,S/2004 S 12,2.5,"19,878,000","1,046.19 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse?),[15][16] | |
| ,Saturn,—,S/2004 S 13,3,"18,404,000",933.48 (r),2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse?),[15][16] | |
| ,Saturn,—,S/2004 S 17,2,"19,447,000","1,014.70 (r)",2004,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse?),[15][16] | |
| ,Saturn,—,S/2006 S 1,3,"18,790,000",963.37 (r),2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[16] | |
| ,Saturn,—,S/2006 S 3,3,"22,096,000","1,227.21 (r)",2006,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[16] | |
| ,Saturn,—,S/2007 S 2,3,"16,725,000",808.08 (r),2007,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[16] | |
| ,Saturn,—,S/2007 S 3,3,"18,975,000",977.8 (r),2007,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[16] | |
| ,Saturn,—,S/2009 S 1,0.15,"117,000",0.471,2009,Cassini Imaging Science Team Cassini–Huygens,B-ring moonlet,[39] | |
| ,Saturn,—,S/2004 S 20,3,"19,418,000","1,010.55 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[40] | |
| ,Saturn,—,S/2004 S 21,3,"22,645,000","1,272.61 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[41] | |
| ,Saturn,—,S/2004 S 22,3,"20,636,000","1,107.13 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[42] | |
| ,Saturn,—,S/2004 S 23,4,"21,163,000","1,149.82 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[43] | |
| ,Saturn,—,S/2004 S 24,3,"22,901,000","1,294.25",2019,"Sheppard, Jewitt, Kleyna, Marsden","Prograde irregular (group unknown, possibly Gallic?)",[44] | |
| ,Saturn,—,S/2004 S 25,4,"21,174,000","1,150.69 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[45] | |
| ,Saturn,—,S/2004 S 26,4,"26,676,000","1,627.18 (r)",2019,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse?),[46] | |
| ,Saturn,—,S/2004 S 27,6,"19,976,000","1,054.45 (r)",2019,"Sheppard, Jewitt, Kleyna, Marsden, Jacobson",Retrograde irregular (Norse?),[47] | |
| ,Saturn,—,S/2004 S 28,4,"22,020,000","1,220.31 (r)",2019,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse?),[48] | |
| ,Saturn,—,S/2004 S 29,4,"16,981,000",826.44,2019,"Sheppard, Jewitt, Kleyna, Marsden",Prograde irregular (Inuit),[49] | |
| ,Saturn,—,S/2004 S 30,3,"20,396,000","1,087.84 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[50] | |
| ,Saturn,—,S/2004 S 31,4,"17,568,000",869.65,2019,"Sheppard, Jewitt, Kleyna, Marsden",Prograde irregular (Inuit),[51] | |
| ,Saturn,—,S/2004 S 32,4,"21,214,000","1,153.96 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[52] | |
| ,Saturn,—,S/2004 S 33,4,"24,168,000","1,403.18 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[53] | |
| ,Saturn,—,S/2004 S 34,3,"24,299,000","1,414.59 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[54] | |
| ,Saturn,—,S/2004 S 35,6,"22,412,000","1,253.08 (r)",2019,"Sheppard, Jewitt, Kleyna, Marsden",Retrograde irregular (Norse?),[55] | |
| ,Saturn,—,S/2004 S 36,3,"23,192,000","1,319.07 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[56] | |
| ,Saturn,—,S/2004 S 37,4,"15,892,000",748.18 (r),2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[57] | |
| ,Saturn,—,S/2004 S 38,4,"21,908,000","1,211.02 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[58] | |
| ,Saturn,—,S/2004 S 39,3,"23,575,000","1,351.83 (r)",2019,"Sheppard, Jewitt, Kleyna",Retrograde irregular (Norse?),[59] | |
| ,Uranus,I (1),Ariel,578.9±0.6,"190,900",2.520,1851,Lassell,Main-group moon,[15][16] | |
| ,Uranus,II (2),Umbriel,584.7±2.8,"266,000",4.144,1851,Lassell,Main-group moon,[15][16] | |
| ,Uranus,III (3),Titania,788.9±1.8,"436,300",8.706,1787,Herschel,Main-group moon,[15][16] | |
| ,Uranus,IV (4),Oberon,761.4±2.6,"583,500",13.46,1787,Herschel,Main-group moon,[15][16] | |
| ,Uranus,V (5),Miranda,235.8±0.7,"129,900",1.413,1948,Kuiper,Main-group moon,[15][16] | |
| ,Uranus,VI (6),Cordelia,20.1±3,"49,800",0.335,1986,Terrile (Voyager 2),Inner moon (shepherd),[15][16] | |
| ,Uranus,VII (7),Ophelia,21.4±4,"53,800",0.376,1986,Terrile (Voyager 2),Inner moon (shepherd),[15][16] | |
| ,Uranus,VIII (8),Bianca,25.7±2,"59,200",0.435,1986,Smith (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,IX (9),Cressida,39.8±2,"61,800",0.464,1986,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,X (10),Desdemona,32±4,"62,700",0.474,1986,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,XI (11),Juliet,46.8±4,"64,400",0.493,1986,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,XII (12),Portia,67.6±4.0,"66,100",0.513,1986,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,XIII (13),Rosalind,36±6,"69,900",0.558,1986,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,XIV (14),Belinda,40.3±8,"75,300",0.624,1986,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,XV (15),Puck,81±2,"86,000",0.762,1985,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Uranus,XVI (16),Caliban,21,"7,231,100",579.73 (r),1997,"Gladman, Nicholson, Burns, Kavelaars",Retrograde irregular,[60][16] | |
| ,Uranus,XVII (17),Sycorax,78.5,"12,179,400","1,288.38 (r)",1997,"Gladman, Nicholson, Burns, Kavelaars",Retrograde irregular,[60][16] | |
| ,Uranus,XVIII (18),Prospero,25,"16,256,000","1,978.29 (r)",1999,"Gladman, Holman, Kavelaars, Petit, Scholl",Retrograde irregular,[15][16] | |
| ,Uranus,XIX (19),Setebos,24,"17,418,000","2,225.21 (r)",1999,"Gladman, Holman, Kavelaars, Petit, Scholl",Retrograde irregular,[15][16] | |
| ,Uranus,XX (20),Stephano,10,"8,004,000",677.36 (r),1999,"Gladman, Holman, Kavelaars, Petit, Scholl",Retrograde irregular,[15][16] | |
| ,Uranus,XXI (21),Trinculo,9,"8,504,000",749.24 (r),2001,"Holman, Kavelaars, Milisavljevic",Retrograde irregular,[15][16] | |
| ,Uranus,XXII (22),Francisco,6,"4,276,000",266.56 (r),2001,"Holman, Kavelaars, Milisavljevic, Gladman",Retrograde irregular,[15][16] | |
| ,Uranus,XXIII (23),Margaret,5.5,"14,345,000","1,687.01",2003,"Sheppard, Jewitt",Prograde irregular,[15][16] | |
| ,Uranus,XXIV (24),Ferdinand,6,"20,901,000","2,887.21 (r)",2001,"Holman, Kavelaars, Milisavljevic, et al.",Retrograde irregular,[15][16] | |
| ,Uranus,XXV (25),Perdita,15,"76,417",0.638,1999,Karkoschka (Voyager 2),Inner moon,[16] | |
| ,Uranus,XXVI (26),Mab,6,"97,736",0.923,2003,"Showalter, Lissauer",Inner moon,[16] | |
| ,Uranus,XXVII (27),Cupid,9,"74,392",0.613,2003,"Showalter, Lissauer",Inner moon,[16] | |
| ,Neptune,I (1),Triton,"1,353.4±0.9","354,800",5.877 (r),1846,Lassell,Retrograde irregular,[15][16] | |
| ,Neptune,II (2),Nereid,178.5±6.5,"5,513,820",360.14,1949,Kuiper,Prograde irregular,[61][16] | |
| ,Neptune,III (3),Naiad,33±3,"48,224",0.294,1989,Terrile (Voyager 2),Inner moon,[15][16] | |
| ,Neptune,IV (4),Thalassa,41±3,"50,075",0.311,1989,Terrile (Voyager 2),Inner moon,[15][16] | |
| ,Neptune,V (5),Despina,75±3,"52,526",0.335,1989,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Neptune,VI (6),Galatea,88±4,"61,953",0.429,1989,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Neptune,VII (7),Larissa,97±3,"73,548",0.555,1982,"Reitsema, Hubbard, Lebofsky, Tholen (Voyager 2)",Inner moon,[15][16] | |
| ,Neptune,VIII (8),Proteus,210±7,"117,647",1.122,1989,Synnott (Voyager 2),Inner moon,[15][16] | |
| ,Neptune,IX (9),Halimede,31,"15,728,000","1,879.71 (r)",2002,"Holman, Kavelaars, Grav, Fraser, Milisavljevic",Retrograde irregular,[15][16] | |
| ,Neptune,X (10),Psamathe,20,"46,695,000","9,115.91 (r)",2003,"Jewitt, Kleyna, Sheppard, Holman, Kavelaars",Retrograde irregular,[15][16] | |
| ,Neptune,XI (11),Sao,22,"22,422,000","2,914.07",2002,"Holman, Kavelaars, Grav, Fraser, Milisavljevic",Prograde irregular,[15][16] | |
| ,Neptune,XII (12),Laomedeia,21,"23,571,000","3,167.85",2002,"Holman, Kavelaars, Grav, Fraser, Milisavljevic",Prograde irregular,[15][16] | |
| ,Neptune,XIII (13),Neso,30,"48,387,000","9,373.99 (r)",2002,"Holman, Kavelaars, Grav, Fraser, Milisavljevic",Retrograde irregular,[15][16] | |
| ,Neptune,XIV (14),Hippocamp,17.4,"105,283",0.9362,2013,Showalter et al.,Inner moon,[62] | |
| ,Orcus,I (1),Vanth,221±5,"9,000±9",9.539,2005,Brown & Suer,Synchronous rotation,[63] | |
| ,Pluto,I (1),Charon,606±0.5,"19,591",6.387,1978,Christy,Synchronous rotation,[15][16] | |
| ,Pluto,II (2),Nix,19.3,"48,671",24.85,2005,"Weaver, Stern, Buie, et al.",Chaotic rotation,[15][16] | |
| ,Pluto,III (3),Hydra,19.5,"64,698",38.20,2005,"Weaver, Stern, Buie, et al.",Chaotic rotation,[15][16] | |
| ,Pluto,IV (4),Kerberos,6.3,"57,729",32.17,2011,Showalter (Hubble),Chaotic rotation,[15][16][64][65] | |
| ,Pluto,V (5),Styx,5.5,"42,393",20.16,2012,Showalter (Hubble),Chaotic rotation,[15][16][66] | |
| ,Salacia,I (1),Actaea,142±5,"5,724±27",5.494,2006,Noll et al.,,[63] | |
| ,Haumea,I (1),Hiʻiaka,~160,"49,880",49.12,2005,Brown et al.,,[10][67][68] | |
| ,Haumea,II (2),Namaka,~85,"25,657",18.2783,2005,Brown et al.,,[10][67][68] | |
| ,Quaoar,I (1),Weywot,~85,"14,500±800",12.438,2007,Brown,,[69] | |
| ,Makemake,—,S/2015 (136472) 1,~87.5,"21,000",>12.4,2016,Parker et al.,,[70][71] | |
| ,Varda,I (1),Ilmarë,163±18[72],"4,809±39",5.751,2009,Noll et al.,,[73] | |
| ,Gonggong,I (1),Xiangliu,50,"24,020±200",25.221,2010,"Marton, Kiss & Müller",assuming a prograde orbit,[74] | |
| ,Eris,I (1),Dysnomia,350±60[8],"37,370±150",15.774,2005,"Brown, Rabinowitz, Trujillo et al.",SDO moon,[75][76][77] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment