x、y、および z を整数として libnoise の getvalue 関数を呼び出すと、結果として常に 0 が返されます。これは正常ですか?チュートリアルhttp://libnoise.sourceforge.net/tutorials/tutorial2.htmlのように 1.25、0.75、0.5 を試すと、期待される結果が 0.686347 になります。具体的には、20 未満の整数でこれを試しました。これがどのように機能するのか理解できませんか?
どんな助けでも大歓迎です。
x、y、および z を整数として libnoise の getvalue 関数を呼び出すと、結果として常に 0 が返されます。これは正常ですか?チュートリアルhttp://libnoise.sourceforge.net/tutorials/tutorial2.htmlのように 1.25、0.75、0.5 を試すと、期待される結果が 0.686347 になります。具体的には、20 未満の整数でこれを試しました。これがどのように機能するのか理解できませんか?
どんな助けでも大歓迎です。
Oli Charlesworth は正しいですが、すべてのゼロは整数値で発生するため、整数値でゼロを取得しています。簡単な視覚的なデモンストレーションについては、上のグラフを参照してください。整数でゼロが発生する理由は、コヒーレント ノイズが (ギザギザではなく) 滑らかであると規定されているためです。これを達成するための非常に簡単な方法は、整数でゼロを設定し、それらの間の疑似乱数を補間することです。スムーズ ノイズの利点は、それが本質的に有機的で現実的であるという事実です。
次のコヒーレント ノイズ関数を比較します。
この非コヒーレント ノイズ関数を使用すると、次のようになります。
どの山がどのように見える可能性が最も高いですか? :)
http://libnoise.sourceforge.net/noisegen/index.html#gradientnoiseによると、整数座標の値は常にゼロになります。