問題タブ [perlin-noise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2386 参照

c# - ソフトウェア パーリン ノイズの実装

hereherehere、およびhereからの情報に基づいて、2D Perlin ノイズの実装を作成しました。ただし、出力は次のようになります

何が間違っているかについての意見をお待ちしております。

編集:これを解決する方法を見つけました:これを修正するために、ロード時に生成された double の配列を使用しました。ただし、適切な乱数ジェネレーターを実装する方法は大歓迎です。

0 投票する
1 に答える
149 参照

java - noise() では、幅広い値が得られません

今日の処理でノイズを使用して疑似ランダム角度を生成しようとしましたが、期待どおりに機能しません。

これは私のコードの重要な部分です。私が考えたのは、vx は -1 と 1 の間のランダムな float であるということでしたが、ほとんどの場合負です。問題と思われるのは、ノイズ (xoff) が限られた範囲の値を出力していることです。0.3 から 0.7 の間のみ。vx が正であるためには、0.3 より低く、0.7 より高い必要がありますが、これはほとんど起こりません。

ここで何がうまくいかないのですか?

0 投票する
1 に答える
21925 参照

c++ - パーリンノイズにシードを追加する最良の方法は?

C++ で 2D Perlin ノイズ生成を実装しようとしていますが、シードをまったく使用していない実装がいくつか見つかりました ( herehereまたはhere )。他の実装では、シード値を使用して、ノイズ値に応じて異なるノイズを取得します。

ただし、各オクターブのノイズ値を計算する関数パラメーターにシード値を追加するサンプル コードを見つけました (リンクされたコードの PerlinNoise::Total() を参照)。もう 1 つは 3D シード関数を使用し、固定シード値を z 値として使用します (例は今見つかりませんでした)。他の記事では、他のノイズ関数の使用を提案しています。

私の質問は、パーリン ノイズ生成にシード値を追加する最善の方法は何かということです。同じシード値を指定すると、同じノイズ値が生成されるはずです。解決策がカスタム ノイズ関数を持つことである場合、Boost.Random (または C++11 の標準 C++ ライブラリ クラス) を使用して実装できるかどうかに興味があります。

編集:「最良の」方法で私が意味することに答えるには:グラディエントノイズ関数など、動作するはずだったようなパーリンノイズを私に与える最良の方法は何ですか。

0 投票する
1 に答える
652 参照

objective-c - パーリン ノイズ: ソース コードを入手しました。

Perlin ノイズクラス(C バージョン)を正確に使用する方法について、インターネット全体を調べてきましたが、何も見つからないようです。

これが私がやっていることです:

ランダムな引数を使用して、noise1 に等しい double を設定します。NSLog次に、 (objective-c)を使用して高さをコンソールに出力します。奇妙なことは、コンソールが出力コンソール出力し、ここに画像の説明を入力


何か不足していますか?

0 投票する
2 に答える
2349 参照

c++ - パーリンノイズを使用して稲妻を作成しますか?

実際、トピックのタイトルに記載されている主題に関連するいくつかの質問があります。

私はすでにPerlin関数を使用してアプリケーションで稲妻を作成していますが、実装に完全に満足しているわけではありません。

以下の質問は、初期および改善されたパーリンノイズの実装に基づいています。

問題を単純化するために、1D Perlin関数を使用して、これらのノードでNノードで構成される水平線の高さを変調することによって単純な2D稲妻を作成していると仮定します。

  1. 私が理解している限り、Perlin関数に渡される後続の2つの値は、少なくとも1つ異なる必要があります。そうでない場合、結果の2つの値は同じになります。これは、単純なPerlin実装では、Random関数がint引数で機能し、改善された実装では、値が[0..255]にマップされ、値[0..255を含む配列へのインデックスとして使用されるためです。 ]ランダムな分布で。そうですか?

  2. Perlin関数によって返される最初と最後のオフセット値(つまり、ノード0とN-1の場合)が常に0(ゼロ)になるようにするにはどうすればよいですか?今、私はそれを達成するために私のPerlin関数で正弦関数(0 .. Pi)を変調していますが、それは本当に私が望んでいることではありません。それらをゼロに設定するだけでは、私が望むものではありません。なぜなら、その端にジャギーのない素敵な稲妻の道が欲しいからです。

  3. Perlin関数を変更するにはどうすればよいですか(稲妻のアニメーションの開始フレームと終了フレームとして使用できる2つの異なるパスを取得できるようにするため)?もちろん、各ノード値にパスごとの固定ランダムオフセット計算を追加したり、パーリンノイズを改善するために別の設定の順列テーブルを使用したりすることもできますが、より良いオプションはありますか?

0 投票する
3 に答える
7335 参照

matlab - matlab で手続き型\perlin ノイズを生成する

matlab で手続き型\パーリン ノイズに似たものを生成する簡単な方法を探しています。

ケンパーリンの方法を正確に複製するのではなく、一般的なパーリンのノイズ特性が必要なだけです。

0 投票する
3 に答える
1559 参照

tiles - 一般的にjavascriptまたはHTML5でタイルを張るためのperlin simplex worleyノイズライブラリ?

JavaScriptでこれらのノイズを作成するためにすでに開発されたライブラリがあるかどうか興味がありますか?

JavaScript のライブラリを探して、Web を約 2 時間検索しました。シンプレックス ノイズのこの実装を見てきました。

https://gist.github.com/304522

しかし、javascript 専用に作成されたライブラリは見たことがありません。

誰もライブラリを知らない場合は、これらの関数を開発する方法に関するリンクの提案も同様に素晴らしいでしょう. 私は現在、ここで質問したことすべてについて Google 検索を行っています。複数の Web クローラーを同時に使用する方がよいと考えました :) また、スタック オーバーフローの誰かがすでに質の高いサイトを見つけている場合は、さらに良いでしょう。

みんなありがとう!

0 投票する
0 に答える
260 参照

perlin-noise - テクスチャのタイル化可能な 3D ノイズ?

これに対する答えを探しましたが、まだ何も見つかりませんでした。これが私の質問です:

事前に計算されたノイズを 2D テクスチャにパックして、本格的な 3D ノイズ アルゴリズムで計算するオーバーヘッドなしで 3D ノイズの合理的な複製を計算できるようにすることはできますか?

私の最初のアイデアは、X の Z スライスを Y ノイズで取り、それらを並べてパックし、すべてのピクセルについて「低」ノイズ ピクセルと「高」ノイズ ピクセルを計算し、2 つの Z サンプル間で加重補間を行うことでした。言うまでもなく、これはあまりうまくいきませんでした。

ノイズを生成するさまざまなシェーダーについては知っていますが、概して、ハードウェアのスペックが低く、メーカーが実施したさまざまな最適化により、モバイル プラットフォームで問題が発生するため、その場で計算することはできません。

0 投票する
2 に答える
2017 参照

xna - モーションのパーリンノイズ?

パーリン ノイズを使用して、地形、雲、その他いくつかの気の利いたものを生成することに成功しています。しかし、私は今、飛んでいる昆虫 (特にホタル) のグループをアニメートしようとしています。これにもパーリン ノイズを使用するよう提案されました。しかし、これについてどうすればよいかよくわかりません。

私が最初に思いついたのは、次のようなノイズ マップが与えられた場合です。

  1. 各ホタルにランダムな初期位置、速度、角加速度を割り当てます。
  2. フレーム上で、ハエの位置を方向ベクトルに従って進めます。
  3. 新しい位置でノイズ マップを読み取り、それを使用して角加速度を調整し、ハエを明るいピクセルに向かって「回転」させます。
  4. 他のハエの近接によって角加速度を再度調整して、局所的な最大値の周りに群がらないようにします。

ただし、これは、ハエがマップの端に到達した場合や、ハエが 1 点を周回するだけの場合には適用されません。2 番目のケースは大したことではないかもしれませんが、地図の端との衝突を避けるために向きを変える確実な方法がわかりません。

提案?チュートリアルまたは論文 (英語でお願いします)?

0 投票する
3 に答える
24492 参照

javascript - JavaScriptシンプレックス/パーリンノイズ

次のような結果が得られるJavaScriptでperlin/simplex/valueノイズ関数を作成しようとしています。

ここに画像の説明を入力してください (注:この画像にはすでにしきい値が適用されています。しきい値なしで表示したいのですが。)

私は今2日間インターネット全体を見ています。ノイズと多くのコードを説明するリンクはたくさんありますが、JavaScriptにはありません。変換しようとすると、奇妙な結果が得られます。これが私の試みのいくつかです:

問題の一部は、JavaScriptでのビット演算子の使用に起因している可能性があると思います。この場合、数値の型を強制することは困難です。

私が探しているのは、動作するJavaScriptノイズ(タイプに関係なく)の例です。

また、投稿した画像(しきい値の前)に類似したパターンにつながる可能性のあるパラメーターに関する情報や、可能な限り高速に実行する必要があるため、最適化のヒントについても報奨金を付与します(それにもかかわらず、JavaScriptでは)。