James F. Blinn Member of Technical Staff Jet Propulsion Laboratory Pasadena, California 91103 USA 1980
The overall production of such a movie proceeds in two steps. The first step consists of a simulation of the paths of all relevant bodies (planets and moons) and of a simulated "camera crew". A schematic depiction of the proposed movie can be viewed quickly on an line drawing display. Any parameters of the movie are then adjusted to give the most pleasing effect. The second step consists of generating the frames of the movie as shaded color images. Each object is drawn separately from the others and is overlayed in a frame buffer over whatever is already drawn. This allows the organized use of several small, specially tailored programs rather than requiring one large general purpose one, important if a small computer is being used.s
Once the three dimensional positions of all objects are known, a view can be made of the situation by specifying a location for the desired eyepoint and a desired viewing direction. The eyepoint is positioned relative to one of the celestial bodies, typically the spacecraft. Thus the observer appears to ride along near the spacecraft as it passes through the planetary system. The vector from the spacecraft to the observers position is calculated in one of two modes. In "manual" mode its X,Y,and Z coordinates are set directly. In "automatic" mode the length of the vector is specified as well as the desired position of the spacecraft on the screen. The program then calculated the appropriate displacement vector to satisfy these two constraints. The viewing direction is likewise specified in one of two ways. In manual mode, the direction is set in terms of X,Y and Z coordinates. The automatic mode is specified in terms of some desired target body and its desired screen location. The viewing vector is then calculated to produce the desired view. If both the eyepoint and viewing direction are being calculated a simple closed form solution to the constraints is not possible and an iterative scheme is used. This mode, however, gives the most pleasing results as the simulated time moves forward. The resultant pictures have the spacecraft in the foreground and some moon or planet in the background.
Finally, the script of the movie itself was specified. The intended three minute running time of the final film represents over 4000 frames to calculate. The interesting events of the fly-by encompass about 72 hours of real time. Thus the simulated time was about 2 seconds of screen time per hour of real time. As a spacecraft passes through a planetary system the various moons pass by in different directions as well as the planet itself. Therefore the target body is changed for different portions of the movie. All the information necessary for any desired view is given in a set of viewing parameters. The values of these parameters for various key frames of the movie are stored in a table. Then given any frame number the desired viewing parameters are generated by interpolation from this table. This has the advantage of making any frame number immediately accessable (vs incremental mode). Thus the production process can easily be restarted at any point in the movie.
Images of the spacecraft were made in a fairly conventional fashion by modelling it as a collection of polygons and using a polygon based shading algorithm. The database was generated by digitizing portions of the blueprints of the spacecraft into a set of polygon generation commands. Certain shapes whch recurred often in the process were built in to the program as primitives, e.g. tubular struts were described to the program simply in terms of the endpoints and radius of the strut. These higher level descriptions were converted into two or three polygons at image generation time when the desired viewing geometry was known. The spacecraft camera boom was also encoded in a way to make it articulated in the same manner as the real spacecraft.
The surface features of the moons of Jupiter were not known in any detail prior to the fly-by of Voyager 1. It was therefore necessary to create a hypothetical set of maps for the surfaces and to enter them into the computer as arrays of intensity values. This was accomplished by using a frame buffer painting program, a standard tool for manipulating and creating image information. The program operates by monitoring the position of a digitizing pen on the surface of a tablet and by writing new intensity values in the frame buffer as a response to the artist pen motions and pressure. An astronomical artist names Rick Sternbach was employed to create the maps of the four gallilean sattellites using the best scientific data available at the time as inspiration. These maps were used in the productin of the Voyager 1 flyby movie. .paragraph Once the images of the real appearances of the moons and of Jupiter were returned by Voyager 1 it was desirable to use them to produce more accurate maps for the production of the Voyager 2 movie. Therefore, a new set of maps were produced by manipulating the images sent back by Voyager 1. In effect, this amounted to running the image making process in reverse. For each moon, four or five images were selected that together covered the entire surface. For each picture, the time at which it was made was entered into the simulation program and a transformation matrix was calculated which represented the viewing geometry. Then, each lattitude and longitude in the map was transformed via this matrix yielding a pixel coordinate on the real image. The intensity value at this pixel was then placed in the map at the appropriate place. The several views were then blended together with come correction for lighting effects to produce a final map. Once this map was generated it was then possible to make images of the moon or of Jupiter from viewing angles other than those where the picture was taken.
The display medium for the final frames consisted of a frame buffer with 8 bits per pixel. This does not provide enough resolution for a full color display.
Most of the objects (moons and planets) in the scenes are quite simple geometrically (i.e. spheres and ellipsoids) but have quite complex surface markings.
The spacecraft itself was rendered using a fairly standard polygon based hidden surface algorithm.
Added enhancements to some of the scenes fall into the category of "special effects".
The resulting frames must then be transferred to film. All editing functions normally performed with an optical printer were performed by computer programs.
Saturn Ring Plane Crossing Home Page