This is documentation for an obsolete product.
Current products and services

 Documentation /  Scientific Astronomer /  Planet Plotting Functions /


5.2 The PlanetPlot3D Function

PlanetPlot3D is useful for displaying how a planet would look from a given viewpoint on a given date. Typically, the default viewpoint is the Earth, but if the planet is the Earth itself, then the default viewpoint is the Sun.

Plotting surface features in three dimensions.

For any planet, the general color, axis orientation, and solar illumination is always shown by PlanetPlot3D. However, for the Earth, the Moon, and Mars, surface features are also shown. For Jupiter, cloud features such as the Great Red Spot are shown; and for Saturn, rings are displayed.

There are other special circumstances that the PlanetPlot3D function can indicate. For example, the Moon's shadow is shown on the Earth during a solar eclipse, and the Earth's shadow is shown over the Moon during a lunar eclipse. All the transits, occultations, shadows, and eclipses of the Galilean moons are shown with Jupiter. Similarly, transits of Mercury and Venus are shown on the Sun's disk.

Listing of planetary details returned by PlanetPlot3D.

PlanetPlot3D also works with Moon. The function lets you label features as well.

Here PlanetPlot3D displays a three-dimensional plot of the Earth as seen from Mars on the given date.

In[6]:=PlanetPlot3D[Earth, {1993,11,17,3,20,0},
ViewPoint -> Mars];

A plot from Earth's viewpoint shows the crescent shape of the Moon just after the new moon.

In[7]:=PlanetPlot3D[Moon, {1993,11,17,3,20,0},
ViewPoint -> Earth];

Use FeatureLabels -> True to label the surface features on a full moon.

In[8]:=PlanetPlot3D[Moon, FullMoon[], FeatureLabels->True];

The Great Red Spot happens to be at the back of Jupiter at 03:20 on 1993 November 17. The Great Red Spot and the three White Spots make one full rotation around Jupiter in a period of nearly 10 hours. The precise position of the Great Red Spot is adjusted by setting $JupiterGreatRedSpotLongitude.

In[9]:=PlanetPlot3D[Jupiter, {1993,11,17,3,20,0}];

In this plot, one day later, the Great Red Spot is visible on the lower right. The Galilean moon Io, represented by the green dot, is in transit across the Jovian disk and is just about to egress on the right, or westward, side of Jupiter.

In[10]:=PlanetPlot3D[Jupiter, {1993,11,16,3,20,0}];

In the plot of Jupiter, black dots show the shadows of the Galilean moons when they happen to fall on the Jovian disk. Similarly, Galilean moons are shown in a slightly darker green color if they are eclipsed from the Sun but still visible from the Earth.

Other Planets

During 1995 the rings of Saturn appeared edge-on as viewed from the Earth, but seven years later, in the year 2002, they become fully open again, just as they were in 1987. Ring features such as these are shown in the graphic.

In the case of Mars, surface features you might see in a telescope are displayed in the graphic. To help you align the features with a two-dimensional map, a green cross is placed at zero longitude and latitude, and grid lines are marked 30 degrees apart from that point. During a Martian winter, the appropriate polar cap is indicated with a white area, although this is not always visible through a telescope.

In this plot, you can see that the closer part of the rings are covering the northern tip of Saturn, which is in the direction of the north celestial pole.

In[11]:=PlanetPlot3D[Saturn, {2002,1,1}];

Note the zero of longitude and latitude, indicated with the green cross, on the right edge of Mars. The main feature covering most of the left is Amazonia.

In[12]:=PlanetPlot3D[Mars, {1993,11,17,3,20,0}];

This plot shows the transit of Venus across the solar disk on 1882 December 7.

In[13]:=PlanetPlot3D[Sun, {1882,12,7,4,0,0}];

Finally, you can show transits of Venus across the solar disk. Transits of Venus are quite rare, but the next one is expected in the year 2004. See the Appendix for a list of the years when transits occur. EclipseBegin can be used to compute the precise dates.


There are a number of options available with PlanetPlot3D. The ViewPoint and ViewVertical options are particularly useful. By default ViewVertical -> {0,0,1} causes the graphic to be aligned so that the vertical is perpendicular to the plane of the Earth's orbit around the Sun. That is, the horizontal is parallel to the ecliptic. However, you can set that option to any object; for example, ViewVertical -> Zenith aligns the graphic so that up corresponds to your local vertical.

Thus, PlanetPlot3D[Saturn, {1993,11,17,3,20,0}, ViewVertical -> Zenith]; effectively gives you the telescopic view of Saturn, with the horizontal and vertical in the graphic corresponding to the horizontal and vertical of your current location on Earth. Of course if you are using a telescope which inverts the view (and most telescopes do invert the image-that is, rotate it 180 degrees) then use the option ViewVertical -> Nadir.

Similarly, you can set ViewVertical -> Sun to align so that the Sun is in the direction of the top of the graphic.

Another option available is ViewPoint. The default value is Automatic, which refers to either Earth or Sun depending on the planet you are viewing. If you are viewing Earth, the default is ViewPoint -> Sun, which shows the Sun's viewpoint. However, you can use, say, ViewPoint -> Zenith to show the Earth as viewed from directly above your current location. Similarly, ViewPoint -> SouthCelestialPole shows the Earth as seen from below the South Pole.

Observe a plot of the Earth as seen from directly above the current location, which is Melbourne, Australia in this case. The part of the globe that is not illuminated by the Sun is correctly shown here. Shading can be switched off with the option setting Shading -> False.

In[14]:=PlanetPlot3D[Earth, {1994,11,17,3,20,0},
ViewPoint -> Zenith];

Yet another option, available to both PlanetPlot3D and PlanetPlot, is Features. This option lets you add surface features and other markings to an object. The default value is Features -> {}.

The value required by the Features option must be built using normal graphics primitives such as Point, Line, Rectangle, Disk, Circle, Polygon, and Text. You can also use attributes such as RGBColor, PointSize, and Thickness.

The coordinates supplied to the graphics primitives must be given in essentially planetographic coordinates; that is, the first number must be the longitude in degrees, and the second number must be the latitude in degrees. An optional third number adds altitude in kilometers. For example, the option Features -> {RGBColor[1,0,0], Circle[{-11, -43}, 1.2]} corresponds to a red circular "crater" at a planetographic longitude of -11 degrees and latitude of -43 degrees. It is 1.2 degrees in radius as measured from the center of the planet. Be careful to give angles in degrees, rather than radians.

Here are specific graphics primitives to label the Apollo lunar landing sites.

In[15]:=myfeatures = Apply[{RGBColor[1,0,0],
Line[{#2+{1, 1}, #2-{1, 1}}],
Line[{#2+{1,-1}, #2-{1,-1}}],
Text[#1, #2+{0,-3}]}&, {
{"11", {+23.82,+ 0.67}},
{"12", {-23.38,- 3.20}},
{"14", {-17.47,- 3.67}},
{"15", {+ 3.65,+26.10}},
{"16", {+15.52,-11.00}},
{"17", {+30.77,+20.17}}}, 1];

This displays the features of the Moon. The Shading option is used to suppress the shading of the night side of the Moon.

In[16]:=PlanetPlot3D[Moon, {1998, 1, 4},
Shading -> False,
FeatureLabels -> True,
Features -> myfeatures];