GithubHelp home page GithubHelp logo

tamaskis / planet3d-matlab Goto Github PK

View Code? Open in Web Editor NEW
16.0 1.0 2.0 270.56 MB

Creates high-resolution renderings of the Earth and the major celestial bodies in our solar system for astrodynamics applications.

License: MIT License

MATLAB 100.00%
astrodynamics rendering planet plot solar-system sun moon mercury venus earth

planet3d-matlab's Introduction

planet3D View 3D Planets and Celestial Bodies (planet3D) on File Exchange

Creates high-resolution renderings of the Earth and the major celestial bodies in our solar system for astrodynamics applications.

Syntax

planet3D
planet3D(planet)
planet3D(planet,opts)
planet_surface = planet3D(__)

Description

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 to off)
  • Color → specifies line color
  • FaceAlpha → specifies how transparent the celestial body is (0 for 100% transparency, 1 for 100% opacity)
  • LineWidth → specifies line width
  • LineStyle → specifies line style
  • Position → specifies the position of the center of the celestial body
  • RefPlane → specifies which reference plane the celestial body is drawn with respect to. If specified as equatorial, the reference plane is taken to be the equatorial plane of the celestial body. If specified as ecliptic, 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.

Note

  • Use the background function (see below) to set the plot background. When using background to set the plot background, the function call on background must occur before the function call on planet3D, 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 the drawnow 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, and LineStyle are only relevant when plotting the Earth's coastlines.





background

Sets the plot background for drawing celestial bodies in 3D.

Syntax

background(spec)

Description

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'.

Note

  • The function call on background must occur before the function call on planet3D.





Examples and Additional Documentation





Installation

  • Open 3D Earth and Celestial Bodies (planet3D).mltbx in the INSTALL 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.

planet3d-matlab's People

Contributors

tamaskis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

planet3d-matlab's Issues

The surface slowly gets out of sight as you zoom

Awesome high res render of the earth! Just wondering is there a way to prevent the 'sides' of the Earth from disappearing when you zoom in? I'm assuming this has something to do with the way the surface is created and it is 'out of the dimensions' of the viewing box or some sort. Thank you!
Capture

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.