Cassini at Saturn
The Cassini spacecraft took this image of Saturn, its small moon Mimas (the dot on the right) and the A ring (the beige streak at the bottom) on November 7, 2004. The dark bands on the surface of Saturn are shadows cast by the ring system. (Image credit: NASA / JPL / Space Science Institute.)
This is a neat image, but it reminds me of the sort of surreal ultrazoom used frequently in the opening scenes of the Rugrats cartoons. We're so close to Saturn, it's hard to figure out what we're looking at.
The other two images zoom out to reveal what part of Saturn was captured in the photograph. They're computer simulations of what Saturn looked like from Cassini's position in space.
The widest field of view here is still only five degrees, about what you'd see with a 35mm SLR using a 400mm lens. Even so, if you'd been riding along with Cassini somehow, the planet alone would've loomed almost four times larger than the Moon in Earth's night sky. What a sight that would be.
I used LightWave for the simulated images. An easier way is to use the planet viewing tools provided on NASA's Planetary Rings Node website. You can get accurate line drawings of Saturn as seen from Cassini, or almost anywhere else, at any date and time you choose. Several home astronomy programs can do something like this, too.
General-purpose 3D animation software, although capable of making much prettier images, doesn't have any astronomy built in. You have to do it all yourself. But that's part of the fun. I'd already made a Saturn model and written a shader for the rings. All I needed were the relative positions and orientations of Saturn and Cassini at the right date and time, which, judging from the position of Mimas, was close to 0:00 UT (5:00 a.m. EST) on 7 November 2004.
The positions are in spherical heliocentric ecliptic coordinates. The longitude and latitude are angles in degrees, just like they are on the surface of the Earth, but 0 degrees latitude is at the plane of the Earth's orbit (the ecliptic) rather than the equator. The distance from the sun, at the origin, is in astronomical units (the distance between the sun and the Earth is 1.0 AU). The inclination i is Saturn's tilt relative to the ecliptic, in degrees. Omega is the longitude of the ascending node of the ring plane, which tells you which way the tilted Saturn is facing.
The corresponding settings in LightWave are
LightWave uses left-handed rectangular coordinates, with the y-axis pointing up and the z-axis pointing away. Heading, pitch and bank are Euler angles (rotations around y, x, and z, respectively). Since my Saturn model has an equatorial radius of 1.0, it was convenient to express the position of Cassini (the camera) in units of Saturn radii. Saturn's heading and pitch are just i and omega. The camera's heading and pitch point it toward Saturn, and the bank rotates the image plane to match the photograph. The sun's light, defined solely as a direction, is just the (suitably converted) ecliptic longitude and latitude of Saturn.
Cassini was launched on October 15, 1997 and arrived at Saturn the first week of July, 2004. I watched the NASA TV coverage of SOI (Saturn Orbital Insertion) with the same excitement I remember from Apollo. See the Jet Propulsion Laboratory's Cassini Home Page for more about the mission.
A few months before the launch, I worked briefly on an animation project that featured the Cassini spacecraft. I had the privilege of being helped by JPL mission designer David Seal, who has produced a lot of NASA's most widely seen Cassini computer graphics.
The spacecraft model I created contains 27,698 polygons. It's based on two previous computer models (now available in various forms on Dave Seal's website) and on videotape and still images taken during construction of the real spacecraft.
I also wrote a custom LightWave shader to render Saturn's ring system. The shader uses a mathematical model of the optical properties of the rings to calculate brightness and transparency at each pixel. (Dave helped me a lot with this, explaining and providing source code for the Henyey-Greenstein scattering and even relaying an antialiasing question to computer graphics graybeard Jim Blinn, who'd written similar ring code for NASA's in-house animation software, SPACE.) More recently, I've added a color profile I created from Cassini imagery.
Although I've always had an armchair interest in space exploration and amateur astronomy, the research I did for this project inspired me to actually buy a telescope, the 8-inch Celestron Dob, in the summer of 1997. I now have three five, including the old Sears refractor in which, as a kid, I first saw Saturn's rings with my own eyes.