es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dibujar curva -> Obtener ecuación

Una parte del proyecto en el que estoy trabajando requiere una interfaz donde un usuario dibuja una curva, y quiero obtener una ecuación matemática aproximada de esa curva para realizar una variedad de pruebas en ella.

Hasta ahora he pensado en 2 enfoques y me preguntaba si son factibles o si existe una mejor manera de abordar el problema que me estoy perdiendo / un truco matemático interesante que me permita lograr esto.

Enfoque 1:

En lugar de hacer que los usuarios dibujen una curva, darles la opción de insertar puntos de curva de Bézier y ajustarlos para crear su curva. Dado que las curvas de Bézier tienen una ecuación paramétrica que las describe, podría obtener directamente la ecuación exacta.

Desventajas:
-Es más engorroso para los usuarios ajustar y crear una curva de Bézier que simplemente dibujar una curva.

Enfoque 2:

Obtener la curva dibujada y extraer ‘n’ puntos. (No creo que esto sea difícil de hacer).
De alguna manera, pasar de estos ‘n’ puntos a una ecuación de una curva que pase por ellos. Naturalmente, ‘n’ sería bastante grande, digamos 100.
¿Existe una forma ingeniosa de obtener una ecuación para la “función continua más simple” que pase por ‘n’ puntos?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El enfoque 2 es más factible para el problema dado. Existen varios métodos numéricos para aproximar una función matemática que pasa a través de un conjunto de puntos discretos. Un método de este tipo es utilizar la interpolación polinómica. Dado un conjunto de puntos, se puede construir un polinomio de grado n-1 para que pase por ellos. Sin embargo, los polinomios de alto grado pueden tener oscilaciones y ser inestables, por lo que se recomienda utilizar la interpolación por partes con un polinomio de menor grado. Otro método es utilizar splines, que son funciones polinómicas por partes con derivadas continuas hasta cierto orden. Los splines cúbicos se utilizan comúnmente para el ajuste de curvas, ya que tienen un buen equilibrio entre flexibilidad y suavidad. Hay muchas bibliotecas en JavaScript que proporcionan implementaciones de estos métodos, como Math.js, Sylvester.js y D3.js.

Comments are closed.