Fractal Planet Project

See my Old Fractal Planet Project Page.

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.
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
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
WRITE Simple program to convert data file to text file. write.c
COMPILES Compiling information file (very incomplete). compiles.txt