Perlin Noise/zh CN

From Lazarus wiki
Revision as of 09:30, 6 May 2014 by Wangyouworld (talk | contribs) (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.

Ken Perlin 在为电影Tron生成纹理时发明了柏林噪声。如今,它被广泛应用于电影和视频游戏中的自然烟雾,山水、云和任何纹理,包括大理石、不规则玻璃等。


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.

柏林噪声是基于分形的思想,事物在本质上呈现出不同程度的变化。以岩石山为例,可以看到非常大的幅度变化,这是山本身。较小的变化代表了那些山的凹凸,甚至更小的代表岩石。 mountain landscape.png


This application demonstrates a simple noise function with the following properties: 这个应用程序演示了一个简单的噪声函数,它具有以下属性:

  • Only 1 harmonic present只呈现1个谐波
  • 振幅 250 像素
  • 波长 20 像素
  • 频率 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. 这个应用程序演示了多个噪声函数实现的柏林噪声。 它有以下属性:

  • 3 harmonics present显现3个谐波
  • 振幅 250, 125 和 62 像素
  • 波长 20, 10, 和 5 像素
  • 频率 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. 它可以创建tilable纹理的石头、水、木头...与柏林噪声。

这里是如何做到这一点的教程: BGRABitmap tutorial 8



svn co noise