AngelCode.com > Reference Database

Computer Science/Randomness & noise

.NET  7
Artificial Intelligence  7
  Group behavior  2
  Path finding  16
    A* and its derivatives  6
  Pattern recognition  1
  Steering behavior  2
  World interaction  4
Audio  0
  DirectX  8
  DSP  5
  Ogg Vorbis  2
  OpenAL  1
  Windows  1
Computer Science  2
  Algorithms & data structures  12
    BSP trees  8
  Encryption  12
  Randomness & noise  11
Data storage  4
  File formats  14
    Image  10
  Resource files  2
Game Development  20
  Cheat & crack prevention  10
  Input  3
  Timing  4
Graphics  27
  Character animation  6
  DirectX  24
    Optimizing  8
  Illumination  5
    Deferred lighting  7
    Global illumination  8
    Lighting models  6
    Screen Space Ambient Occlusion  4
    Shadow maps  18
    Shadow volumes  15
  Image processing & synthesizing  19
  Non-polygonal rendering  3
    Ray tracing  3
  OpenGL  12
  Particle systems  7
  Shaders  32
  Simulation  4
    Cloth  2
    Clouds & sky light  7
    Fire & smoke  4
    Liquids  12
  Surfaces & Meshes  8
    Implicit surfaces  6
    Parametric curves & surfaces  7
    Polygon reduction & LOD  3
    Subdivision surfaces  7
  Terrain  7
    Continuous LOD  12
    Generating data  4
    Voxel engines  2
  Text  6
  Transparency  1
  Visibility determination  16
Languages  5
  Assembler  20
  C & C++  26
    C++ exceptions  5
    Calling conventions  12
    Debugging  5
    Memory management  7
    Optimizations  6
  C#  4
  Creating your own language  13
    Garbage collection  7
  D  2
  Java  4
  Scripting  3
    JScript & VBScript  1
    Lua  6
    Other languages  8
    Perl  2
    Python  5
    Ruby  4
Mathematics  3
  Fourier transform  4
  Geometry  6
  Linear algebra, vectors & matrices  9
  Wavelet transform  5
Object design  3
Physics  5
  Body dynamics  8
  Collision detection  10
    Polytopes  6
Platform  2
  Linux  1
  Mac  2
  Windows  13
    COM, ATL & WTL  8
    Dynamically loaded libraries  6
    Hooks  5
    Input  2
    Networking  6
    Screensavers  3
    Services  1
    Shell  2
    Small executables  3
    Windows  8
Web Technologies  8

Making Noise
December 9, 1999 - Ken Perlin
This article is written by the man who fathered perlin noise. It begins with the history of the noise and ends with a detailed explanation of how to generate the noise. It can however be a little difficult to decipher exactly what he means since he doesn't use any figures to demonstrate his formulas.

Mersenne Twister
Jan, 1998 - Makoto Matsumoto, Takuji Nishimura
Compared to the standard implementation of rand() the MT can be made 4 times faster and are many times better, meaning higher degree of randomness and longer period for the returned numbers. The algorithm is free to use commercially.

Perlin Noise
Hugo Elias
This article explains how to create and use perlin noise. Actually, this probably isn't real perlin noise, as in how Ken Perlin did it, but the result looks very similar.

The perlin noise math FAQ
February 2001 - Matt Zucker
This FAQ explains very well what perlin noise is and how to generate it. It also explains how to make it tileable.

Improving Noise
2002 - Ken Perlin
This article describes how to improve the looks and efficiency of the original Perlin Noise function by choosing a special set of gradient vectors that allow for removal of mathematical operations, and also choosing a better interpolation function.

Generating Perlin Noise
February, 2002 - Andreas Jönsson
Describes the original perlin noise algorithm, complete with sample source code.

Ken Perlin's homepage

Noise Machine

ISAAC: a fast cryptographic random number generator
A fast random number generator

Simplex noise demystified
Mar, 2005 - Stefan Gustavson
This article explains how the simplex noise algorithm works. Simplex noise is the second noise algorithm that Ken Perlin invented, and is an improvement over the previous perlin noise algoritm, both in terms of performance and visual quality.

Agner Fog's home page
Agner Fog
This site has valuable information on software optimizations, and also a few other cool stuff, such as random number generators, CPU detection routines, and links to other resources.