Oregon, debo admitir que yo del tema mucho no sé. Estuve haciendo memoria y me acordé del método de
Runge-Kutta. Que en pocas palabras toma dos puntos a y b. Y predice k puntos intermedios de acuerdo a una aproximación de primer, segundo, tercer o cuarto orden.
Se que lo tuyo es algo más complicado. Sobre todo si se trata de otros tipos de aproximaciones... sobre todo las del tipo logaritmicas y espirales ya de estos tipos no he oído hablar.
Yo la verdad, es que (para empezar) estaba pensando en algo simple:
Si se tiene una imagen y se toma el supuesto de que cada punto [X,Y] de la imagen puede expresarce en función. Algo como Y = f(X).
Entonces para una serie de puntos (lo más próximos posibles) marcados, mediante algún método de interpolación le precedimos valores y para cada x mayor al punto inicial y menor al final.
Luego repetir el proceso para los siguientes 2 puntos.
Algo como esto:
Código:
1. Tomar 2 primeros puntos:
1.1. Punto_inicial := Puntos(0);
1.2. Punto_final := Puntos(1);
2. Repetir hasta que no haya puntos a examinar
2.1. Aplicar Método de Ruge-Kutta según k-ésimos puntos a generar.
2.2. Para cada k-ésimo punto generado por Runge-Kutta:
2.2.1. Insertar en Puntos entre Punto_inicial y Final, siguiendo el k-ésimo orden.
2.3. Avanzar k lugares a Punto_inicial y Punto_final
3. Para cada punto en Puntos:
3.1. Calcular coordenada en imagen
3.2. Colocar punto y trazar línea desde el punto anterior
Si suponemos que Puntos() es una estructura dinámica que almacena todos los puntos correspondientes. De modo que se consiga algo como esto:
A-k1-k2-k3-k4-B-k1-k2-k3-k4-C-.....
Siendo A,B y C los puntos inicialmente cargado y entre cada uno de ellos los k generados.
Espero que se entienda mi idea. Tal vez no se ajusta a lo que buscas, es que no estoy muy puesto en ese tema, pero es que mi poco conocimiento del tema no me permite más.
No he visto el ejemplo que te envio Neftali pero si he visto pruebas del componente del que te habló.
Saludos,