The fractal planet project includes a suite of programs for generating and simulating virtual planets, often with fractal methods. One can run SPHEREPT to make a planet data file, then FAULTSFP to make it interesting, and then THDEMTRY to view it.
Program | Description | Links |
---|---|---|
Sample Data Files | ||
ATHENA DATA | Sample planet | athena.dat.gz |
ATHENA POI | Sample planet file for points of interest (taken over for a D&D game. | athena.pts |
ATHENA RIVERS | Sample planet river and water data file. | athena.riv |
Planet Generation | ||
SPHEREPT | This will fill up a given amount of harddisk space with a
datafile for fractal planet makers to use. The first 5
characters are 2 nulls on either end and then 3 chars for the
number of horizontal divisions on the sphere. Then there are
5 more chars, again 2 nulls and 3 chars for how many points
are along that horizontal circle. The program will then set
aside 2 bytes for each point, given them an average hieght,
and repeat the last step. Note: This program _must_ be run for every fractal planet made from a sphere of points. |
spherept.c |
FAULTSFP | This fractal planet generator uses "faults," planes cut through a planet that pass through the center, to aggrivate the surfact of the sphere. The points on either side of the plane will have their heights increased while the other points decrease in height. After a couple hundred iterations of the fault-finding program have run, the sphere starts to look a bit like a real planet. | faultsfp.c |
DISTRIBE | After finding the extreme height points from the sphere, DISTRIBE will go through all the points and change them such that they are evenly spread out over 0 and 65536. With the points distributed, it should be easier to give the surface more detail without drastically changing the structure. | distribe.c |
Planet Viewing | ||
ANSIVIEW | To view a completed planet in a spherept file the program will stretch the planet over the length and width of the screen and randomly update the points using a random height from one of the points that the char. covers. | ansiview.c |
ANSIFILE | This program will use the same methods as ANSIVIEW to write a complete map to a text file. It will use only patterned ANSI characters and record the planet over a user defined number of characters horizontally and vertically. The program also tries to simulate more colors by adding the part of color that could not be displayed to the next character. | ansifile.c |
ANSIMOVE | ANSIMOVE allows the program's user to move over the map of
a globe and zoom in on any area of the map to view it up
close. Often, strange colors will appear around the map; this
is from stray heights that are in the map but only appear at
off times because they are out of place, like an island that
takes a long time to discover. A list of commands are as
follows: (F)orward (B)ack (R)ight (L)eft (U)p (D)own (Q)uit (1 - 9) Speed |
ansimove.c |
DATTOPPM | Generates a .ppm image file along the lines of ANSIVIEW. | dattoppm.c |
THDEMTRY | Allows one to view the planet with 3-D simulation, movement, and magnification. | thdemtry.cpp |
River Generation and Viewing | ||
CONCRIV | Algorithm in PPMRIVER applied to a specific region of the globe. | concriv.c |
PPMRIVER | Generates and displays rivers on PPM maps | ppmriver.c |
HALFREDO | Simpler version of PPMRIVER. | halfredo.c |
Combination Programs | ||
COMPLETE | COMPLETE was designed to take care of all viewing for the entire fractal system. The program uses a fully developed, unique 3-D algorithm thatuses complexe vector math to model what one eye would see. Several of the settings are in "#define"s, but the user can also set viewing settings for each viewing or go with the defaults. | complete.cpp |
Imcomplete and Miscellaneous Files | ||
WEATHER | Weather modelling system, with multiple levels of gas which interact under fluid dynamic laws. | weather.cpp |
NAVIER STOKES | Maple printout of important Navier-Stokes equatios (can use to generate into C). | navier-stokes.txt |
OCEANPATH | Test algorithm for travelling to the ocean from a location. | oceanpath.c |
SUN MODELLING | Files for using Magnetohydrodynamics equations to model the sun, and the 3-D graphics algorithms for using them. Very incomplete. | solarmhd.cpp solmodel.cpp |
WRITE | Simple program to convert data file to text file. | write.c |
COMPILES | Compiling information file (very incomplete). | compiles.txt |