J'ai besoin d'une clarification avec un algorithme générant des valeurs aléatoires pour mon rayon-traceur.
J'émets des rayons d'un point. Et j'ai le problème de la distribution de ces rayons: j'ai besoin de la distribution pour être uniforme, mais ce n'est pas ...Distribution aléatoire uniforme (Monte-Carlo) sur la sphère unitaire
Le problème que je rencontre maintenant est que la distribution étant uniforme au départ n'est pas uniforme après mes distorsions de l'espace des résultats. Par exemple, je génère des angles r et t si le système de coordonnées polaires est utilisé. La distribution n'est pas uniforme et ne peut pas être uniforme: l'espace près de chaque pôle a beaucoup plus de densité de résultats que, disons, près de l'équateur. La raison est assez claire: je convertis des points uniformément répartis de l'espace cylindrique à l'espace sphérique. Et je déforme les résultats. Le même problème est si je normalise les points générés aléatoirement dans le cube.
Mon idée est la suivante: je veux créer un tétraèdre, normaliser ses vertex, diviser chaque face (triangle) avec le point au milieu, le normaliser et répéter de façon récursive jusqu'à ce que j'aie suffisamment de points. Ensuite, je "déforme" ces points un peu. Ensuite, je les normalise à nouveau. C'est tout. Je comprends que cette méthode n'est pas la méthode mathématique de Monte-Carlo elle-même, parce que je n'utilise pas la distribution aléatoire dans aucune des étapes sauf la dernière. Et je n'aime pas cette solution pour cette complexité.
Quelqu'un peut-il suggérer quelque chose de plus simple et encore
- aléatoire
- uniforme
- rapide
- simples
Merci!
EDIT:
je besoin d'une méthode rapide, non seulement le bon. C'est pourquoi je pose des questions sur Monte-Carlo. Les réponses fournies sont correctes, mais pas rapides. La méthode avec tétraèdre est rapide, mais pas très "aléatoire" => incorrecte.
J'ai vraiment besoin de quelque chose de plus approprié.
Vous avez raison, ce n'est pas vraiment la réponse, mais c'est plutôt intéressant à lire. – avp