to compute the height of a point in the diamond-square fractal terrain generation algorithm, one needs to know the heights of its surrounding points at the next largest scale. height of the central point is then computed as the average of those surrounding points modified by a scaled random delta. however, to compute the heights of the surrounding points, one needs to know their surrounding points, and so forth. in order to concretely calculate heights, the chain of dependencies on larger scales cannot continue forever.
to deal with this, points at a certain scale and larger must have heights specified absolutely. the common way to do this is to choose those absolute heights by sampling them all from the same probability distribution. such sampling is analogous to a scale called the End of Greatness in astronomy and cosmology: things become uniform at huge scales.
the 30-second video below demonstrates fractal terrain generation in 2D (1D of domain, 1D of range). (future post: source code.) when the terrain has zoomed out by a factor of 1.5 * 10^26 near the end of the video, things begin to look uniform. this zoom-out factor was chosen to approximate the size difference between a human and the 100 megaparsec (300 million light year) End Of Greatness scale observed by astronomers.
using some different fractal terrain generation algorithm, is it possible to allow zooming out forever without things ever becoming uniform? is it possible to create a loop where the smallest scale is identical to the largest scale? this might have the feeling of constructing a causal loop using time travel.
No comments :
Post a Comment