0

わかりやすいPerlinNoiseチュートリアルはそれほど多くなく、Javaや2Dでは確かにありません。私はこのチュートリアルをある程度まで実行しましたが、2Dノイズについてはまったく説明していません。数値の配列を生成してから、それらとすべてを補間する必要があることを私は知っています。私の問題は、数値の結果に影響を与えるのに役立つ周波数、持続性、または振幅を実装する方法がわからないことです。誰かが私にいくつかの基本的なパーリンノイズ関数またはJavaまたは同様の言語での2Dパーリンノイズチュートリアルへのリンクを教えてもらえますか?ありがとう!

編集:誰かが少なくともプロセスを簡単に説明できますか、または生成に影響を与えるために周波数、振幅、および永続性を実装する方法を説明できますか?お願いします :)

4

1 に答える 1

2

振幅周波数は、パーリンノイズ生成の自由変数ではありません。代わりに、永続性と呼ばれるものによってパラメーター化されます。

ノイズ関数は、いくつかの基本的な関数の合計です。

n(x) = sum( n_i(x*f_i) * a_i, i=0..N-1)

各関数はオクターブと呼ばれるため、インデックスによって番号が付けられますi。値f_iは周波数とa_i振幅を示します。前に述べたように、それらはインデックス自体によって完全に決定され、永続性iによってパラメータ化されます。 p

f_i = 2^i
a_i = p^i

各ノイズ関数n_i(x)は周波数1と振幅に対して正規化されていますが1、全体的な項にn_i(x*f_i) * a_iは、上記の式で与えられる周波数と振幅が含まれています。

言い換えると、ノイズ関数n(x)はオクターブの合計であり、最初のオクターブには周波数1と振幅1があり、2番目の関数には周波数2と振幅pがあり、3番目の関数には周波数と4振幅p^2があります。

于 2011-12-26T17:39:24.343 に答える