Creates high-resolution renderings of the Earth and the major celestial bodies in our solar system for astrodynamics applications.
planet3D
planet3D(planet)
planet3D(planet,opts)
planet_surface = planet3D(__)
planet3D
draws the Earth with clouds. Units are in meters by default.
planet3D(planet)
draws the celestial body specified by planet
, which can be input as 'Sun'
, 'Moon'
, 'Mercury'
, 'Venus'
, 'Earth'
, 'Earth Cloudy'
, 'Earth Night'
, 'Earth Night Cloudy'
, 'Earth Coastlines'
, 'Mars'
, 'Jupiter'
, 'Saturn'
, 'Uranus'
, 'Neptune'
, or 'Pluto'
. Units are in meters by default.
planet3D(planet,opts)
does the same as the syntax above, but allows for the specification of optional plotting parameters. opts
is a struct that has the following fields:
Clipping
→'on'
if surfaces should be "clipped" to fit axes,'off'
otherwise (defaults tooff
)Color
→ specifies line colorFaceAlpha
→ specifies how transparent the celestial body is (0 for 100% transparency, 1 for 100% opacity)LineWidth
→ specifies line widthLineStyle
→ specifies line stylePosition
→ specifies the position of the center of the celestial bodyRefPlane
→ specifies which reference plane the celestial body is drawn with respect to. If specified asequatorial
, the reference plane is taken to be the equatorial plane of the celestial body. If specified asecliptic
, the celestial body will be tilted by the obliquity (i.e. the angle between the ecliptic plane and the equatorial plane).RotAngle
→ specifies the rotation angle about the 3rd axis of the celestial body (in degrees)Units
→ specifies the units the celestial body should be drawn in. Units available are'AU'
,'ft'
,'km'
,'m'
,'mi'
, and'nmi'
.
planet_surface = planet3D(__)
does the same as the previous two syntaxes, but also returns the Surface
object defining the planet.
- Use the
background
function (see below) to set the plot background. When usingbackground
to set the plot background, the function call onbackground
must occur before the function call onplanet3D
, otherwise the background will be plotted over the celestial body. - If you want to produce separate plots on separate figures using the
planet3D
function, always use thedrawnow
command before initializing a new figure to ensure that the correct plots are drawn on the correct figures. - All fields of
opts
do NOT have to be defined; when a field is left undefined, the rest of the plot settings are set to default values. Additionally,Color
,LineWidth
, andLineStyle
are only relevant when plotting the Earth's coastlines.
Sets the plot background for drawing celestial bodies in 3D.
background(spec)
background(spec)
sets the plot background for drawing celestial bodies in 3D. spec
refers to the specified background, and can be set to 'Black'
, 'Stars'
, or 'Milky Way'
.
- The function call on
background
must occur before the function call onplanet3D
.
- See
EXAMPLES.mlx
or the "Examples" tab on the File Exchange page for examples. - See Visualizing Celestial Bodies in 3D.pdf (also included with download) for additional documentation.
- Open
3D Earth and Celestial Bodies (planet3D).mltbx
in theINSTALL
folder to install as a toolbox. MATLAB will automatically perform the installation and add all the functions, images, and data to the MATLAB search path. - Alternatively, the "planet3D" folder can be copy and pasted into the folder containing the script that you want to use the functions in. At the beginning of the script, include
addpath('planet3D')
to add all functions, images, and data to the MATLAB search path.