2011-01-24 16 views
10

Supongamos que tiene un triángulo arbitrario con los vértices A, B y C. This paper (section 4.2) dice que se puede generar un punto al azar, P, uniformemente desde dentro del triángulo ABC por la siguiente combinación convexa de los vértices:muestra punto aleatorio en triángulo

P = (1 - sqrt(r1)) * A + (sqrt(r1) * (1 - r2)) * B + (sqrt(r1) * r2) * C 

donde r1 y r2 se dibujan de manera uniforme desde [0, 1] y sqrt es la función raíz cuadrada .

¿Cómo justifica que los puntos muestreados que son uniformemente distribuidos dentro del triángulo ABC?

EDITAR

Como se señaló en un comentario en the mathoverflow question, Graphical Gems discusses this algorithm.

+2

Esto es probablemente más adecuado para http://math.stackexchange.com/ –

+0

http://math.stackexchange.com/questions/18686/uniform-random-point-in-triangle – dsg

+3

Creo que es perfectamente equipada para ASI QUE. Votando para reabrir Los métodos numéricos encajan aquí bastante bien, y si vas a hacer algo como Monte Carlo, asegúrate de que puedes justificar tus suposiciones. –

Respuesta

10

Tiene un mapa P (r1, r2) desde el cuadrado de la unidad a su triángulo. Elegir r1 y r2 uniformemente da un punto al azar en el cuadrado de la unidad. La imagen en el triángulo se distribuye según el determinante jacobiano del mapa P, que resulta ser una constante. Por lo tanto, la distribución de la imagen también es uniforme.

En realidad, para verificar esto solo necesita verificarlo por un triple de puntos no colineales A, B, C. Los mapas lineales afines tienen constante jacobiano, por lo que puede aplicar uno de estos para mover un triple arbitrario a esta posición estándar sin afectar la distribución.

Finalmente, una palabra sobre "por qué": Considere el triángulo como completado por segmentos de línea paralelos al lado BC. En la fórmula para P, la variable r1 selecciona en qué segmento se ubicará el punto, mientras que r2 determina dónde estará a lo largo del segmento. Para la uniformidad, todos los puntos en un segmento dado deben tratarse por igual (de ahí que sean lineales en r2). Pero para r1, dado que algunos segmentos son más cortos que otros, debemos favorecer los segmentos largos para lograr una distribución uniforme. El sqrt (r1) en la fórmula explica esto.

+2

¿Cómo cuenta el sqrt (r1) la variación en las longitudes de los segmentos de línea? – dsg

Cuestiones relacionadas