53

シンプレックスが出た後、なぜ今日もパーリンノイズがとても人気があるのか​​知りたいです。シンプレックスノイズはKenPerlin自身によって作成され、高次元では低速で高品質(目に見えるアーティファクトなし)の古いアルゴリズムを引き継ぐことが想定されていました。

シンプレックスノイズは2001年に発生し、その10年間、地形の高さマップの生成、手続き型テクスチャの作成などに関して、パーリンノイズについて人々が話しているのを見たことがあります。

誰かが私を助けてくれますか、シンプレックスノイズのいくつかの欠点はありますか?1Dと2Dのノイズに関しては、パーリンノイズの方が速いという噂を聞きましたが、それが本当かどうかはわかりません。

ありがとう!

4

8 に答える 8

30

「壊れていない場合は、修正しないでください。」

シンプレックスが優れている理由を教えてくれる人を見つけることができるかどうかを確認してください。「より高速で多次元に拡張する」と「シンプレックスノイズが高次元のノイズ関数の複雑さを軽減しようとする」ことが私が見つけたものでした。私たちのほとんどは2次元または3次元で作業しますが、運が良ければ時間とともに何かをすることができれば4次元で作業することもできます。

処理が遅すぎるPerlinのリアルタイムの使用法はほとんどなく、ほとんどの目的で標準のPerlinノイズで十分であると言っても過言ではありません。事前レンダリング(映画業界で使用されるような)では、レンダリングはとにかく遅いので、時間はそれほど重要ではありません。リアルタイムシミュレーションでは、進行中の処理の範囲を縮小するための十分な方法があり、数ナノ/ミリ秒ごとに大量のノイズマップを生成する可能性はほとんどありません。これは基本的なリアルタイムの最適化です。

于 2011-08-04T16:17:21.143 に答える
26

名前のせいで、まったく驚かないでしょう。パーリンノイズとシンプレックスノイズのどちらかを選択する必要があります。後者は新しく、いくつかの利点があります。しかし、ご存知のように、それは2つの「単純な」バージョンのように聞こえます。より複雑なものを使用します。ノイズは複雑なはずですよね?

人々はかなり不合理になる傾向があります。

于 2011-06-23T19:00:12.433 に答える
8

ケン・パーリンは、彼のシンプレックスノイズアルゴリズムの特許を取得しました。彼の古典的なアルゴリズムは私の知る限り特許を取得していません。

于 2015-07-19T22:22:41.087 に答える
7

シンプレックスノイズを使用して同等の出力を取得するために必要な入力パラメータを見つけるために必要な時間を費やすのではなく、既知の値を使用して既知の視覚的特性をもたらすことができるため、古典的なパーリンノイズがある程度好まれます。

[シンプレックスノイズ]の視覚的特性はわずかに異なるため、クラシックノイズの直接のプラグイン代替品であるとは限りません。正確なフィーチャサイズ、値の正確な範囲、高次統計量など、クラシックノイズの詳細な特性に依存するアプリケーションでは、代わりにシンプレックスノイズを使用する場合に、見栄えを良くするためにいくつかの変更が必要になる場合があります。
StefanGustavsonのシンプレックスノイズの謎を解き明かす

于 2012-11-11T20:56:05.663 に答える
4

ほんの少しの逸話的な経験ですが、私が古典的なパーリンノイズを使用した理由は、ケンパーリンが古典的なパーリンノイズのC実装を持ち、改良されたパーリンノイズのJava実装を提供したためです。ばかげているように聞こえるかもしれませんが、古典的なパーリンノイズは、コピーしてプログラムに貼り付けるのが簡単だったので、それを使用しました。私はいつもそのJava実装の移植に取り掛かるつもりでしたが、古典的なPerlinは十分に機能しているように見えたので、わざわざ追加することはありませんでした。

Stefan Gustavsonには、シンプレックスノイズの非常に優れたC実装がいくつかあります。

于 2012-12-21T01:54:40.850 に答える
2

私はまだシンプレックスノイズを扱っていませんが、いくつかの理由を考えることができます:

  • おそらく私たちは正方形と90度の角度に慣れているからですか?正方形、立方体、...は、三角形、四面体、またはハイパー四面体よりもはるかに自然です。
  • パーリンノイズの各レイヤーは、単なるビットマップです。
  • パーリンノイズの出力は、簡単にタイル化できる正方形です。そして、テクスチャはしばしばタイル状の正方形です。
  • 通常、低次元のノイズを使用します。私の経験では、2Dと3Dが最も一般的です。
  • シンプレックスノイズは、理解と実装が単純に困難です
  • おそらく、グラフィックカードのサンプラーは、パーリンノイズで使用される直交ビットマップの補間を実行できますが、シンプレックスノイズで使用される60度の角度のビットマップの補間は実行できません。(この点は間違っているかもしれません、私は数年間グラフィックカードを扱っていません)
于 2011-06-22T13:55:06.460 に答える
1

私は率直に質問に答えます。それは、パーリンノイズが頭を動かすのが非常に簡単だからです。一方、シンプレックスノイズは、非常に複雑で毛深い獣です。Perlin実装を起動して実行することは、シンプレックスよりもはるかに簡単であるため、より多くの使用法が得られます。両方がビジュアルで非常に類似しているというシンプレックスの場合(特にノイズを少し操作した後)は役に立ちません。

Kenneth Perlin自身が、ハードウェアベースの実装用のシンプレックスアルゴリズムを設計し、これを容易にする設計上の決定を行いました。この一例は、特許からのこの定員会で見ることができます。

テーブルメモリの必要性:元のNoiseアルゴリズムは、ソフトウェア実装では非常に合理的ですが、ハードウェア実装では高価であり、特にNoise関数の複数のインスタンスが必要な場合にコストのボトルネックとなる、多数のテーブルルックアップに依存していました。並行して。理想的には、Noiseの実装は、かなりのサイズのテーブルの存在に依存するべきではありません。

于 2017-04-26T07:39:53.037 に答える
1

シンプレックスノイズは見た目が悪くなり、多くの人が高次元では「ますます悪くなる」と考えています。ほとんどのアプリケーションでは、パーリンよりもそれをお勧めします。ほとんどの場合、生のシンプレックスだけを使用するのではなく、パーリンのオクターブとほぼ同じように見え、オクターブの方がはるかに高速なオクターブを使用するからです。

于 2019-05-25T14:08:54.713 に答える