TITLE: Kepler
NAME: Steve Sloan II
EMAIL: sloan@geosim.msfc.nasa.gov
WEBPAGE: http://mars.cs.uah.edu/cs/students/ssloan
TOPIC: Math and Physics
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: kepler.jpg
ZIPFILE: kepler.zip
RENDERER USED: 
    Povray v3.01

TOOLS USED: 
    Calculus book, scratch paper.

RENDER TIME: 
    about 10 minutes

HARDWARE USED: 
    SGI Indy 2 Workstation

IMAGE DESCRIPTION: 


In 1609, Johannes Kepler published a book entitled ASTRONOMIA
NOVA (NEW ASTRONOMY). In it, he described the first two of his
three laws of planetary motion. (The third came later.)

    First Law:  A planet moves in an elliptical orbit, with the
                sun at one focus
    Second Law: A planet sweeps out equal areas in equal times
    Third Law:  P^2 = a^3, or the period (time to go around the
                sun) cubed = the maximum width of its orbit cubed

This image illustrates the three laws. It shows a planet at two
points in its elliptical orbit. The two green sectors attached to
the planet illustrate the Second Law, because they represent the
areas swept out in a set time. Note that the planet closer to the
sun sweeps out a sector with a far wider angle than the sector of
the planet farther from the sun. The Third Law is represented by
its equation. (Sources: ASIMOV's CHRONOLOGY OF SCIENCE & DISCOVERY,
for the publishing date, and COSMOS by Carl Sagan for description
and illustration of the laws)


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


I modelled this entirely by hand. I searched through my calculus
book for a simple formula to tell me the area of a sector taken
from an ellipse, given the angle it covers... but there isn't one!
Apparently, you have to use numerical methods (that is, split a
sector into a bunch of little triangles, then add up their areas.)
I used a POV "#while" loop to add up the area of one sector, given
its angle. I then added up little triangles in the other "#while"
loop until the second sector's area was approximately the same area
as the first sector.

To create the planet, I borrowed "PlanetH1.pov" from the demo files
that came with POV, and edited it into "Planet.inc", a little
include file anyone can borrow, which creates the object "planet"
with a radius of 1, so you can scale it to any size you want.

The sun is defined in an include file I created, called "Sun.inc".
To make the sunspots, I used a leopard pigment map of a leopard
color map. Sunspots tend to group together in little clusters, so
each cluster is a large leopard "spot." The area outside the spots
is plain yellow. The leopard "spots" contain a leopard color map,
and that's the actual sunspot pattern. The sun itself is a
"looks_like" light source. I surrounded it with a corona and solar
flares made from two halos (pulled almost straight from the POV
documentation).

The orbit is a torus, scaled to be elliptical.

The sectors are created from a hollow plane (that took me a while
to figure out, by the way) "clipped_by" a wedge created by
"Sector.inc". Just give Sector.inc a start and end angle, and a
wedge height, and it will create a wedge you can use to clip a
sector.

The starfield background is borrowed from a standard starfield in
Stars.inc, which comes with POV.

The formula is a basic text object, with two additional smaller
text objects (the exponents.) I set it to be its own light source,
using "ambient 0.5." This suggests that math is abstract, so it does
not need light from the sun to be seen. (Kinda pretentious, ain't
it?)

The entire scene itself can be changed with a few modifications to
some constants. I suggest changing "a" (the major axis length), "e"
(the eccentricity of the orbit), the position angles of the two
planets, and the total area swept out by the first planet.

