Noise synthesis examples

The example below is a Java applet which calculates a fractal surface based on various noise synthesis methods and displays it as a grayscale image. The image does not wraparound in either x or y.

One example which is missing from this page is a pure multiplicative multifractal, primarily because I haven't experimented enough to get a good set of parameters. The look of the surface changes significantly as the parameters change; I highly recommend that you buy the book and play around with the code to find out what works for you.


Basic noise synthesis of an fBm surface.

Basic additive noise synthesis, except that higher frequencies are scaled by altitude to exaggerate roughness.

Hybrid additive/multiplicative multifractal model.

Ridged multifractal.


Source code

The source code is adapted from companion code for Texturing and Modeling: A Procedural Approach, one of the primary noise synthesis texts. More information about this book is available below, or in my bookstore. The original C code is available at ftp://archive.cs.umbc.edu/pub/texture

The source code is divided into two classes:

Applet user interface
NoiseSynthesisApplet.java, which provides the display shell and selection of points to render.
Noise synthesis
PerlinSolidNoiseGenerator.java, an implementation of the SolidNoiseGenerator interface, which encapsulates Perlin and Musgrave's functions into a common framework.

This code is still under development, to bring it in line with the Mogensen planet generator. In particular, the color function will probably be removed from the interface and moved into a separate class, while access to and changing of the random number seed will probably be moved into the interface.


Reference

Texturing and Modeling: A Procedural Approach
Ebert, D., Musgrave, K., Peachey, P., Perlin, K., and Worley, S.
AP Professional, September, 1994. ISBN 0-12-228760-6
Web site:
http://www.cs.umbc.edu/~ebert/book/book.html

Would you like to own this book?


Up to noise synthesis methods Up to the noise synthesis page

Back to my home page Back to my home page

© 1996 cburke@mitre.org


This page hosted by GeoCities Get your own Free Home Page


1