問題タブ [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 に答える
2556 参照

flash - フラッシュのパーリン ノイズはどのように実装されていますか?

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

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

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

python - PythonとNumPyを使用してn次元パーリンノイズのバッチを生成する

パーリンノイズがどのように機能するかを把握し、この素晴らしいPDFを参照として使用して、一度に1ピクセルずつのバージョンを実装することができましたが、明らかに非常に遅いです。

最初に考えたのは、バッチとして生成することです。代わりに、0.0から1.0までのすべてのピクセルを通過し、を生成してから、numpy.linspacenumpyのベクトル化された操作を使用して処理しますが、これは私を超えているようです。私は迷子になり、書いたものをすべて削除します。

親切なStackOverflowerが私を助けてくれますか?ほんの少しのサンプルコードとすべてのステップの詳細な説明の両方が私を大いに助けてくれるでしょう。

編集:バッチとは、一度に1ピクセルしか生成しない私のnoise()メソッドとは対照的に、空間内のさまざまなポイントでのパーリンノイズの値を含む配列を意味します。

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

persistence - Java:2Dパーリンノイズの作成

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

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

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

c# - 1D のパーリン ノイズ?

できる限り頑張ってみますが、1D の Perlin\Sample ノイズに関する実際のチュートリアルは見つかりません。

私はインターネット全体を検索しましたが、何も見つかりません。1D パーリン ノイズに言及しているサイトはどれも、たいてい非常に不明確であるか、単にコードを示しているだけです。

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

java - 2D 配列をパーリン ノイズで埋めるにはどうすればよいですか?

私は、パーリン ノイズの使い方を学ぶのに役立つ小さな個人プロジェクトを考案しました。rこのプロジェクトでは、行と列の 2D 配列にc、パーリン ノイズ アルゴリズムで生成されたランダムでコヒーレントなデータを入力します。

さて、パーリン ノイズの生成に関するさまざまなリソースを何時間もかけて読んできました。しかし、それは私の頭の中にあり、私は完全に迷っています。基本的な概念は理解していますが、これを Java で実装する方法がわかりません。逆方向に作業して自分で適用できるように、誰かが私の目標を達成するよくコメントされたコードを見せてくれれば、最も役立つと思います。

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

javascript - 誰かがこの単純な関数をJavascriptに翻訳できますか?

パーリンノイズに関するチュートリアルを読んでいて、この関数に出くわしました。

私はそれのいくつかの部分を理解していますが、私は実際に何を意味し、何を意味するのかわかりません(x<<13)& 7fffffffそれは16進数であることがわかりますが、それは何をしますか?)。誰かがこれをJSに翻訳するのを手伝ってもらえますか?また、通常の整数は、JSでは32ビットですが、32ビットコンピューターではそうですか?

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

c - 地形を .raw ファイルに書き込むにはどうすればよいですか?

Perlin ノイズを使用して地形を生成し、.raw ファイルに保存したいと考えています。

Nehe の HeightMap チュートリアルから、.raw ファイルは次のように読み取られることがわかっています。

}

pHeightMapは 1 次元なので、x、y 対応を高さの値にどのように書き込めばよいかわかりません。Ken Perlin のページでlibnoiseまたはnoise2 関数を使用して、1024x1024 マトリックスの各値をポイントの高さに対応させることを計画していましたが、.raw ファイルは 1 つの次元に格納されています。どうすれば x を作成できますか? y 通信の仕事がありますか。

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

java - OpenGL レンダー グリッドと回転スクリプトが機能しませんか?

パーリン ノイズ配列を作成して画面上にレンダリングする簡単なスクリプトを作成しました。perlin コードは健全ですが、レンダリング コードはそうではありません。画面には何も表示されず、白のみが表示されます。

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

random - パーリン ノイズの無限生成/タイリング?

Hereの Perlin Noise アルゴリズムが機能するようになりました。地形を無限にする方法があるかどうか疑問に思っていました。問題はこの関数内にあります(Java):

この関数のランダム ジェネレーターを現在のノイズ タイルのオフセットに依存させる方法を知っている人はいますか (これらは 2 つの変数に格納されxOffsetyOffset)? のようなものを使用Math.pow(xOffset,yOffset)してシードとして設定すると、途切れ途切れで壊れた結果が生成され、単に機能しません。誰か洞察力がありますか?

どんな助けでも大歓迎です、ありがとう!

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

perlin-noise - Perlin\Fractal ノイズ ジャンプは、値の間の 1 つの単位のみ

まず第一に、私の注ぐ英語で申し訳ありません。

simcity2000 やトランスポート タイクーンのような地形で仮想世界を作ろうとしています。地形はタイルで作られ、タイルの高さはタイル間で 1 レベル以上ジャンプできないため、崖はありません。

地形の生成には perlin\simplex ノイズを使用していますが、それを使用すると傾斜がきつくなります。

Open Transport Tycoon のソース コードを調べたところ、地形の生成後、マップ上のすべてのタイルがループされ、1 つのユニットだけの高さになるように平滑化されます。

しかし、マップがはるかに大きくなり、ループですべてを平滑化する余裕がないため、この方法では機能しません。また、どのタイルからスムージングを開始したかによって異なるため、地形の見える部分だけをスムージングすることはできません。

私は、それらのポイントの最大高さに等しい距離を持つ2つのポイント間の線形補間値を返す独自のノイズ関数を作成しようとしました。そのようにして、傾斜は45度を超えることはできません。一緒に機能します。

山の斜面が最大 45 度の地形を疑似ランダムに生成し、以前に生成されたマップを滑らかにする以外の方法でアプローチするにはどうすればよいですか?

現在、私はアイデアがなく、パーリンノイズに「最大傾斜角」などのオプションがあることを望んでいますが、Googleはそれを助けてくれませんでした.