2

フラクタル ブラウン運動を使用して高さマップを作成しています。次に、高さに基づいて色を付け、球にマッピングします。私の問題は、高さマップがシームレスに折り返されないことです。私は Diamond Square アルゴリズムを使用しており、それを使用して物事をシームレスにするのは非常に簡単ですが、fBm でそれを行う方法を理解できないようで、Web 上で説明を見つけるのに苦労しているようです。

明確にするために、「シームレス」とは、それを球にマップすると、球上にシームレスなマップが作成されることを意味します。

4

2 に答える 2

1

ハイトマップのピクセルごとにハイトマップを計算する代わりに、球の各ポイントに基づいて 3D 空間でハイトマップを計算し、それをイメージ ピクセルにマップします。球から計算を開始しない限り、極で醜い結果を得ることなく、そのような 2D の長方形の高さマップを球にラップするのに苦労するでしょう。

fBM は 3 次元に一般化されるため、球上の点を指定すると、その点の高さを取得できます。次に、その値を高さマップ イメージに格納する場所にマップする計算を行うことができます。

于 2011-12-05T16:58:00.643 に答える
0

または、従来の地図投影法を使用することもできます。円柱投影 (x, y)->(x, sin y) では、子午線が 1 つだけのシームが得られ、これを後ろに回転させることができます。または、何らかの手段でエッジを「アンチエイリアス」することもできます。

立体射影 (x,y,z)->(x/(z+1),y/(z+1)) では、サワー ポイント (投影点自体) は 1 つだけです。

于 2012-09-20T16:17:56.327 に答える