Perlin Noise/zh CN
│
English (en) │
français (fr) │
中文(中国大陆) (zh_CN) │
This page is the start of a tutorial about using Perlin Noise on LCL applications to generate natural looking images. It will cover both basic theory and real usage examples, with a focus on compilable examples.
Perlin Noise was invented by Ken Perlin to generate textures for a movie called Tron. Today it is widely used on movies and video games to produce natural looking smoke, landscapes, clouds and any texture including marble, irregular glass, etc.
入门
Perlin Noise is based on the idea of fractals, that things in nature show different degrees of change. On a rocky mountain landscape for example when can see changes with a very big amplitude, which are the mountains themselves. Smaller changes represent irregularities on those mountains and even smaller ones represent rocks.
第一个例子
This application demonstrates a simple noise function with the following properties:
- Only 1 harmonic present
- Amplitude of 250 pixels
- Wavelength of 20 pixels
- Frequency of 0.05
- You can use a combo box to choose between Linear, Cossine and Cubic interpolation
文件:
- noise1d.lpi
- noise1d.dpr
- noise.pas
持续示例
This application demonstrates how to sum many noise functions to get a perlin noise function. It has the following properties:
- 3 harmonics present
- Amplitudes of 250, 125 and 62 pixels
- Wavelength of 20, 10, and 5 pixels
- Frequency of 0.05, 0.1, 0.2
- You can use a combo box to choose between Linear, Cossine and Cubic interpolation
文件:
- perlin1d.lpi
- perlin1d.dpr
- noise.pas
使用柏林噪声创建纹理
It is possible to create tilable textures of stone, water, wood... with Perlin noise.
Here is a tutorial on how to do this: BGRABitmap tutorial 8
SVN
You can download the source code for the examples and the library using this command:
svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/examples/noise noise
外部链接
- Article with the theory of Perlin Noise.