Usando la función scipy's interpolate.splprep
obtener una spline paramétrica en el parámetro u
, pero el dominio de u
no es la integral de línea de la spline, es una conexión lineal por partes de las coordenadas de entrada. Intenté integrate.splint
, pero eso solo le da a las integrales individuales más de u
. Obviamente, puedo integrar numéricamente un montón de distancias diferenciales cartesianas, pero me preguntaba si había un método de forma cerrada para obtener la longitud de un segmento spline o spline (usando scipy o numpy) que estaba pasando por alto.Encontrar la longitud de una B-spline cúbica
Editar: Estoy buscando una solución cerrada o una forma muy rápida de converger a una respuesta de precisión de máquina. Casi he renunciado a los métodos numéricos de búsqueda de raíces y ahora estoy principalmente después de una respuesta cerrada. Si alguien tiene alguna experiencia integrando funciones elípticas o puede indicarme un buen recurso (aparte de Wolfram), sería genial.
Voy a tratar Maxima para tratar de obtener la integral indefinida de lo que creo que es la función de un segmento de la spline: Cruzo publicado esto en-MathOverflow
Esta solución es buena para las aproximaciones, pero debería haber indicado en mi pregunta que busco una respuesta exacta o una precisión de máquina. Es similar a la solución romberg de EOL, pero tendría que iterar en python puro. – Paul
Como la solución analítica general implica integrales elípticas, se integrará numéricamente sin importar el enfoque que tome. El método que he esbozado no integra directamente la expresión de la longitud del arco, pero también es una integración numérica. Todo lo que importa es que el método converja a la precisión deseada en el tiempo deseado. – symmetry
Para ser un poco más preciso acerca de las longitudes a las que me refiero que acumularías en el camino ... mira aquí: http://steve.hollasch.net/cgindex/curves/cbezarclen.html Utilice el promedio de la longitud del casco (L1) y la longitud de la cuerda (L0) para aproximar la longitud del arco de los subsegmentos individuales. – symmetry