問題タブ [simplex-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.
image-processing - シンプレックスノイズとパーリンノイズ
シンプレックスが出た後、なぜ今日もパーリンノイズがとても人気があるのか知りたいです。シンプレックスノイズはKenPerlin自身によって作成され、高次元では低速で高品質(目に見えるアーティファクトなし)の古いアルゴリズムを引き継ぐことが想定されていました。
シンプレックスノイズは2001年に発生し、その10年間、地形の高さマップの生成、手続き型テクスチャの作成などに関して、パーリンノイズについて人々が話しているのを見たことがあります。
誰かが私を助けてくれますか、シンプレックスノイズのいくつかの欠点はありますか?1Dと2Dのノイズに関しては、パーリンノイズの方が速いという噂を聞きましたが、それが本当かどうかはわかりません。
ありがとう!
iphone - iOSプラットフォーム上のクラウドの光生成アルゴリズム
アプリの背景をアニメーションの雲で埋めたいのですが。私はいくつかの調査を行い、適切と思われるパーリンノイズアルゴリズムに出くわしました。ただし、最初のテストでも、512x512(2D)のクラウドマップを生成するのに非常に費用がかかりました。シンプレックスノイズを試しましたが、修正されませんでした。
http://freespace.virgin.net/hugo.elias/models/m_clouds.htmによると、クラウドの生成は、いくつかのperlin/simplexノイズマップを一緒に追加することによって行われます。私のアプリではiPhoneでそれを行うことはできません:流動的なグラフィックが必要です(私の楽観的な期待はA4で60 FPSです)。
だから私の質問:私のフレームレートをあまり落とさないアニメーションの雲を生成するためのより軽いアルゴリズムはありますか?
前もって感謝します!
ポール
tiles - 一般的にjavascriptまたはHTML5でタイルを張るためのperlin simplex worleyノイズライブラリ?
JavaScriptでこれらのノイズを作成するためにすでに開発されたライブラリがあるかどうか興味がありますか?
JavaScript のライブラリを探して、Web を約 2 時間検索しました。シンプレックス ノイズのこの実装を見てきました。
https://gist.github.com/304522
しかし、javascript 専用に作成されたライブラリは見たことがありません。
誰もライブラリを知らない場合は、これらの関数を開発する方法に関するリンクの提案も同様に素晴らしいでしょう. 私は現在、ここで質問したことすべてについて Google 検索を行っています。複数の Web クローラーを同時に使用する方がよいと考えました :) また、スタック オーバーフローの誰かがすでに質の高いサイトを見つけている場合は、さらに良いでしょう。
みんなありがとう!
javascript - JavaScriptシンプレックス/パーリンノイズ
次のような結果が得られるJavaScriptでperlin/simplex/valueノイズ関数を作成しようとしています。
(注:この画像にはすでにしきい値が適用されています。しきい値なしで表示したいのですが。)
私は今2日間インターネット全体を見ています。ノイズと多くのコードを説明するリンクはたくさんありますが、JavaScriptにはありません。変換しようとすると、奇妙な結果が得られます。これが私の試みのいくつかです:
- http://jsfiddle.net/GZCye/
- http://jsfiddle.net/Lk56f/(これに基づく)
- http://pastebin.com/nMA40SrL (これに基づいて、何らかの理由でFiddleで実行されません
問題の一部は、JavaScriptでのビット演算子の使用に起因している可能性があると思います。この場合、数値の型を強制することは困難です。
私が探しているのは、動作するJavaScriptノイズ(タイプに関係なく)の例です。
また、投稿した画像(しきい値の前)に類似したパターンにつながる可能性のあるパラメーターに関する情報や、可能な限り高速に実行する必要があるため、最適化のヒントについても報奨金を付与します(それにもかかわらず、JavaScriptでは)。
python - シンプレックスノイズはランダムな結果をもたらすようです
シンプレックスノイズ(基本的にはより複雑なパーリンノイズ)を機能させて、次のような素晴らしいものを提供しようとしています。
しかし、私が得るのは、ランダムに見えるものだけです。
ここからシンプレックスコードを使用しており、次のように使用しています。
かなり簡単ですが、何かが足りないようです。でもわからない
android - LODを使用して球にテクスチャをマッピングするための最良の方法
何よりも、私はAndroidでOpenGLES2.0を使用しています。
表面と高さのテクスチャは、シンプレックスノイズアルゴリズムを使用したスレッドCPUによって生成されます。球を描き、ビューア(LOD)からの距離に応じてテクスチャをマッピングしたいと思います。マップジェネレーターが2Dテクスチャ(3Dノイズに基づく)をレンダリングし、マッピングを細かくするために必要な球形の変形を正確に行います。
1つのテクスチャ(運賃距離)のみをマッピングすると、かなりうまく機能します。ここで、目から球の中心ベクトルに基づいてテクスチャをマッピング(および生成)したいと思います。球の真ん中にある正方形(私のテクスチャ)を想像してみてください。球を回転させたり移動したりするときはいつでも、正方形は常にビューアの前の中央に配置する必要があります。内容のみが変更されます。
どこから始めれば ?
ヨー回転でしか動作しません。他の回転(ピッチ、ロール)を変更すると、すべてが壊れます。
私が取り組んでいる別の(最良の)方法はありますか?
テクスチャマッピング用の実際のシェーダーコード(ヨーでのみ機能しました):
英語が下手でごめんなさい。
math - 特定のシンプレックス ノイズ次元のスケーリング ファクターを見つけるアルゴリズム的な方法はありますか?
シンプレックス ノイズ アルゴリズムの C# での実装の1 つを次に示します。
各ノイズ関数 (2d、3d、および 4d) は、-1 から 1 の範囲に収まるようにコーナーの寄与をスケーリングします (これは return ステートメントのマジック ナンバーです)。これは合理的です。私の知る限り、これらは実験的に解明されたものです。
問題は、これを任意の数の次元にテンプレート化したいことです。この要因は、それを行うための 1 つの障害と思われるため、その倍率を取得するアルゴリズム的な方法を見つけたいと思います。どの要因がスケールに寄与しているかを知るにはアルゴリズムに精通していませんが、推測する必要がある場合は、上部の順列テーブルが主要なものだと思います.
おそらく実現不可能だと言うだけで、これについて何か考えがある人はいますか?
algorithm - 3Dの方が速いのは何ですか?Perlinまたはシンプレックスノイズ?
さて、ウェブ上で見つけられるPerlinとSimplexノイズの間の多くの比較があります。しかし、私が最も興味を持っているのは、3次元の両方の処理時間の単純な比較があるものを本当に見つけることができませんでした。私はその人気のあるPDFを読みました(そしてそのほとんどを理解しました-イェーイ!)が簡単な質問に答えることはできません。最適な実装を想定した場合、3Dの方が速いのはどれですか。
このstackoverflowの質問の回答は、シンプレックスが私の場合のかなり明確な勝者であることを示唆しています。もちろん、正反対を主張する他のリソースがあります。
ただし、一般的なステートメントでは、パーリンノイズの複雑さはO(2 ^ N)であるのに対し、シンプレックスの複雑さはO(N ^ 2)であるようです。これは、3Dの場合、Perlinの場合は8、Simplexの場合は9を意味します。しかし、あるサイトで、シンプレックスは実際にはO(N)であるというステートメントを見つけました。では、ここで何が真実であり、それが3Dの速度にとって実際に何を意味するのでしょうか。
私はここで途方に暮れています、私は本当に主に3Dアプリケーション(洞窟を含むランダムな地形生成用)の使用法に興味があり、それを同じくらい速くしたい場合はどちらを使用すべきかという質問に対する良い答えを見つけることができません可能。
だから多分誰かがここで私を助けることができます:)
javascript - Javascriptでスムーズなシンプレックスノイズを生成できません
私はすべてを試し、PerlinNoiseまたはSimplexNoiseに関してインターネット上で見ることができるすべてのリンクを読み、正常に機能していると思われるJavascriptの例をいくつか分析しました。
しかし、私はまだ非常にランダムに見える画像を取得します...本質的にはテレビの静止画だけです。
私のコードは以下の通りです。値をシードできるように乱数ジェネレーターを使用していますが、Math.randomも試してみました。
私が知る限り、異なるオクターブで生成された異なる画像が適切に補間されていないか、ノイズ関数からRGB値に変換する方法が間違っている可能性があります(これらの問題の両方を修正しようとしました。 ..)。
directx - シンプレックス ノイズ シェーダ?
シンプレックス ノイズについていくつか質問があります。Directx でシンプレックス ノイズを使用して地形を生成していますが、現在はクラスなどを使用して実行しています。多分これもテクスチャに使うと思うので、シェーダー実装に変更する必要はありますか?もしそうなら、これは簡単にできますか?
また、テクスチャには 3D ノイズと 2D ノイズのどちらを使用するのが良いですか?