1. Aplicaciones del Análisis de Fourier al
Diseño Geométrico Asistido por Computadora
(CAGD)
Parte III:
Fundamentos teóricos y computacionales1
ALEJANDRO DOMÍNGUEZ TORRES (alexdfar@yahoo.com)
DIVISIÓN ACADÉMICA
FUNDACIÓN ARTURO ROSENBLUETH
Resumen
En el presente artículo se presentan los fundamentos teóricos y
computacionales sobre los que se basa la aplicación del análisis de Fourier
al CAGD. También se diseñan curvas y superficies para mostrar los
resultados que genera esta aplicación. Finalmente, se muestra un ejemplo
de la utilización del método para el levantamiento de terrenos a partir de sus
curvas de nivel, y el cual se está utilizando para la construcción de un
Sistema de Información Geográfica.
1. Introducción
Muchos de los sistemas para modelar las superficies y contornos de objetos
arbitrarios utilizan como base las funciones denominadas B-splines. Para el
caso de superficies, la técnica utilizada por estos sistemas se basa en
"surface patches" o trozos de superficies [9], las cuales requieren para su
definición una serie de puntos de control, que en conjunto hacen difícil su
manipulación para obtener el resultado deseado.
El presente articulo, tercero y último de esta serie, propone las técnicas
para construir un sistema para modelar curvas y superficies utilizando como
herramienta principal el análisis de Fourier y las propiedades de
aproximación y suavizamiento de la operación de convolución. Uno de los
atractivos de estas técnicas, es que las operaciones de suavizamiento y
aproximación requieren del manejo de pocos parámetros.
1 Publicado en la Revista “Soluciones Avanzadas”, 1995.
2. La utilización de estas técnicas en curvas y superficies producen una
versión suavizada de un objeto geométrico el cual ha sido definido de forma
rudimentaria por medio de polígonos, para el caso de curvas, y de
poliedros, para el caso de superficies.
Este articulo tiene la intención de formalizar todas las ideas expuestas en
los dos artículos previos [6, 7], por lo que una parte del mismo se dedicara
a describir los fundamentos teóricos. Una vez hecho esto, se aplicara la
teoría al suavizamiento de algunos objetos arbitrarios. Finalmente se
concluirá con una aplicación práctica de esta teoría.
2. Los fundamentos teóricos y computacionales
Con el fin de simplificar la teoría, se considerara primeramente una función
arbitraria f ( x ) a valores reales. De esta forma, el problema consiste en
diseñar una o varias funciones g ( x ) a partir de f ( x ) , con la condición de
que
i. g ( x ) es más "suave" (en cierto sentido) que f ( x ) ,
ii. g ( x ) es una aproximación a f ( x )
El problema consiste ahora en establecer los criterios de suavizamiento y de
aproximación requeridos para establecer el proceso de diseño. Los dos
artículos anteriores al presente sugieren que la operación que es útil para
cumplir las condiciones anteriores es la convolución, es decir g ( x ) debe ser
tal que
z
g ( x ) k ( x ) f ( x ) k ( ) f ( x )d
Así, el problema se reduce a determinar la naturaleza y las propiedades de
la función k ( x ) que hagan que se cumplan las condiciones i y ii anteriores.
En el caso de la condición i, existen muchos criterios de suavizamiento. En
el caso que se presenta aquí, la función f ( x ) es una función arbitraria, por lo
que no se conoce su naturaleza ni sus características geométricas. Por
ejemplo, no se sabe si la función es continua o diferenciable. Lo mismo
puede suceder para la función g ( x ) .
Aunque no se puedan obtener las derivadas de f ( x ) ni de g ( x ) , lo que si se
puede obtener para ambas funciones son las diferencias finitas de todos las
2
3. ordenes para ambas funciones. Puesto que estas diferencias finitas
determinan como varia la geometría de las funciones, es natural deducir que
g ( x ) será más suave que f ( x ) si el valor cuadrático medio de las
diferencias finitas de todos los ordenes de g ( x ) k ( x ) f ( x ) es menor o
igual a las correspondientes de f ( x ) .
La historia de este criterio de suavizamiento data del año de 1867 cuando el
italiano Schiaparelli utiliza la convolución y este criterio para suavizar las
diferencias finitas de tercer orden de una serie de datos experimentales [4,
11]. Posteriormente en 1871, el norteamericano Erastus L. de Forest dio un
tratamiento completo de la utilización de la convolución, en conjunción con
un criterio similar al señalado anteriormente, para suavizar las diferencias
finitas de cierto orden de una serie de datos numéricos [4, 11]. Finalmente,
el rumano-americano Isaac J. Schoenberg en 1946 utilizó las ideas de de
Forest y las ideas de otros autores para suavizar y aproximar conjuntos de
datos numéricos por funciones analíticas utilizando la convolución y el
criterio del presente artículo [4, 10]. Es importante mencionar que este
último autor es considerado por muchos autores como el padre de los B-
splines ya que fue el que introdujo estas funciones en la literatura
matemática moderna [4].
Después de hacer un análisis exhaustivo de este criterio de suavizamiento
por medio de la transformada de Fourier [2], la naturaleza de la función k ( x )
queda al descubierto:
k ( x ) debe ser integrable en todo el espacio, ó
k ( x ) debe ser una función cuyo espectro de frecuencia está
contenido en un intervalo finito que encierra al origen de
coordenadas; i.e., debe ser una función de banda limitada.
Además de esta naturaleza, con el mismo análisis se obtiene la siguiente
definición [2]:
Definición. La función k ( x ) es un kernel suavizante si y solo si
a) El área bajo k ( x ) es la unidad (su integral es 1);
b) La amplitud de la transformada de Fourier de k ( x ) , denotada por
K (u ), es menor o igual a 1.o
De entre las funciones que cumplen con la propiedad de Kernels
suavizantes destacan las siguientes:
k ( x ) gauss ( x )
1
c h
exp x 2
bg b g
k ( x ) 2 sec h2 x 2
3
4. k ( x ) bn ( x ) h ( x ) h ( x ) ... h ( x )
k(x )
1
2
c h
exp x 1 4 4 42 4 4 43
n veces
R si x
1
donde h ( x ) S
1
2
k(x )
1
2
b g
sech x 2 T si x
0 1
2
Las funciones bn ( x ) son los famosos B-splines introducidos por Schoenberg
y utilizadas en la teoría clásica para diseñar y modelar objetos [9].
Un kernel suavizante de banda limitada está dado por la función SINus
Cardinalis, o función sinc, definida como sigue:
1 sen( x )
k ( x ) sinc ( x )
x
Una propiedad que es importante mencionar es que la autoconvolución de
estos kernels originan una función que se aproxima cada vez a una función
gaussiana. En la literatura esto se conoce como el Teorema del Limite
Central [1].
Por otro lado, existe un problema que quedo pendiente en los pasados dos
artículos. El problema es que algunos kernels generan oscilamientos y
sobresaltos al momento de llevar a cabo el proceso de suavizamiento.
Dicho de otra forma generan el fenómeno de Gibbs.
Este problema queda resuelto si los kernels suavizantes son a su vez de
variación disminuida, i.e., si la grafica de f ( x ) está compuesta por una
sucesión alternante de arcos concavos y convexos, entonces k ( x ) es tal
que la grafica de g ( x ) k ( x ) f ( x ) está compuesta de una sucesión similar
y con igual en número de términos de arcos concavos y convexos. A kernels
de este tipo se les denominará en lo sucesivo kernels suavizantes de
variación disminuida (KSVD) [2].
Una de las propiedades importantes de los KSVD es que incrementan el
grado de diferenciabilidad de g ( x ) bajo la operación de convolución,
independientemente de que f ( x ) sea o no diferenciable; de esta forma la
función diseñada g ( x ) es efectivamente más suave que la función original.
La demostración de este hecho se puede encontrar en [1, 2].
Tipos de kernels que no son KSVD son los B-splines bn ( x ) definidos
anteriormente, así como también no lo son los kernels de banda limitada.
Mientras que los son todos los demás.
4
5. En resumen, el considerar kernels del tipo KSVD significa que al momento
de suavizar f ( x ) la función suavizada g ( x ) sigue la trayectoria de la función
original sin causar oscilaciones o sobresaltos adicionales (debido a la
ausencia del fenómeno de Gibbs), y la función diseñada g ( x ) tiene un
orden de diferenciabilidad más alto que el de la función f ( x ) (ver las figuras
que se presentan en secciones posteriores). Una descripción detallada de
los KSVD se puede encontrar en [2].
Con lo anterior queda resuelto el problema de suavizamiento. Ahora se
abordará el problema de aproximación. Este problema queda resuelto si se
considera un parámetro adicional en la definición de los KSVD de la
siguiente forma
k ( x ; ) k ( x )
Con el fin de hacer una interpretación geométrica del efecto del parámetro
en los KSVD, nótese que éstos últimos tienen una amplitud máxima de 1 y
muestran una "joroba" alrededor del origen de coordenadas. De esta forma
si crece indefinidamente la amplitud de los KSVD crece de igual forma,
mientras que su "joroba" se hace más aguda. Por otro lado si tiende a
cero, la amplitud de los KSVD tiende a cero y su "joroba" se hace más
ancha.
Un análisis adicional muestra que si se considera la convolución
g ( x ; ) k ( x ; ) f ( x ) k ( x ) f ( x )
entonces g ( x ; ) es muy parecida a f ( x ) si crece indefinidamente, y
diferirá cada vez más de f ( x ) si se aproxima a cero [1, 2].
De esta forma se tiene la siguiente definición:
Definición. La función k ( x ; ) se llama kernel de diseño para la función
f ( x ) si y sólo si
a) k ( x ; ) k ( x ) , con positivo y k ( x ) un KSVD;
b) g ( x ; ) k ( x ; ) f ( x ) k ( x ) f ( x ) es una función continua y
acotada;
c) g ( x ; ) es una aproximación a f ( x ) cuando crece
indefinidamente.o
Con todo lo anterior, la función g ( x ; ) es la función diseñada a partir de
f ( x ) . Como podrá notarse, para cada valor de existe una función
diseñada diferente.
5
6. Existe un problema adicional que fue señalado en las conclusiones del
primer artículo. Este problema se refiere a la no coincidencia de los
extremos de la curva diseñada y de la curva original cuando esta última es
abierta (ver las figuras generadas por el método de Dessimoz en el primer
artículo). Esta es la razón por la cual los autores mencionados en el primer
articulo únicamente consideran curvas cerradas.
La razón de esta no coincidencia de extremos se debe la discontinuidad
existente entre el extremo inicial y el extremo final de la función en
consideración, y al hecho de que el algoritmo de FFT considera a las
funciones como si éstas fueran periódicas; i.e., supone que los puntos
extrémales son continuados por replicas de los puntos iniciales (ver Figura
1). Así la transformada percibe un salto repentino entre el final de un
periodo y el principio de el siguiente. Como ya se ha mencionado en varias
ocasiones, los saltos repentinos, o discontinuidades, corresponden a altas
frecuencias.
La solución a este problema es sencillo y consiste en realizar una rotación
de la función original, o equivalentemente de los ejes coordenados, con el
fin de hacer coincidir los puntos extremos del fin de un periodo e inicio del
siguiente, efectuar la convolución con un kernel de diseño, y finalmente
realizar la rotación inversa. Matemáticamente hablando, la rotación consiste
en la sustracción de la recta que une al primero y al ultimo puntos de la
función original. La validez de este método se basa en el principio de que la
geometría de un objeto es invariante ante rotaciones; i.e., la geometría de
un cuerpo no cambia si este se rota.
Figura 1. Una explicación de la eliminación de la no coincidencia
de los extremos. (a) Para eliminar este efecto se substrae la
linea recta que une los puntos extremos. (b) Notar que ahora la
función comienza y termina en el mismo valor de la ordenada, lo
cual significa que no existen discontinuidades repentinas y por lo
tanto el punto final coincide con el inicial del siguiente periodo.
6
7. Finalmente, recordemos que una forma eficiente de llevar a cabo la
operación de convolución es utilizar el algoritmo de FFT. El algoritmo para
llevar a cabo esta operación utilizando el algoritmo de FFT se representa en
la siguiente figura
Figura 2. Diagrama para efectuar la operación de convolución
utilizando en algoritmo de FFT.
También recordemos que hoy en día existen en el mercado de hardware
chips que permiten efectuar el algoritmo FFT y su inverso en tiempo real.
Esto concluye la sección de los fundamentos teóricos y computacionales
requeridos para diseñar funciones a partir de otras más rudimentarias en su
geometría. En las siguientes secciones, se describirá la aplicación de esta
teoría al diseño de curvas y superficies.
3. El diseño de curvas
Una curva se describe matemáticamente por medio de sus ecuaciones
paramétricas, si t es el parámetro de variación de la curva y si ( t ) es una
curva en dos dimensiones, entonces ( t ) esta descrita por el vector
(t ) ( x (t ), y (t ))
donde x ( t ) y y ( t ) son funciones a valores reales. Si ( t ) es una curva en el
espacio de 3 dimensiones, entonces ésta está descrita por el vector
(t ) ( x (t ), y (t ), z (t ))
donde x ( t ) y y ( t ) y z (t ) son nuevamente funciones a valores reales [9].
El hecho de tener funciones a valores reales para las componentes de la
curva ( t ) sugiere que el proceso de diseño descrito en la sección anterior
7
8. se aplique a cada componente de la curva; i.e., se tienen que efectuar las
operaciones
b
(t ; ) (t ) k (t ; ) x (t ) k (t ; ), y (t ) k (t ; ) , g
para una curva en dos dimensiones, y
b
(t ; ) (t ) k (t ; ) x (t ) k (t ; ), y (t ) k (t ; ), z (t ) k (t ; ) g
para una curva en tres dimensiones. En ambos casos (t ; ) es la curva
diseñada a partir de la original.
De esta forma se tiene el siguiente algoritmo:
ALGORITMO PARA EL DISEÑO DE CURVAS
1. Dar las ecuaciones paramétricas de la curva y graficarla;
2. Si la curva es abierta, entonces rotar cada una de las componentes
de la curva con el fin de hacer que los extremos coincidan;
3. Seleccionar el kernel de diseño k ( t ; ) a ser utilizado;
4. Seleccionar el valor del parámetro ;
5. Efectuar la convolución de k ( t ; ) con cada una de las componentes
obtenidas en el paso 2;
6. Si la curva fue cerrada, entonces Invertir el proceso de rotación;
7. Graficar la curva resultante.
Algunos ejemplos de la aplicación de este algoritmo al diseño de curvas en
2 y 3 dimensiones se muestran en las siguientes figuras.
Figura 3. Suavizamiento y aproximación a curvas
bidimensionales cerradas utilizando el kernel de diseño
k ( x ; ) gauss ( x ) con 0. 1
8
9. Figura 4. Suavizamiento y aproximación a curvas
bidimensionales abiertas utilizando el kernel de diseño
k ( x ; ) gauss ( x ) con 0. 1
Figura 5. Suavizamiento y aproximación a curvas tridimensionales utilizando el kernel de
diseño k ( x ; ) gauss ( x ) con 0. 1
En las figuras anteriores se utilizo como kernel de diseño la función gaussiana ya que esta función hace que
cualquier otra función que sea convolucionada con ésta la hace infinitamente diferenciable [1].
Notar la ausencia del fenómeno de Gibbs en las figuras anteriores. Así mismo, notar como la curva diseñada
"sigue la trayectoria" de la curva original. En general se puede demostrar que la curva diseñada está
completamente contenida en la región convexa definida por la curva original.
4. El diseño de superficies
La superficies por lo regular son objetos en tres dimensiones que, al igual que las curvas, se describen por sus
ecuaciones paramétricas, con la diferencia que una superficie depende de dos parámetros que tienen un rango
9
10. de variación bien definido y que se denotaran como s y t . De esta forma, una superficie ( s, t ) está
representada por el siguiente vector
b
( s, t ) x ( s, t ), y ( s, t ), z ( s, t ) g.
En este caso, las funciones x ( s, t ), y ( s, t ), z ( s, t ) son funciones que toman valores reales para la
pareja (s,t).
Claramente, el problema de diseñar superficies consiste en determinar los kernels de diseño en dos
dimensiones. La forma más simple, y la única que se discutirá aquí, de generar estos kernels es por la
multiplicación de dos de ellos; i.e, si b g b g
k1 x ; y k2 y ; son kernels de diseño en una dimensión,
b g b g
entonces k x , y ; k1 x ; k 2 ( y ; ) es un kernel de diseño en dos dimensiones.
De esta forma, la operación que se tiene que efectuar para diseñar una superficie es
b
( s, t ; ) ( s, t ) k ( s, t ; ) x ( s, t ) k ( s, t ; ), y ( s, t ) k ( s, t ; ), z( s, t ) k ( s, t ; ) g
donde ( s, t ; ) es la superficie diseñada a partir de la original. Así, el algoritmo para diseñar superficies
es similar al de diseño de curvas
ALGORITMO PARA EL DISEÑO DE SUPERFICIES
1. Dar las ecuaciones paramétricas de la superficie y graficarla;
2. Si la superficie es cerrada, entonces rotar cada una de las componentes de la curva con el fin de hacer
que los extremos coincidan;
3. Seleccionar el kernel de diseño k ( s, t ; ) a ser utilizado;
4. Seleccionar el valor del parámetro ;
5. Efectuar la convolución de k ( s, t ; ) con cada una de las componentes obtenidas en el paso 2;
6. Si la superficie fue cerrada, entonces invertir el proceso de rotación;
7. Graficar la superficie resultante.
Dos ejemplos de la aplicación de este algoritmo al diseño de superficies se muestran en las siguientes figuras.
10
11. Figura 6. Suavizamiento y aproximación a una superficie utilizando el kernel de diseño
k ( x , y ; ) 2 gauss ( x ) gauss ( y ) con 0. 5
Figura 7. Suavizamiento y aproximación a una superficie utilizando el kernel de diseño
k ( x , y ; ) 2 gauss ( x ) gauss ( y ) con 0. 5
5. Un ejemplo más específico
El siguiente ejemplo surge de una necesidad real al momento de construir un Sistema de Información
Geográfica (SIG). En este SIG se tiene una imagen que representa las curvas de nivel de una región de la
Ciudad de Tecate, y la cual se muestra en la Figura 8. Cada región de la imagen con un tono de gris
específico representa una región con cierta altitud. Utilizando una tabla de alturas contra tonos de gris, es
posible hacer un "levantamiento del terreno" a un espacio de tres dimensiones. Este levantamiento se muestra
11
12. en la Figura 9. Como puede en esta figura, el terreno muestra cambios bruscos en su geometría. Por ejemplo,
muestra pendientes muy pronunciadas que hacen que la superficie no parezca del todo real, sino más bien
construida por la superposición de cubos, pirámides, paralelepípedos, etc.
Figura 8. Imagen que muestra la curvas y superficies de nivel de una región
de la Ciudad de Tecate.
Con el propósito de que la superficie "luzca" más real es necesario efectuar un proceso de suavizamiento.
¿Qué tanto se debe suavizar la superficie?. La respuesta a esta pregunta depende del conocimiento a priori
que se tenga sobre el terreno original y de la escala que se esté tomando en cuenta. Aquí se supondrá que,
para la escala considerada, la superficie original acepta como mínimo derivadas de primer orden en cualquier
dirección.
Un kernel de diseño que cumple con la suposición anterior está dado por la ecuación
2
k ( x, y ; )
4
c h c h
exp x exp y [2]. El resultado de la aplicación de este kernel de
diseño se muestra en al Figura 10.
Figura 9. Superficie generada por el levantamiento tridimensional de las curvas y
regiones de nivel de figura anterior.
12
13. Figura 10. Superficie diseñada utilizando el kernel
2
k ( x, y ; )
4
c h c h
exp x exp y , el cual incrementa la
diferenciabilidad de la superficie en un orden.
El procedimiento efectuado en este ejemplo no es único. En efecto, otra forma de llevar cabo el
suavizamiento es primero convolucionar la imagen de la Figura 9 con el kernel de diseño dado, lo cual
genera que desaparezcan o se diluyan los cambios bruscos de tonos de gris [5, 7, 8], y después hacer el
levantamiento tridimensional. En principio los resultados obtenidos por un método u otro deben ser los
mismos.
6. Las conclusiones finales
En la actualidad existen algunos trabajos adicionales acerca de la metodología descrita en el presente artículo,
desafortunadamente no han sido dados a conocer públicamente. En Cranfield University, Inglaterra, se han
desarrollado en los últimos 4 años algunas tesis de maestría explorando diversas variantes del método de
diseño aquí descrito. El método, variantes adicionales, y la optimización de los algoritmos involucrados han
sido investigados y compendiados en el trabajo de tesis doctoral de Nathalie James, el cual se desarrolla en la
universidad antes mencionada.
En México existen un par de trabajos que utilizan la metodología descrita aquí. El primero de ellos es el
reseñado en la sección anterior y el cual se está desarrollando por Miguel Armas Alemán en el Departamento
de Sistemas Geográficos de la Fundación Rosenblueth. El segundo trabajo es un prototipo de sistema escrito
en lenguaje Pascal por Carlos Gómez de León, alumno de la carrera de Ingeniería en Sistemas Industriales de
la misma institución. Este sistema, aunque rudimentario, permite experimentar con el diseño de algunos
objetos definidos por curvas bidimensionales.
Falta aún mucho por hacer, principalmente dar a conocer el poder del método, compararlo con los métodos
de la teoría clásica, y explorar en el diseño de objetos complicados en su geometría. Falta también optimizar
muchos de los algoritmos, y explorar variantes aún no exploradas del método y combinarlo con otras técnicas
de diseño. Algunas de ellas están siendo exploradas por el autor y algunos alumnos tesistas de la Maestría en
Ciencias de la Computación de la Fundación Rosenblueth, y posiblemente se den a conocer en el próximo
año.
13
14. Referencias Comentadas
Es difícil dar algunas referencias de carácter introductorio sobre la temática de este trabajo ya que, hasta el
momento, no existen libros o artículos que traten el tema de esta forma. Las razones de ésto son claras: son
temas actuales de investigación y en cierta forma la teoría expuesta no es parte aún de la teoría clásica que se
puede encontrar en libros referentes a la temática [9].
[1] Bracewell, R.N. "The Fourier transform and its applications". Second Edition Revised. McGraw-Hill
Book Company. New York, 1986.
Este es un libro clásico sobre la transformada de Fourier. Es de fácil lectura y trata muchas de las
aplicaciones. Recomendable para lectores que desean evitar el tratamiento riguroso de la teoría.
[2] Domínguez, A. "Fourier-based methods in CAD". PhD Thesis, Department of Applied Computing
and Mathematics, Cranfield Institute of Technology (ahora Cranfield University). Cranfield, Bedford,
England, January 1992.
En esta tesis de describen los fundamentos teóricos y de implementación de este tipo de aplicacion,
los cuales se resumen en esta tercera parte.
[3] Domínguez, A. A short note on the history of B-splines. Internal report, Department of Applied
Computing and Mathematics, Cranfield Institute of Technology (ahora Cranfield University).
Cranfield, Bedford, England, March 1992.
Contiene una breve historia sobre los B-splines. Fácil de leer. No requiere de conocimientos
matemáticos profundos.
[4] Domínguez, A. The origin and history of convolution I: Continuos and discrete convolution
operations. Internal report, Department of Applied Computing and Mathematics, Cranfield Institute of
Technology (ahora Cranfield University). Cranfield, Bedford, England, June 1992.
Este articulo es único, ya que hasta el momento es la única recopilación existente sobre el origen de la
operación de convolución. Fácil de leer.
[5] Domínguez, A. Procesamiento digital de imágenes. Soluciones Avanzadas, Año 2. No. 15, pp. 13-20,
Noviembre 1994.
Artículo introductorio en el que se describen los métodos y procedimientos generales del PDI. Debido
a esta característica, no se requiere tener conocimientos previos sobre el tema para poder leerlo.
[6] Domínguez, A. Aplicaciones del análisis de Fourier al diseño geométrico asistido por computadora
(CAGD). Parte I: Introducción y aplicaciones al diseño de curvas. Soluciones Avanzadas, Año 2,
Junio de 1995.
La primera parte de esta serie de articulos. Se describen algunos métodos para el diseño de curvas
[7] Domínguez, A y E. Fowler. Aplicaciones del análisis de Fourier al diseño geométrico asistido por
computadora (CAGD). Parte II: Aplicaciones al diseño de superficies. Soluciones Avanzadas, Año 2,
Agosto de 1995.
La segunda parte de esta serie de articulos. Se describen algunos métodos para el diseño de superficies
[8] Fowler, E. "Global blending in Fourier based CAD". MSc Thesis, Department of Applied Computing
and Mathematics, Cranfield Institute of Technology. Cranfield (ahora Cranfield University), Bedford,
England, September 1990.
14
15. El contenido de esta tesis se describe en la segunda parte de esta serie de artículos. Fácil de leer si se
tienen conocimientos básicos de PDI y CAGD. Fue premiada como la mejor tesis experimental de
1990 por la editorial Ellis Hordwood de Inglaterra.
[9] Rooney, J. y P. Steadman (Editores). "Principles of computer-aided design". Pitman Publishing in
association with The Open University. London, 1987.
Un excelente libro de caracter introductorio para los interesados en CAD/CAM/CAE. Es
recomendable hacer una lectura previa de la teoría clásica y/o tradicional descrita en los Capítulos 6, 7
y 8 con el fin de hacer una comparación con la teoría expuesta aquí.
[10] Schoenberg, I.J. Contributions to the problem of approximation of equidistant data by analytic
functions; Part A: On the problem of smoothing or graduation, A first class of analytic approximation
formulae; Part B: On the problem of osculatory interpolation, A second class of analytic
approximation formulae. Quaterly of Applied Mathematics, 4 (1946), pp. Part A: 45-99, PArt B: 112-
141.
En este artículo se introducen los B-splines en la matemática moderna. Define los B-splines en
términos de convoluciones y análisis de Fourier.
[11] Wolfenden, H.H. On the development of formulae for graduation by linear compounding, with special
reference to the work of Erastus L. De Forest. Transactions of the Actuarial Society of America, 26
(1925), pp. 81-121.
Contiene una aplicación de la convolución para el suavizamiento de diferencias finitas.
15