Celestia is a stunning program for visualizing 3D objects in space, in real-time. It has a large database of astronomical objects (stars, planets, moons, minor bodies, etc.) that are rendered realistically and are positioned accurately in space and time.
One thing I discovered recently is that Celestia is also eminently programmable. What I mean is that, instead of manually zooming, flying-by and orbiting objects, Celestia can run scripts that execute complex macros. These scripts let you create engaging visualizations — either interactively initiated, or recorded into a video. Panning, zooming, orbiting, accelerating and flying through space with a cinematic flair, which makes for great outreach presentations. The scripting language itself is a fully-featured language (Lua, one of my favorite languages!), so math, looping constructs, data structures are all available.
I am using Celestia to prepare a short talk about how the discovery of exoplanets revolutionized planetary science, and shook a lot of the assumptions that were rooted in centuries of observing our Solar System.
Above is the (draft) first slide of the talk. Each planetary slice is a screenshot from Celestia, using one of the planetary objects that will be touched during the talk. The composition of the slide was inspired by a recent posting on Reddit — a beautiful painting of the planets of the Solar System (I would have died of happiness if I got this painting when I was little!)
Another great feature of Celestia is that every single object is defined within a text file (with references to 3D models, textures, etc.) that are easily modifiable and extendable; a bundle of files placed in Celestia’s extras/ folder is loaded at startup, and the astronomical objects come to life.
This spawned another amazing resource for people doing astronomy outreach, the Celestia Motherlode. The Celestia Motherlode is an extensive repository of mods, textures and objects (even fictional ones!) that are freely downloadable. Some are high-resolution textures of the Solar System planets; others are exoplanetary systems that have been discovered since the discovery of Celestia; others still are beautiful renderings of hypothetical systems.
For my talk, I made several videos. Among them, these will be the background as I explain the basics of planet formation.
A zoom into the inner parts of a protoplanetary disk reveals planetesimals and embryos embedded in it…
[videojs poster=”http://www.stefanom.org/wp-content/uploads/2014/01/planetesimals.png” mp4=”http://www.stefanom.org/wp-content/uploads/2014/01/planetesimals.mov”]
…while outside the ice line, giant cores accrete massive atmospheres from the disk.
[videojs poster=”http://www.stefanom.org/wp-content/uploads/2014/01/giantplanets.png” mp4=”http://www.stefanom.org/wp-content/uploads/2014/01/giantplanets.mov”]
(Please attribute this website if you’d like to reuse them!). These shots were accomplished using scripts and custom textures and models from Motherlode (this add-on which I heavily modified, and this model for the impacted protoplanet).
Since I found Celestia such an useful, little-know tool, I decided to write a series of blog posts on how to use its scripting facilities and create custom planetary systems. Hopefully they will be useful to fellow astronomers!
In the next post in this blog series, I will show how to create this simple animation that shows the orbits of the planets in the Solar System, and then rotates the view to show that the Solar System is rather flat (planet sizes not to scale, of course!):
[videojs poster=”http://www.stefanom.org/wp-content/uploads/2014/01/solar.png” mp4=”http://www.stefanom.org/wp-content/uploads/2014/01/solar.mov”]
Some useful resources to get started:
- Celestia (mirror) – download Celestia.
- Celestia Motherlode – download add-ons for Celestia.
- An Introduction to Celx scripting – a list of scripting commands.
- Note: the shatters.org website that is frequently linked to for Celestia materials is currently shut down.