10

gamedev.SE、Perlin-noise のフラッシュ実装が他の実装からかなり逸脱しているように見えることを発見しました。

オンラインで実装の詳細を見つけることはできませんでしたが、フラッシュのパーリン ノイズにどのアルゴリズムが使用されているかわかる人がいるかどうか疑問に思いました。

を使用すると、パラメーターbitmapData.perlinNoise(32, 32, 1, 200, false, false, 7, true);のみが変更された次のような画像が生成されます ( 、、左から右へ)。numOctaves124

フラッシュのパーリン ノイズ

ただし、パーリン ノイズの他の実装はかなり異なって見えます。たとえば、Perlin-noise に関するウィキペディアの記事の画像:

ウィキペディアに記載されているパーリン ノイズ

また、この Perlin-noise の Actionscript 実装で1は、次の画像 (Octaves 、2および4左から右へ)でわかるように、まったく異なる結果が生成されます。

パーリン ノイズ AS3

私が最も興味を持っているのは、わずか 1 オクターブのノイズの外観です。フラッシュの実装では、ノイズが分離したブロブのようなものを形成していることがはっきりとわかります。

重要:フラッシュで発生するノイズはパラメータに使用さfalsefractalNoiseます。fractalNoiseが に設定されている場合true、実際の結果はウィキペディアや他の実装の結果と非常によく似ています。

パラメータの説明は次のとおりです。

ブール値。値が true の場合、メソッドはフラクタル ノイズを生成します。そうしないと、乱気流が発生します。乱気流のある画像では、グラデーションに目に見える不連続性があり、炎や海の波などのよりシャープな視覚効果をより適切に近似することができます。

ご覧のとおり、彼らは乱気流について話し、ノイズを生成する方法を説明しています。だから私は質問だと思います:フラッシュによって生成された出力はまだパーリンノイズですか? それとも、そのようなノイズの別の名前はありますか? そして最も重要なのは、このようなノイズを作成する実装をどこで見つけることができるかということです。

4

2 に答える 2

4

用語については、明らかに混乱があります。しかし、技術的には、パーリンが説明したノイズは、合計なしの 1 オクターブでした。ウィキペディアの最初の画像のように見えました。

実際にそれを使用する人はほとんどいないと確信しています。誰もが数オクターブ加算し、通常は低い周波数で振幅を大きくします。「どれだけ大きいか」は持続性です。とにかく、それを足し合わせると、フラクタルノイズと呼ばれます。

「パーリン ノイズ」とは、実際にはランダムなグラデーションの束を作成し、それらを補間することを意味するだけです。しかし、人々はフラクタル ノイズをパーリン ノイズと呼んでいます。これは、いくつかのパーリン ノイズ波の合計であるためです。

多くの場合、リファレンス実装のように、Perlin およびシンプレックス ノイズ関数は 0 を中心とし、(場合によっては) [-1, +1] にスケーリングされた値を出力することに注意してください。また、これらは似ていますが、完全に同一ではありません。シンプレックス ノイズは少し異なって見えます。これらは両方ともパーリン ノイズと呼ばれることがあります。Ken Perlin が最初にパーリン ノイズ (彼は単に「ノイズ」と呼んだ) を考え、その後、いくつかの冗長性を取り除いてシンプレックス ノイズ (彼は「改善されたノイズ」と呼んだ) を作成することで高速化したためです。 )。シンプレックスは、それ自体が少し暗く見える可能性があり (グリッドが異なるため、明らかに異なるように見えます)、高次元ノイズを介したセクションは、Perlin と同じように動作しません。

于 2012-03-04T10:23:27.693 に答える
1

画像処理を行ってから長い時間が経ちましたが、おそらくこれが役立つでしょう:

参考文献: (そして、答えを知っている人々... ) http://www.kelvinluck.com/assets/perlin_noise_experiments/http://www.quasimondo.com/archives/000672.phpsjeiti.com/?p=305

私の理解では、Flash の実装は浮動小数点数ではなく整数計算に基づいて結果を出力しています。これにより、レンダリングが高速である理由が説明されますが、外観もわずかに異なります。

少なくともあなたを正しい方向に導くことを願っています...

于 2011-12-24T03:13:56.200 に答える