Je voudrais échantillonner un point uniformément aléatoire dans un polygone ...
S'ils en échantillonnent un grand nombre, ils seraient également susceptibles de tomber dans deux régions s'ils ont la même superficie.
Ce serait assez simple s'il s'agissait d'un carré car je prendrais deux nombres aléatoires en [0,1] comme coordonnées.
La forme que j'ai est un polygone régulier, mais j'aimerais qu'il fonctionne pour n'importe quel polygone.
/programming/3058150/how-to-find-a-random-point-in-a-quadrangle
algorithms
randomness
sampling
random-number-generator
John mangual
la source
la source
Un moyen facile est de trouver la boîte englobante pour votre polygone et utiliser un échantillonnage de rejet: échantillon de la zone de délimitation et d' accepter si elle tombe dans le polygone, qui se produira avec une probabilité au moins (je pense).1 / 2
la source
C'est un peu fou, mais ça devrait bien marcher même si votre polygone est très bizarre.
http://siam.org/pdf/news/1297.pdf
Utilisez ensuite la poussée vers l'avant d'une densité uniforme sur le disque comme densité de proposition dans l' échantillonnage MCMC de Metropolis-Hastings .
la source