Tema

Programa que grafica el Polinomio Interpolador de Lagrange

8 respuestas 10783 visitas

Me hice este programa que grafica el polinomio interpolador de lagrange para los puntos que quieran. La idea en un principio era que calcule la expresión del polinomio, pero se me hacía muy largo y tenía que pensar bastante más para hacerlo. Así que como quería hacer algo rápido hice que calcule por código el polinomio y lo grafica. No sirve de mucho el programa, más que nada es para ver cómo se comporta el polinomio ante los diferentes puntos que se le pueden poner y cómo varía a medida que se le cambian los puntos.

Bueno, pruébenlo y me dicen. Está explicado cómo se usa en la ayuda (que se abre con F1) de adentro del programa.

Firma

"If debugging is the process of removing bugs, then programming must be the process of putting them in." -- Dijkstra

Falta la fuente!! Instalé el allegro para linux, pero sin el código fuente no puedo hacer nada 🙁

Lo mismo! Si alguien puede explicar como correrlo en linux agradecería mucho (re novato!). Algo así como hizo Matías hoy en clase. 🙄

No tengo la compilación para linux, a Matías (Graña) le pasé el código fuente y lo compiló. Ya le pedí que me pase compilado para linux, así que en cuanto lo tenga lo subo.

Sin intención de desviar el thread demasiado, una implementación "accesible" de curvas Bezier sacada íntegra del sitio de pygame:

http://www.pygame.org/wiki/BezierCurve?parent=CookBook

Requiere python y pygame (calculo que funciona en cualquier plataforma). Hay que descomprimir y ejecutar (python bezier.py).

Para el que no conozca pygame: pese al nombre sirve para cosas que no son juegos, en principio es simplemente una interfaz python para SDL (librería de gráficos, sonido, etc.). Es interesante ya que permite hacer cosas divertidas con poco esfuerzo.

Una parte del código que creo que recuerda a la clase de ayer con Matías, aunque los nombres de variables no sean los más felices:

    t = 1.0 / steps
    temp = t*t
    
    f = p[0]
    fd = 3 * (p[1] - p[0]) * t
    fdd_per_2 = 3 * (p[0] - 2 * p[1] + p[2]) * temp
    fddd_per_2 = 3 * (3 * (p[1] - p[2]) + p[3] - p[0]) * temp * t

filelt6.png

Borré el archivo adjunto y puse la imagen en imageshack

gracias por el aporte!
todavía no lo pude probar porque no tengo pygame.

(traten de no subir las imagenes como archivos adjuntos porque no tenemos mucho espacio en el host, pueden usar un servicio de hosting de imagenes como imageshack.us )

Me ganaste de mano con lo de imageshack!

Agregué la versión compilada para linux.

Nico vas a poder correrlo! 😛

sos re grosso !
jajajajajaja