Estoy tratando de encontrar una manera de generar puntos aleatorios distribuidos uniformemente en la superficie de un elipsoide.
Si se tratara de una esfera hay una forma muy clara de hacerlo: Generar tres $N(0,1)$ variables $\{x_1,x_2,x_3\}$ calcula la distancia al origen
$$d=\sqrt{x_1^2+x_2^2+x_3^2}$$
y calcular el punto
$$\mathbf{y}=(x_1,x_2,x_3)/d.$$
Puede demostrarse entonces que los puntos $\mathbf{y}$ se encuentran en la superficie de la esfera y se distribuyen uniformemente en la superficie de la esfera, y el argumento que lo demuestra es una sola palabra, "isotropía". No hay dirección preferida.
Supongamos ahora que tenemos un elipsoide
$$\frac{x_1^2}{a^2}+\frac{x_2^2}{b^2}+\frac{x_3^2}{c^2}=1$$
¿Qué le parece generar tres $N(0,1)$ como en el caso anterior, calcule
$$d=\sqrt{\frac{x_1^2}{a^2}+\frac{x_2^2}{b^2}+\frac{x_3^2}{c^2}}$$
y utilizando $\mathbf{y}=(x_1,x_2,x_3)/d$ como arriba. Así obtendremos puntos garantizados en la superficie del elipsoide, pero ¿estarán uniformemente distribuidos? ¿Cómo podemos comprobarlo?
Cualquier ayuda es muy apreciada, gracias.
PD Estoy buscando una solución sin aceptar/rechazar puntos, que es algo trivial.
EDITAR:
Pasando a coordenadas polares, el elemento de superficie es $dS=F(\theta,\phi)\ d\theta\ d\phi$ donde $F$ se expresa como $$\frac{1}{4} \sqrt{r^2 \left(16 \sin ^2(\theta ) \left(a^2 \sin ^2(\phi )+b^2 \cos ^2(\phi )+c^2\right)+16 \cos ^2(\theta ) \left(a^2 \cos ^2(\phi )+b^2 \sin ^2(\phi )\right)-r^2 \left(a^2-b^2\right)^2 \sin ^2(2 \theta ) \sin ^2(2 \phi )\right)}$$
0 votos
Puede que tenga una idea equivocada... podrías generar un conjunto de puntos uniformemente en la esfera $\mathbb{S}^{2} \subset \mathbb{R}^{3}$ . Sea $\left\{ c_{1},\ldots,c_{N} \right\}$ sea este conjunto de puntos. Entonces el mapeo $\displaystyle \begin{bmatrix} x \\ y \\ z \end{bmatrix} \, \longmapsto \, \begin{bmatrix} ax \\ by \\ cz \end{bmatrix}$ asigna un punto $c_{i}$ de la esfera a un punto del elipsoide.
1 votos
@jibounet Tu solución transformaría una distribución uniforme sobre el volumen de la bola en una distribución uniforme sobre el volumen del elipsoide, sin embargo sobre superficies fallará. Consideremos un elipsoide muy, muy largo en forma de cigarro ( $a\gg b = c = 1$ ) - la densidad en la punta del puro ( $x\approx \pm a$ ) será próxima a la de la esfera unitaria, pero la densidad en $x\approx 0$ disminuirá a medida que $1/a$ relativa a la de la esfera.
0 votos
Hm... la esfera puede parametrizarse como $\mathbf{F}(u,v),$ coordenadas polares o lo que sea y el elemento de superficie puede calcularse utilizando la primera forma fundamental como $dS^2=H(u,v)\ du\ dv$ . ¿Cómo se transformaría bajo tu transformación diagonal? Si es algo más simple, ¡nos estamos acercando!
0 votos
@CiaPan : Tienes razón. Supongo que podríamos utilizar el mismo método que aquí : mathworld.wolfram.com/SpherePointPicking.html con la parametrización del elipsoide en lugar de la parametrización de la esfera, ¿verdad?
0 votos
@jibounet: No creo que este calc pueda pasar porque en el caso de la esfera el elemento superficie es proporcional al elemento ángulo sólido cosa que no ocurre con el elipsoide.