维基副本镜像

这是 pascal.chat 维基的镜像。编辑、历史记录和登录都在那里。

Perlin Noise/zh CN

English · Français · 中文(中国)

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.

这个页面是关于LCL应用程序使用柏林噪声来生成自然图像的教程。它包括基础理论和实际使用的例子,重点是编译的例子。

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](http://mrl.nyu.edu/~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.

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

第一个例子

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

你可以在组合框中选择线性,余弦、三次插值。

文件:

持续示例

This application demonstrates how to sum many noise functions to get a perlin noise function. 这个应用程序演示了多个噪声函数实现的柏林噪声。 它有以下属性:

你可以在组合框中选择线性,余弦、三次插值。

文件:

使用柏林噪声创建纹理

It is possible to create tilable textures of stone, water, wood... with Perlin noise. 它可以创建tilable纹理的石头、水、木头...与柏林噪声。

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

SVN

你可以使用下面的命令下载源代码、示例:

svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/examples/noise noise

外部链接


From the Free Pascal wiki, page "Perlin Noise/zh CN", as it stood on 2015-07-09 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

版本2,最后由WikiArchive于修改。