Análisis matemático y métodos numéricos - 2006 Francisco Charte Ojeda
30/4/2006: Versión 0.7.
Las coordenadas aparecen
ahora en la lista de puntos con dos decimales, aunque internamente se
conserva toda la precisión posible para obtener los
cálculos.
Se han cambiado las
funciones de adición y modificación de puntos, de tal
manera que si se intenta añadir un nuevo punto con la misma X
que otro ya existente aparece un mensaje de error, no llevándose
a término la operación.
He eliminado de los
recuadros donde se introducen las coordenadas el guión "-" que
aparecía hasta ahora para indicar que los puntos añadidos
iban a ser aleatorios. A partir de ahora el programa entenderá
que si esos recuadros están vacíos los puntos se
obtendrán aleatoriamente.
A fin de hacer
más cómoda la visualización del applet con
distintas resoluciones de pantalla, el tamaño se ajusta
dinámicamente para ocupar el área disponible en la
ventana del navegador. Esto, además, permite ver la
gráfica sin tener necesariamente el navegador maximizado.
Se ha añadido un botón Instrucciones que abre en una ventana unas breves instrucciones de uso. Puede modificarse o completarse según convenga.
26/4/2006: Versión 0.6.
He ajustado el
cálculo de la malla de puntos que sirve como guía. El
problema es que antes tenían dos píxeles de ancho por dos
de alto, por lo que necesariamente caían a un lado u otro del
punto real al que representaban. Ahora tienen tres por tres
píxeles y el punto al que representan actúa como centro.
Se ha corregido la
visualización del Polinomio de Lagrange para hacerlo más
correcto matemáticamente hablando. El problema es que en cuanto
se usaban cuatro o más variables la visualización no
resultaba muy cómoda, al ir saltando de línea. Por ello
he optado por añadir una barra de desplazamiento horizontal que
permita mover el polinomio a izquierda y derecha para poder leerlo
cómodamente.
El algoritmo de dibujo de la gráfica también lo he cambiado, utilizando la técnica conocida como double buffering
para evitar el parpadeo que se producía al mover los puntos con
el puntero del ratón. Ahora el desplazamiento resulta mucho
más suave.
He terminado la parte
del programa que calcula el polinomio reducido a partir del de
Lagrange. Este polinomio reducido aparece en la misma ventana del
botón Polinomio. Aunque
parezca extraño, ésta es la parte más compleja y
lenta de todo el programa, de hecho, si se usan muchas variables, al
hacer clic en el botón Polinomio ese cálculo puede hacer que la ventana con el resultado tarde un poco en aparecer.
20/4/2006: Versión 0.5.
Se ha añadido a
la gráfica el trazado de los ejes de coordenadas y la
impresión de referencias de escala que se ajustan según
los extremos de la función resultante, tanto sobre los mismos
ejes como en los cruces enteros de uno con otro.
Al situar el puntero del
ratón sobre cualquiera de los puntos de control aparece una
etiqueta flotante mostrando las coordenadas de dicho punto.
Además el puntero cambia de forma, indicando que es posible usar
el botón principal del ratón para arrastrarlo y ver
cómo se recalcula el polinomio y actualiza la gráfica.
Mientras se arrastra un
punto en la gráfica también se actualizan sus coordenadas
en la lista de puntos, donde aparecerá seleccionado el punto
sobre el que está actuándose.
Puede notarse, a medida
que se arrastran puntos y redibuja la gráfica y especialmente si
son muchos los puntos, un ligero parpadeo. Es algo que trataré
de eliminar mejorando el algoritmo con el que se dibuja la
gráfica.
También estoy trabajando en el cálculo del polinomio reducido a partir de los polinomios de Lagrange.
16/4/2006: Versión 0.4.
El polinomio ahora se
recalcula automáticamente, al igual que la gráfica, cada
vez que se añaden, eliminan o modifican puntos de la lista. Ha
desaparecido, por tanto, el botón Calcular de versiones previas.
Al insertar nuevos puntos, con el botón Añadir, estos se calcularán de forma aleatoria siempre que el apartado Nº puntos tenga un valor distinto de 1. Cada vez que se introduzcan manualmente las coordenadas de un nuevo punto, en los apartados Xi e Yi, el recuadro Nº puntos
tomará automáticamente el valor 1. De esta manera se
evita la inserción de varios puntos con las mismas coordenadas,
ya que esto no tiene sentido.
Cuando se edite un punto existente, haciendo clic sobre él en la lista y modificando las coordenadas en los apartados Xi e Yi, es preciso pulsar la tecla Intro
al final para indicar que se ha finalizado la modificación. En
ese momento se recalculará el polinomio y actualizará la
gráfica.
Se ha agregado el botón Nueva,
que inicia un anueva gráfica eliminando todos los puntos de la
lista y dejándola vacía para añadir otros nuevos.
El polinomio ahora se muestra en una ventana independiente que se abre con el nuevo botón Polinomio.
De esta manera se deja más espacio para la gráfica y la
visualización del polinomio resulta más clara.
La gráfica ajusta
automáticamente la escala de ordenadas y abscisas cada vez que
se agrega, elimina o modifica un punto, permitiendo su
visualización al completo siempre.
Se ha modificado el
dibujo de los puntos de control en la gráfica,
haciéndolos algo más grandes y mostrándolos como
recuadros rellenos de color azul. Posteriormente estos puntos
podrán arrastrarse mediante el ratón para modificar
interactivamente la gráfica.
Finalmente, se ha
reducido el tamaño que ocupa el applet en la página para
hacer más cómoda la visualización con resoluciones
inferiores a 1280x1024.
4/4/2006: Versión 0.3.
He implementado una
primera aproximación a la representación gráfica
del polinomio, pero aún dista mucho de su apariencia final. La
representación parece que funciona bien con un número de
puntos que oscila entre 3 y 6-8.
Lo más importante
de esta parte del trabajo es la adaptación del conjunto de
valores generados por el polinomio (su codominio) al sistema de
coordenadas de una pantalla.
Si se editan puntos del polinomio y se hace clic en Calcular
es posible que la nueva gráfica se superponga a la ya existente,
en lugar de sustituirla. Es un fallo detectado y que se
corregirá posteriormente.
1/4/2006: Versión 0.2.
El programa ahora
permite la adición de múltiples puntos en un mismo paso,
el establecimiento de las coordenadas de los puntos a añadir y
la edición de los puntos que hay en la lista. El número
de puntos a añadir se establece escribiéndolo en el
recuadro Nº puntos antes de hacer clic en el botón Añadir. Si los recuadros Xi e Yi
tienen valores válidos, éstos serán usados como
coordenadas del punto o puntos a añadir, de lo contrario las
coordenadas se generarán aleatoriamente. Para editar un punto
existente hay que seleccionarlo en la lista, cambiar las coordenadas en
la parte inferior y pulsar Intro.
He corregido algunos
problemas de la función de cálculo del polinomio, pero
aún no estoy seguro de que el resultado que genera sea
válido siempre.
También he modificado la visualización del polinomio, que ahora aparece en la parte inferior del applet
expresado de una forma algo más clara. Esta visualización
la incluyo solamente para comprobar el polinomio manualmente, siendo
útil con un número de puntos no muy grande porque de lo
contrario es poco legible.
29/3/2006: Versión 0.1.
He trabajado
principalmente en la función que, a partir de los puntos,
calcula el polinomio de Lagrange, que es la parte menos visible.
Por ahora las funciones
implementadas en el applet son únicamente las necesarias para
comprobar que ese cálculo es correcto: agregar puntos, eliminar
puntos y efectuar el cálculo.
El polinomio aparece en la barra de estado del navegador, cada vez que se hace clic en el botón Calcular, y podría tener errores porque aún estoy trabajando en el código de la función que lo calcula.