毕设外文翻译
Generating Random Fractal Terrain
Part I: Generating Random Fractal Terrain
Introduction
Ten years ago, I stumbled across the 1986 SIGGRAPH Proceedings and was awestruck by one paper in particular, entitled The Definition and Rendering of Terrain Maps by Gavin S. P. Miller 1 . It described a handful of algorithms for generating fractal terrain, and the authors also introduce a new method which they considered to be an improvement.
Initially I was impressed that these algorithms (even the algorithms considered "flawed" by the authors) could create such incredible landscape images! Then, upon reading the paper, I was floored by the simplicity of these algorithms.
I've been a fractal terrain addict ever since.
The math behind the algorithm can get quite complex. However, completely understanding the math is not a prerequisite for grasping the algorithm. And that's good. Because if I had to explain all the math to you before explaining the algorithm, we'd never get to the algorithm. Besides, there is literally tons of material out there on the mathematical concepts involved in fractals. See the references at the end of this article for a good start.
For the same reasons that I won't go into the math details, I can't include a broad overview of fractals and everything they can be used for. Instead, I'm going describe the concepts behind fractal terrain generation, and give a focused and detailed description of my personal favorite algorithm: the "diamond-square" algorithm. I'll demonstrate how to use this algorithm to statically tessellate an array of height data that can be used for geometric terrain data, terrain texture maps, and cloud texture maps.
What can you do with a fractal terrain? I assume you already know that; that's why you're
reading this. Random terrain maps are great for flight simulators or making texture maps to use as a background (showing a distant mountain range, for example). The same algorithm that