heightfield lab
heightfield lab---what it be
heightfield lab---what it be
- a Mac OS X implementetion of john beale's classic unix command line application heightfield lab
features
- built from the ground up for Cocoa a native Cocoa Objective-C-classes used to call APIs in Mac OS X.
- using OpenGL® to display the resulting triangle meshes.
- displays top four stack elements color keyed simultaneously using OpenGL® triangle meshes
- optimized to take advantage of the 64-bit architecture, altivec 128-bit computational vector unit, and multi-threaded symetrical multiprocessing capabilities of the dual g5 processor equipped power mac
- exports to:
background
- HF-LAB is founded on the principle of inverse fast fourier transormation unique (and amazing) property of edges aligning to form tileable squarerandom fractal forgeries, the term coined by Richard F. Voss of the IBM Thomas J. Watson Research Center for seemingly realistic pictures of natural objects generated by simple algorithms embodying randomness and fractal self-similarity. The techniques used by ppmforge are essentially those given by Voss[1], particularly the technique of spectral synthesis explained in more detail by Dietmar Saupe[2].
- This spectral synthesis technique is based on research by Richard F. Voss of the IBM Thomas J. Watson Research Center and Dietmar Saupe begins with the preparation of an array of random data in the frequency domain. The size of this array, the ``mesh size,'' can be set with the -mesh option; the larger the mesh the more realistic the pictures but the calculation time and memory requirement increases as the square of the mesh size. The fractal dimension, which you can specify with the -dimension option, determines the roughness of the terrain on the planet or the scale of detail in the clouds. As the fractal dimension is increased, more high frequency components are added into the random mesh. Once the mesh is generated, an inverse two dimensional Fourier transform is performed upon it. This converts the original random frequency domain data into spatial amplitudes. We scale the real components that result from the Fourier transform into numbers from 0 to 1 associated with each point on the mesh. You can further modify this number by applying a ``power law scale'' to it with the -power option. Unity scale leaves the numbers unmodified; a power scale of 0.5 takes the square root of the numbers in the mesh, while a power scale of 3 replaces the numbers in the mesh with their cubes. Power law scaling is best envisioned by thinking of the data as representing the elevation of terrain; powers less than 1 yield landscapes with vertical scarps that look like glacially-carved valleys; powers greater than one make fairy-castle spires (which require large mesh sizes and high resolution for best results). After these calculations, we have a array of the specified size containing numbers that range from 0 to 1. The pixmaps are generated as follows:
- previous development work by: John P. Beale, Heiko Eissfeldt, Michael Lamertz, Robert Bertram, John Walker, T.Hruz, I. Povazan, R. Gosiorovsky
- Voss, Richard F., ``Random Fractal Forgeries,'' in Earnshaw et. al., Fundamental Algorithms for Computer Graphics, Berlin: Springer-Verlag, 1985
- Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images, New York: Springer Verlag, 1988
heightfield lab commands
- HF Creation:
- forge
- random
- constant
- zero

