2011-05-20 17 views
6

Supongamos que tenemos una elipse x^2/a^2 + y^2/b^2.Distancia de medición a lo largo de la elipse

Tomando un punto (a * cos (t), b * sint (t)) en la elipse, ¿cuál es la forma más rápida de encontrar otro punto en la elipse de modo que la distancia entre ellos sea una d dada. [d es menor que pi * a * b].

El problema se ha encontrado cuando tengo una esquina [elipse de un cuarto] y necesito encontrar puntos separados por alguna 'd'.

+3

¿Te refieres a distancia a lo largo de la circunferencia, oa lo largo de la cuerda ? – NPE

+1

[Esto podría ayudar] (http://en.wikipedia.org/wiki/Elliptic_integral#Complete_elliptic_integral_of_the_second_kind). –

+1

Un método computacional sería encontrar el punto opuesto en la elipse y luego usar la búsqueda binaria a lo largo de cada lado en términos de distancia. – Peteris

Respuesta

3

La longitud de una subsección de una elipse es una integral elíptica, sin solución de forma cerrada.

Para calcular la distancia a lo largo de la elipse, necesitará una rutina de integración numérica. Recomiendo Romberg o Gauss Quadrature (busque en Wikipedia). Si lo haces repetidamente, calcula previamente la distancia entre un montón de puntos alrededor de la Elipse para que puedas llegar rápidamente a la región correcta, y luego comienza a integrarte.

Tendrá que bisectar (buscar en Wikipedia) para encontrar la longitud deseada.

+0

Es posible que desee ver las recetas numéricas. Esta es la versión antigua de FORTRAN, pero cubren las matemáticas. Vale la pena comprar el nuevo libro, 3rd ed. http://ftp.eq.uc.pt/books/NumericalRecipes/f6-11.pdf – Dov

+0

También encontré esta biblioteca con un solucionador: http://www.alglib.net/specialfunctions/ellipticintegrals.php – Dov

0

No existe una solución analítica para la longitud de un arco elíptico. Esto significa que no podrá insertar números en una ecuación para encontrar un resultado, sino que usará un método de integración numérica.

Simpsons rule es muy fácil de implementar, aunque probablemente sea más lento que los métodos mencionados en otras respuestas.

Ahora que tiene una manera de encontrar la longitud de un arco elíptico, simplemente medir diferentes puntos finales hasta que encuentre uno de longitud d en cierta tolerancia aceptable

Cuestiones relacionadas