2012-04-19 15 views
0

したがって、OpenGLを使用して時間とともに変化する抽象的な形状をプロットしようとしています。そのために、Perlinノイズ関数を使いたいと思います。このコード(http://www.sorgonet.com/linux/noise_textures/)は、ここで見つかった関数が2つの座標しか取らないという事実を除いて、私のためのちょうど完璧なスタートです。私は、2つの空間座標を取るもの、そして3つ目は時間とともに変化するものを求めます。2D関数から3Dパーリンノイズ関数を作成する

私の質問です:この機能をもう1つの座標で動作させることは可能ですか?

答えて

0

3dパーリンノイズはどうですか?

ジオメトリに2つの座標を使用します。

1

はい、可能です。

時間ディメンションは、問題なく空間ディメンションとして扱うことができます。 2Dノイズのために

、あなたは一例として、バイリニアを使用して、このように2次元補間を使用しますが、アイデアは、バイキュービックで動作するはず等:

第1工程:

あなたは4つの外の値を持っており、その中の1つの点が価値を得るために。

+ + 

    x 


+ + 

第二工程:Y軸上

補間。

+-+--+ 

    x 


+-+--+ 

第三ステップ:Y軸上

補間。

+-+--+ 
    | 
    x 
    | 
    | 
+-+--+ 

ここで補間値があります。

ここで、3つ目の次元を追加するには、8つの値から始めて、余分なステップを追加します:Z軸に補間する。これは、任意の次元に拡張されます。

+0

このアプローチはシンプレックスノイズよりも遅く、多くの(ほとんどの目的ではマイナーな)アーティファクトを生成します;) – Monkey

+1

@Monkey:Trueですが、OPはPerlinノイズを求めていましたので、私は彼を混乱させたくありませんでした。 –

関連する問題