2011-05-22 1 views
4

Lorsque j'appelle la fonction getvalue de libnoise avec x, y et z comme entiers, je récupère toujours 0 comme résultat. Est-ce normal? Quand j'essaye 1.25, 0.75, 0.5 comme dans le tutoriel http://libnoise.sourceforge.net/tutorials/tutorial2.html j'obtiens le résultat attendu de 0.686347. Plus précisément, j'ai essayé avec des entiers de moins de 20. Est-ce que je ne comprends pas comment cela fonctionne?Aide pour l'utilisation de la bibliothèque de bruit perlin libnoise

Toute aide est grandement appréciée.

Répondre

5

enter image description here

Bien que Oli Charlesworth est correct, vous obtenez des zéros à des valeurs entières parce que tous les zéros se produisent à des valeurs entières. Voir le graphique ci-dessus pour une démonstration visuelle facile! La raison pour laquelle les zéros se produisent aux entiers est due au fait que le bruit cohérent est stipulé lisse (par opposition à déchiqueté) et un moyen très simple d'y parvenir consiste simplement à mettre des zéros aux entiers et interpoler des nombres pseudo-aléatoires entre eux. L'avantage du bruit doux est le fait qu'il est organique et réaliste dans la nature.

Comparer cette fonction sonore cohérente:

enter image description here

Avec cette fonction de bruit non cohérente:

enter image description here

Lequel est une montagne le plus susceptible de ressembler? :)

Questions connexes