10 votos

Calcular analíticamente firmado distancia de elipsoide

Estoy tratando de generar un 3d firmado distancia de campo de un origen centrado en el elipsoide. Para una esfera, esto es bastante fácil: $$\sqrt{x^2 + y^2 + z^2}-r$$ donde $r$ es el radio.

No estoy seguro de cuál es el mejor enfoque es la de un elipsoide. Espero que coloca valores en la ecuación implícita: $$f(x,y,z) = \frac{x^2}{a^2}+\frac{y^2}{b^2} + \frac{z^2}{c^2} - 1$$ me daría algo cercano, sin duda, se debe dar la señal correcta). Alguna idea?

Gracias!

7voto

yoliho Puntos 340

Gracias a la Voluntad de Jagy por su exposición clara, y muchas referencias. Y gracias a que apunta a mí. Pero, en realidad, ninguno de mis libros de abordar este problema. Sin embargo, Dave Eberly se ha abordado ampliamente en su manuscrito "la Distancia de un Punto de la Elipse, de un Elipsoide, o un Hyperellipsoid," que se puede recuperar a partir de este enlace PDF. Eberly no sólo es un maestro de las matemáticas, pero él se preocupa por la realidad de computación estas cantidades. Trabaja en varios casos, uno de los cuales puede conducir a una función fundamental tener seis raíces!
     Eberly Fig. 3.2

6voto

Stephan Aßmus Puntos 16

Por lo que puedo ver la firma de la distancia que usted está preguntando acerca de la no debe poseer una forma cerrada de la expresión. Elíptica coordenadas no son una constante de la distancia, ver http://en.wikipedia.org/wiki/Elliptic_coordinate_system

Evidentemente, este es un difícil problema de cálculo, http://http.developer.nvidia.com/GPUGems3/gpugems3_ch34.html

Sin embargo, usted puede conseguir una buena cantidad de la funcionalidad que usted necesita con un simple geometría diferencial, ya que no es necesario para definir el elipsoide como una malla. Se puede saber al instante si un punto está dentro o fuera basado en el $f(x,y,z),$, por lo que tu comentario acerca de $\pm$ signo es del todo correcto.

Si un punto está fuera del elipsoide ($f > 0,$) se puede encontrar el punto más cercano sobre el elipsoide por bastante rápida métodos numéricos. El punto más cercano a algunos de los $(r,s,t)$ es el punto de $(x,y,z)$ en el mismo octante donde el vector normal en $(r,s,t)$ es paralelo al vector $(x,y,z) - (r,s,t).$ El vector normal en $(r,s,t)$ es sólo un múltiple positivo de $$ \left(\frac{r}{a^2}, \frac{s}{b^2},\frac{t}{c^2}\right).$$ So, take as seed value the multiple $(\lambda x,\lambda y, \lambda z).$ At each stage, update the point on the ellipse by projecting the vector $(x,y,z) - (r,s,t)$ onto the tangent plane at $(r,s,t).$ Entonces, dicen, proyecto que radialmente sobre el elipsoide.

Voy a tener que pensar acerca de la velocidad. Para las aplicaciones informáticas, lo suficientemente rápido algoritmo puede ser lo suficientemente bueno, cuando una forma cerrada de expresión no está disponible.

Dentro del elipsoide, no necesariamente existe un único punto más cercano de la superficie. Yo te podría recomendar sólo el escalado de su $f,$ $- \sqrt{|f|}.$

Mientras tanto, me recomienda algún libro de Joseph O'Rourke, quien hace este tipo de cosas. John Thorpe, Primaria Temas en la Geometría Diferencial.

1voto

mjqxxxx Puntos 22955

Una propuesta sencilla es usar el promedio de las distancias Euclídeas a los focos, menos de la mitad de la longitud del eje mayor. Esto es igual a cero en el elipsoide, negativa en su interior, positivo fuera de ella, y asintótica a la distancia desde el centro del elipsoide en el campo lejano.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X