Skip to content
Daylight vs. darkness on revolving planet
C Java Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Readme.txt
Sunlight$Calculator$Point.class
Sunlight$Calculator.class
Sunlight$Controls.class
Sunlight$Display.class
Sunlight.class
Sunlight.java
makefile
sunlight.C
sunlight.html

Readme.txt

Sunlight applet:

Calculate the sunlight received on the surface of a planet at some
latitude as a fraction of the maximum possible exposure at that latitude.
The arguments to this function are the date, latitude, and tilt of the
planet's axis of rotation relative to the orbital plane.  The function is
invoked at regular angular intervals as the planet revolves around the sun.
It is assumed for simplicity that the planet moves at a constant rate in a
perfect circle about the sun, and that it has a 365 day year.

Terms:

Angle of latitude: angle north or south from the equatorial plane toward
     the axis of rotation.
Angle of tilt: initial angle of axis of rotation from perpendicular to
     the orbital plane (tilt of north pole away from sun).

User interface:

The user can select and dynamically modify the angles of latitude and tilt.
The planet is shown orbiting the sun from a perspective north of the orbital
plane, graphically depicting both the selected latitude and its sunlight
exposure.  The date and amount of sunlight exposure are also printed.

Calculation procedure:

Consider three geometric objects: (1) the sphere of the planet, (2) a plane
cutting the planet at the desired latitude, and (3) a plane which cuts the
planet in half along the line which demarcates sunlight from darkness.  This
latter plane will rotate on an axis through the center of the planet as the
planet revolves around the sun, thus (possibly) varying sunlight exposure at a
latitude throughout the year.

The intersection of the planes and the sphere may yield either no solution,
a single point, the entire circle of latitude, or a pair of points on the circle.
n the first three cases, the latitude either lies entirely exposed or unexposed
to sunlight.  In the last case, it is partially exposed and the two points can
be used to compute the fraction of the circle exposed to sunlight.

Original C++ program begun on Earth Day, April 22, 1994.
You can’t perform that action at this time.