タグ付けされた質問 「noise」

1
元のパーリンノイズは、シンプレックスノイズよりも利点がありますか?
パーリンノイズは、最も一般的な手続き型ノイズ関数の1つです。Perlinは後にPerlinノイズのいくつかの欠点、特に高次元および指向性アーチファクトにおける非効率性を改善するSimplexノイズを開発しました(WikipediaはSimplexノイズの5つの利点をリストしています)。それでも、Perlinノイズは広く使用されているようです。主な理由は、シンプレックスノイズは概念的に理解するのがはるかに難しいことですが、今では十分に実装できるので、自分で再実装する必要はありません。 パーリンノイズには、シンプレックスノイズよりも利点がありますか?ノイズ関数を選択するとき、シンプレックスの代わりにパーリンを選択することはありますか?

1
Perlin Noiseが「ブロック状」に見えるのはなぜですか?
自分で Perlin Noiseを実装しようとしました理論だけを使っ(flafla2.github.io/2014/08/09/perlinnoise.htmlに続きます)。残念ながら、「オリジナル」のパーリンノイズの外観を実現できませんでした。 以下のコードがPerlin Noiseのブロックバージョンをレンダリングする理由は何ですか? アーティファクトなしでPerlin Noiseをレンダリングするために、コードを改善/変更する必要があるものは何ですか? 補間方法またはgradsベクトルに問題がある可能性があります。gradsすべての4つの近くの格子点について-ベクトルドット(格子点ランダムベクトル)の生成物および(サイズのベクター)を含みます。(ランダムおよびサイズのベクトルは、最初のリンクで説明されています。) GLSLサンドボックス:http : //glslsandbox.com/e#32663.0 float fade(float t) { return t * t * t * (t * (t * 6. - 15.) + 10.); } vec2 smooth(vec2 x) { return vec2(fade(x.x), fade(x.y)); } vec2 hash(vec2 co) { return fract (vec2(.5654654, -.65465) * dot ...
21 glsl  noise  artifacts 

1
球面上で手続き型ノイズを生成するにはどうすればよいですか?
球体の表面に手続き型ノイズを生成したい(例:惑星または大理石のテクスチャボールを手続き的に生成する)。もちろん、標準のノイズアルゴリズムを使用してそれを球体にマッピングすることもできますが、これには、極または他の場所の歪みなど、球体に平面を投影するというすべての問題があります。 ボリュームノイズを生成し、球体を「切り取る」ことができると思いますが、これは不必要に効率が悪いようです。ノイズにグリッドベースのアーティファクトがある場合、これらは球体上に均一に表示されません。さらに、少なくともシンプレックスノイズの場合、3Dノイズから2Dスライスを切り取ることは、2Dノイズをすぐに生成することとは一般的に異なります。 これらの問題を回避する方法はありますか?例えば、球体にネイティブにノイズを生成することにより?ノイズは、少なくともパーリンノイズの品質、理想的にはシンプレックスノイズの品質を持つ必要があります。

1
値のノイズに対するパーリンノイズの利点
パーリンノイズの内部の仕組みを調査しているときに、単純な値のノイズの代わりにパーリンノイズを使用する理由を疑問に思いました。私が正しく理解している限り、以下が適用されます。 パーリンノイズは、基底のノイズ空間のすべてのポイントにn次元の勾配(元の実装ではランダム、改善された実装では固定)を割り当てる格子ベースのノイズ関数です。これで、距離ベクトルと勾配ベクトル間のドット積を計算することにより、空間内のすべてのポイントの値を照会できます。その後、計算されたすべての値を平均し、クエリされた値を取得します。 しかし、勾配ベクトルではなくランダムな値を使用しない限り、値ノイズは同じではありませんか?また、値ノイズの値間を補間するため、perlinノイズの追加の計算ステップ(内積)を使用してもメリットが見られません。 では、なぜバリューノイズの代わりにパーリンノイズを使用するのでしょうか?なぜパーリンノイズはそんなに人気があるのですか?
14 noise 

1
すべてのグリッドベースのノイズは必然的に異方性ですか?
これがより多くの次元にも適用されることに興味がありますが、この質問では2Dグリッドのみに焦点を当てます。 パーリンノイズは等方性(方向不変)ではなく、下にある正方形のグリッドがその向きを識別できるほど十分に現れることを知っています。シンプレックスノイズはこれを改善しますが、その下にある正三角形のグリッドはまだ完全に隠されていません。 私の直感では、グリッド上で特定の周波数のノイズを生成しようとすると、グリッドに整列していない方向の周波数が低くなります。そのため、これを隠すための試みを行うことができますが、グリッドを参照せずに生成しない限り、原則としてノイズを等方性にすることはできず、すべての方向で平均周波数が同じになります。 たとえば、ノイズのない正方形のグリッドで、正方形の辺の長さが、頂点の周波数は水平または垂直に、45度の頂点の周波数(正方形の反対側の角を通る)は。nnn1n1n\frac1n12√n12n\frac1{\sqrt{2}n} すべての方向で周波数が同一になる頂点位置をオフセットするために適用できるランダムな分布はありますか?私の疑いは、そのような配布がないことですが、どちらの方法でも証明する方法がありません。 要するに、特定の周波数の完全なグリッドベースのノイズを作成する方法はありますか、それとも他のアプローチ(非グリッドベースのノイズまたはアーティファクトを隠す方法)に焦点を合わせる必要がありますか?
14 noise  grid 

1
画像の2Dフーリエ変換はどのように機能しますか?
1Dフーリエ変換が信号をその成分周波数に分離する方法は理解していますが、2Dフーリエ変換が2D画像に与える影響を理解するのは困難です。 別の質問から、ジョンカルスベークはノイズ関数の品質の測定に関する興味深い論文にリンクしました。これにより、さまざまなノイズ関数とそれぞれのフーリエ変換が示されました。 これは、ピクセルデータの離散変換ですか、それとも任意のポイントでノイズを生成するために使用される連続補間関数の連続変換ですか? 環状形状は、可能なあらゆる角度で画像の中心を通る線の1Dフーリエ変換を行うことに類似していますか?または、可能な角度ごとの変換も、中心を通る線に沿ってのみではなく、2D空間全体で測定されますか?入力画像のどのような変化がフーリエ変換のどのような変化に対応するかについて、直感的な感覚を得ようとしています。

1
タイル化できるノイズ関数を作成するのに2倍の費用がかかるのはなぜですか?
いくつかの場所で、Perlinノイズループをシームレスに作成するには、わずかに異なる方法で2回計算し、2つの結果を合計する必要があることを見てきました。 このPerlinノイズ数学FAQは、式を提供します: FL O O P(x 、y、z)= (t − z)⋅ F(x 、y、z)+ z⋅ F(x 、y、z− t )tFloop(バツ、y、z)=(t−z)⋅F(バツ、y、z)+z⋅F(バツ、y、z−t)tF_{loop}(x, y, z) = \frac{ (t - z) \cdot F(x, y, z) + z \cdot F(x, y, z - t) }{ t} ノイズ関数方向にループさせる。また、これを拡張して、2次元でループするには 4回の評価が必要であり、3次元でループするには8回の評価が必要であると述べています。FFFzzzFFFFFF これにより、タイル間のシームレスな結合が連続的であるだけでなく継続的に微分可能であることを理解していますが、必要なタイルサイズを法としてグリッドポイントを減らしてノイズ関数を1回評価するだけで、直感的にそうなると思います。ノイズ関数が、すぐに周囲のグリッドポイント(2Dノイズの場合は4、3Dノイズの場合は8)のみに基づいている場合、計算するポイントがタイルの右端を通過するときは、必ず左端のグリッドポイントを使用します他のグリッドポイントと同じ品質のノイズですか? この複数の計算手法をいくつかの場所で見てきたので、何らかの利点が必要だと思いますが、グリッドポイントが大きくなりすぎて最初に戻るように単純に折り返すという欠点を見つけるのに苦労しています。私は何が欠けていますか?
12 algorithm  noise 

4
ディザノイズをクランプする適切な方法は何ですか?
2ビットノイズ(n =] 0.5,1.5 [およびoutput = floor(input *(2 ^ bits-1)+ n)を使用)で色深度とディザリングを減らす場合、値の範囲の終わり(入力0.0および1.0) )うるさい。それらを無地であることが望ましい。 例:https : //www.shadertoy.com/view/llsfz4 (上記shadertoyのスクリーンショット、勾配を描き、両端であるべきで、それぞれ白と黒の固体であるが、代わりにノイズが多いです) もちろん、問題は値の範囲を圧縮するだけで解決でき、両端が常に単一の値に丸められます。これは少しハックのように感じますが、これを「適切に」実装する方法があるかどうか疑問に思っていますか?

2
良い順列テーブルを作るものは何ですか?
私は改善されたPerlinノイズを実装しています。ランダム化の主な機能は、ハードコードされた置換テーブルで、グリッドのセルで基本的にランダムであるが再現可能な勾配を提供します。順列テーブルは整数の順列であり、0..255通常は次のテーブルです(Perlinの元の実装から直接コピーされます)。 {151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, ...

1
renderman言語による摂動画像テクスチャの実装
私は(C#で)イメージの摂動アルゴリズムを実装しようとしています(「テクスチャリングとモデリング-K.パーリンら」(誰かが持っている場合は91ページ))で、イメージを歪めています。次のコードはRenderman言語で記述されています。テクスチャアクセス Ct = texture("example.tx", s, t); に置き換えられます point Psh; float ss, tt; Psh = transform("shader", P); ss = s + 0.2 * snoise(Psh); tt = t + 0.2 * snoise(Psh+(l.5,6.7,3.4)); Ct = texture("example.tx", ss, tt); 左の画像を右の画像に変換します。 私が理解していないことから、座標にアクセスする代わりに、わずかに摂動した座標にアクセスしそれらを場所に表示して、わずかに摂動したように見える画像を作成します。(s,t)∈[0,1](s,t)∈[0,1](s,t)\in[0,1](ss,tt)(ss,tt)(ss,tt)(s,t)(s,t)(s,t) s n o i s e (x )snoise(x)snoise(x)はとして定義され、からにノイズをマッピングし、RenderManのドキュメントでは、Pがポイントである返します。ノイズに基づく値(おそらくパーリンまたはラティス)。(http://renderman.pixar.com/resources/current/RenderMan/noiseFunctions.html)(n o i s e (x ...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.