1. Aplicaciones del Análisis de Fourier al
Diseño Geométrico Asistido por Computadora
(CAGD)
Parte II:
Aplicaciones al diseño de superficies1
ALEJANDRO DOMÍNGUEZ TORRES (alexdfar@yahoo.com)
DIVISIÓN ACADÉMICA
FUNDACIÓN ARTURO ROSENBLUETH
MÉXICO
ERICK FOWLER
APPLIED MATHEMATICS AND COMPUTING GROUP
CRANFIELD UNIVERSITY
UNITED KINGDOM
Resumen
En un artículo previo [5] se abordo el diseño de curvas a partir de curvas más
simples en su geometría utilizando como herramienta teórica básica el análisis de
Fourier. En esta segunda parte se describirá la misma situación para superficies,
tomando en cuenta los trabajos principales que sobre el tema existen. Se
muestran además ejemplos ilustrativos, algunos de ellos fáciles de crear utilizando
paquetes comerciales.
1. Introducción
El suavizamiento de objetos solidos en la intersección de las superficies que lo
componen es de gran importancia en CAGD. Hasta ahora se han propuesto
diferentes estrategias para resolver este problema. Algunas de estas estrategias
utilizan los conceptos de ajuste de curvas [12], mientras que otras toman en
cuenta herramientas geométricas mas complejas [7]. Sin embargo es muy poca la
información existente de la aplicación del análisis de Fourier o de la teoría de
convolución a esta clase de problemas. Entre los pocos trabajos que existen sobre
el tema están [3, 6, 8, 11].
1 Publicado en la Revista “Soluciones Avanzadas”, 1995.
2. El principio teórico de este último método de suavizamiento se basa en el hecho
de que todos los objetos poseen una transformada de Fourier única [1]. En
general, entre más discontinuidades en su geometría presente el objeto, mayor
será el espectro de Fourier para describirlo [1]. De esta forma, por medio de un
filtrado del espectro de Fourier del objeto las discontinuidades asociadas a las
intersecciones de las diferentes componentes del objeto son suavizadas. Como se
justificará posteriormente, la curvatura de este suavizamiento depende del tipo de
filtro utilizado para tal efecto, así como de su ancho de banda.
La aplicación de este método es de particular importancia en el suavizamiento de
objetos que tienen una estructura geométrica compleja y donde las técnicas
convencionales se convierten en problemas multi paramétricos y
computacionalmente complejos [7]. La técnica es también atractiva debido a la
disponibilidad de chips que contienen el algoritmo de FFT, con los cuales se
puede llevar a cabo suavizamiento en tiempo real.
En esta segunda parte se describirán los trabajos de Fowler [6], Krueger y Phillips
[8], y Roach y Martin [11]. El trabajo de Domínguez [3] se describirá en la tercera
parte de este trabajo.
2. El Método de Fowler
El método de Fowler [6] se basa en la utilización de técnicas de PDI [4] para
suavizar superficies en dos dimensiones.
Con el fin de ilustrar la relación entre el PDI y CAGD, es importante señalar que el
PDI concierne propiamente con imágenes en dos dimensiones las cuales están
representadas en la computadora por un arreglo de pixeles. El valor que toman
cada uno de estos pixeles es una medida de la brillantez o intensidad de luz en
ese pixel [4]. Por otro lado, en el CAGD en dos dimensiones (CAGD 2D) se puede
representar un plano o una superficie por un arreglo de puntos de control, donde el
valor de cada elemento del arreglo representa la altura z del plano en la posición
(x,y). De esta forma los arreglos de brillantez en el PDI son equivalentes a los
arreglos geométricos en CAGD 2D.
En el PDI las imágenes son el resultado del proceso de tomar fotografías a objetos
de la vida real por la utilización de instrumentos apropiados. Estos procesos de
captura de imágenes generan, en mayor o menor grado, que la imagen obtenida
muestre cierto empañamiento y la agregación de ruido. De esta forma, una gran
parte de los métodos y procesos del PDI se abocan a la eliminación de este
empañamiento y ruido [4]. Algunos de estos métodos se pueden aplicar a CAGD
2D; tal es el caso de los métodos de igualación de histogramas, del umbral, y
detección de bordes.
Una similitud adicional entre el PDI y el CAGD surge si se considera la técnica
tradicional de CAGD de representar a una superficie en términos de las funciones
base que las generan [12]. Por ejemplo, una superficie se puede aproximar por
2
3. medio de polinomios utilizando combinaciones lineales de funciones tipo Bezier y
splines, siendo los coeficientes de estas combinaciones los puntos de control de la
superficie [12]. En la aplicación del PDI a CAGD 2D se define una superficie por
medio de combinaciones lineales de funciones exponenciales complejas o,
equivalentemente, por medio de funciones seno y coseno. En este caso , los
coeficientes de las combinaciones son los coeficientes de Fourier de la superficie.
Como se mencionó anteriormente, el suavizamiento se obtiene filtrando el
espectro de Fourier respectivo. Este proceso de filtrado es equivalente, en el
espacio real, a una operación de convolución entre la función o representación
paramétrica de la superficie y la serie o transformada inversa de Fourier del filtro
utilizado. De esta forma, el filtro toma el papel de kernel suavizante. El adjetivo
suavizante se debe a que de él depende el grado de suavizamiento obtenido en el
objeto: entre más suave sea el kernel, entonces se obtendrá un grado mayor de
suavizamiento. Esto último proviene de una propiedad fundamental de la
operación de convolución, la cual dice que: si una de las funciones involucradas
en la operación de convolución tiene derivadas continuas hasta de orden n,
entonces la convolución tendrá como mínimo derivadas continuas del mismo
orden [1].
Por otro lado, la operación de convolución se puede efectuar de una forma rápida
y eficiente por medio de la utilización del algoritmo de FFT. En efecto, la operación
de convolución se transforma en una simple multiplicación en el espacio de
Fourier [1].
Con todo lo anterior en cuenta, el método o algoritmo de suavizamiento de Fowler
consiste primordialmente de los siguientes puntos:
1. Dar la representación paramétrica o función de la superficie.
2. Dar el tipo de kernel suavizante.
3. Efectuar la convolución del kernel con la representación paramétrica o
función de la superficie.
4. Si es necesario, efectuar una igualación del histograma de la convolución
resultante.
5. Aplicar el método del umbral para seleccionar el tipo de suavizamiento
requerido.
6. Si es necesario, aplicar una detección de bordes para delinear bien el
resultado del paso anterior.
Dos ilustraciones de los resultados que arroja este algoritmo utilizando la función
gaussiana
k ( x, y ; ) exp 2 ( x 2 y 2 )
como kernel suavizante se muestran en las Figuras 1 y 2.
3
4. (a) Superficie original mostrando (b) Convolución con un kernel
cambios bruscos en su geometría y gaussiano con =0.16. Los tonos
brillantez. de gris muestran las diferentes
posibilidades de suavizamiento.
(c) Una posible superficie suavizada (d) Otra posible superficie
después de utilizar el método del suavizada después de utilizar el
umbral. método del umbral.
Figura 1.
4
5. (a) Superficie original mostrando (b) Convolución con un kernel
cambios bruscos en su geometría y gaussiano con =0.16. Los tonos
brillantez. de gris muestran las diferentes
posibilidades de suavizamiento.
(c) Una posible superficie suavizada (d) La superficie anterior después
después de utilizar el método del de resaltar bordes.
umbral.
(e) Otra posible superficie suavizada (f) La superficie anterior después
después de utilizar el método del de resaltar bordes.
umbral.
Figura 2.
5
6. Anteriormente se señalo que el grado de suavizamiento de un objeto depende del
kernel utilizado. Con el fin de ilustrar ésto con un kernel diferente al gaussiano, se
ha efectuado la convolución de un objeto con el kernel rectangular
R
| si x
1
S
k ( x, y ; )
|
2
T 0 de otra forma
El resultado se muestra en la Figura 3. Notar que el suavizamiento producido en la
esquinas del objeto es diferente al producido por un kernel gaussiano.
(a) Superficie original mostrando (b) Convolución con un kernel
cambios bruscos en su geometría y rectangular con =1/5. Los tonos
brillantez. de gris muestran las diferentes
posibilidades de suavizamiento.
(c) Una posible superficie suavizada después de
utilizar el método del umbral. Comparar este
suavizamiento con el mostrado en la Figura 1(d).
Figura 3.
Antes de continuar es necesario hacer algunas observaciones adicionales sobre
los kernels suavizantes.
6
7. Una de las observaciones no del todo exploradas por Fowler es que cuando el
parámetro es menor a 1 la superficie que se obtiene es difusa y su geometría
difiere en mucho de la superficie original, mientras que cuando es mayor a 1 y
crece indefinidamente la superficie resultante se aproxima cada vez más a la
superficie original.
Por otro lado, Fowler observó que el filtro gaussiano no genera, bajo la operación
de convolución, fenómeno de Gibbs; es decir no presenta sobresaltos ni
oscilaciones en puntos donde la geometría y/o brillantez cambia bruscamente.
Este no es el caso del filtro rectangular, el cual si lo presenta [1].
Finalmente, un fenómeno que se genera al convolucionar la superficie original con
cualquier kernel es que la superficie resultante es mas ancha o "gorda"
comparada con la original.
El fenómeno anterior se debe una otra propiedad de la operación de convolución,
que en una dimensión dice: si f(x) y g(x) son funciones que son cero fuera de los
intervalos (a,b) y (c,d), entonces la convolución de ambas es una nueva función
que es cero fuera del intervalo (a+c,b+d) [1]. Este fenómeno no sería evidente, y
habría mucha perdida de información en el proceso de suavizamiento, si no
existiese una "banda" o región adicional de pixeles alrededor de la superficie en
consideración.
La pregunta que surge en este punto es la siguiente: ¿existe alguna forma de
eliminar o controlar este fenómeno?. La respuesta es negativa para el método de
Fowler, pero para otros métodos si se puede eliminar y controlar, la forma de
hacerlo se discutirá en la tercer artículo de esta serie.
3. El Diseño de Superficies en Tres Dimensiones
En cuanto al diseño de superficies en tres dimensiones (3D) existen por lo menos
3 trabajos que merecen ser mencionados. Los trabajos corresponden a Krueger y
Phillips [8], Roach y Martin [11], y Domínguez [3]. En esta sección se revisaran los
primeros dos trabajos. El tercer trabajo se discutirá en la tercera parte de este
trabajo.
El artículo de Krueger y Phillips contiene un punto teórico importante. Este punto
es referente a la definición de kernel suavizante. Esta definición es como sigue:
un kernel suavizante k es una función del plano real a la recta real, que tiene por
lo menos derivadas direccionales continuas de segundo orden, y que además
satisface las siguientes propiedades
1. Es una función no negativa: k(x,y)0;
2. Es una función par: k(-x,-y)=k(x,y);
3. k(x,y) es una función decreciente de para (x,y) fijos;
7
8. 4. El volumen encerrado por el plano real y el kernel es la unidad:
zz
k ( x , y ) dxdy 1.
Una función que satisface las condiciones de la definición anterior es la función
gaussiana.
Los resultados obtenidos por Krueger y Phillips se ilustran en las Figuras 4 y 5.
Figura 4. Ilustración del método de Krueger y Phillips.
(a) Escalón. (b) Escalón suavizado utilizando una
función gaussiana.
8
9. Figura 5. Ilustración del método de Krueger y Phillips.
(a) Caballete. (b) Caballete suavizado utilizando una
función gaussiana. (c) Techo de dos aguas. (b) Techo
suavizado utilizando una función gaussiana.
Las figuras anteriores muestran que el proceso de suavizamiento se lleva a cabo
de forma adecuada, Sin embargo, existen varios comentarios acerca del método y
tipo de kernels utilizados por estos autores. El primero de ellos es que el artículo
se refiere explícitamente a la geometría de los operadores diferenciales y dedica
poco espacio al proceso de suavizamiento. Esta puede ser la razón por la cual no
se haga referencia a trabajos previos o cómo es que se llegó a la definición de
kernel suavizante. ¿Con estas propiedades quedan completamente
caracterizados los kernels suavizantes? La respuesta a esta pregunta se dará en
la tercera parte.
Por otro lado, no se hace referencia acerca del algoritmo para evaluar la
operación de convolución y mucho menos de cómo se controló el suavizamiento
de los bordes de la superficie con el plano real, es decir cómo se evito que la
superficie se ensanchará o "engordará", que fue el efecto discutido en la sección
anterior.
9
10. Finalmente, los autores sólo exploran el suavizamiento producido por el kernel
gaussiano, por lo que no dan ejemplos del suavizamiento producido por otros
kernels.
En cuanto al trabajo desarrollado por Roach y Martin [11] lo que se puede
mencionar es que es un trabajo meramente experimental y empírico, por lo que
muchas de las ideas quedan inconclusas y sin mucho fundamento teórico. Un
punto que si queda muy claro es el algoritmo general para llevar a cabo el
proceso de suavizamiento. Este algoritmo es el siguiente:
1. Dar el objeto a ser suavizado.
2. Obtener la transformada de Fourier del objeto; i.e., obtener su espectro.
3. Filtrar el espectro del objeto.
4. Tomar transformada inversa de Fourier de espectro filtrado.
5. El resultado de los pasos anteriores genera el objeto suavizado.
Es importante notar que, tomando en cuenta el titulo del artículo y el algoritmo
anterior, los autores sólo muestran algunos detalles no del todo óptimos y faltos
de funcionalidad del algoritmo para el suavizamiento de curvas; mientras que, por
otro lado, sólo hacen mención del suavizamiento de superficies en tres
dimensiones y no muestran ningún ejemplo ilustrativo.
A pesar de lo anterior, el trabajo de estos autores y los seminarios impartidos por
ellos sobre el tema [9, 10] han generado ideas nuevas y han abierto muchos
tópicos de investigación y experimentación posteriores. Entre los trabajos
reportados se encuentran la tesis de maestría de Fowler, descrita en la sección
anterior, algunas tesis de maestría elaboradas en Cranfield University, y varias
tesis doctorales. Siendo la tesis de Domínguez [3] la primera que ha dado el
fundamento teórico necesario para llevar a cabo la aplicación del análisis de
Fourier al diseño geométrico asistido por computadora.
4. Las Segundas Conclusiones
Con este segundo artículo sobre la aplicación del análisis de Fourier al CAGD y
específicamente al diseño de superficies, se concluye los antecedentes sobre el
tema. Muchas preguntas han quedado abiertas tanto en este artículo como en el
primero de la serie. Estas preguntas obtendrán una respuesta en el tercer
articulo, en el cual se describirá el fundamento teórico y se abordarán ejemplos
mas generales.
Mientras tanto, lo descrito anteriormente puede dar al lector y a los interesados en
el tema una visión general de la potencialidad de esta aplicación. Un punto que es
importante remarcar en esta dirección, es que en el periodo de escritura del
trabajo de Fowler, él tuvo que construir la mayor parte de los algoritmos y
programas para obtener figuras similares a las descritas arriba; hoy en día la
tecnología de software ha avanzado a pasos agigantados, de tal forma que las
figuras creadas para la segunda sección se generaron utilizando un paquete
10
11. comercial y fácilmente adquirible en el mercado. Lo más sorprendente de ésto es
que dicho paquete no fue diseñado para llevar a cabo el propósito y la aplicación
antes descrita. El paquete se llama PhotoStyler de Aldus Corporation y el cual
hace dos años una revista dedicada a la promoción del ambiente Windows
obsequio una copia de prueba.
Finalmente, es importante mencionar que existe un trabajo adicional sobre la
aplicación de la convolución al diseño de sólidos, desafortunadamente no se pudo
obtener una copia del documento en donde se describe tal aplicación [2].
Referencias Comentadas
Como en el caso del diseño de curvas por este método, 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 [12].
[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] Colburn, S. Method for global blending of computer modeled solid objects
using a convolution integral. United States Patent No. 4,791,583, December
1988.
No se pudo obtener una copia del documento de esta patente.
[3] Domínguez, A. "Fourier Based Methods in CAD". PhD Thesis, Department of
Applied Computing and Mathematics, Cranfield Institute of Technology.
Cranfield (ahora Cranfield University), 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 discutiran en la tercera parte de esta
serie de artículos.
[4] Domínguez, A. Procesamiento digital de imágenes. Soluciones Avanzadas,
Año 2. No. 15, pp. 13-20, Noviembre 1994.
11
12. 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.
[5] 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, 1995.
La primera parte de este trabajo. Se da la historia y se describen los
métodos primitivos para el diseño de curvas.
[6] 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.
El contenido de esta tesis se describe en esta segunda parte. 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.
[7] IEEE Computer Graphics and Applications, 13 No. 1 (enero de 1993).
Número especial en Computer Aided Geometric Design.
Una serie de artículos donde se muestran los métodos y técnicas de
actualidad en la fecha de su aparición. Su lectura es difícil si no se cuenta
con fundamentos téoricos fuertes sobre diseño geométrico.
[8] Krueger, W.M. y K. Phillips. The geometry od differential operators with
aplicaction to image processing. IEEE Transactions on Pattern Analysis and
Machine Intelligence, 11 (1989), pp.1252-1264.
Un artículo díficil de leer por la cantidad de conocimientos necesarios sobre
geometría diferencial.
[9] Martin, R.R. Automatic generation of blending surfaces. Seminar in Applied
Computing, Cranfield Institute of Technology (ahora Cranfield University),
22nd November 1989. Cranfield, Berford, U.K.
Este fue el primer seminario que originó muchas de las ideas descritas en
este artículo y en el siguiente. Desafortunadamente no fue filmado.
[10] Roach, P.A. Fourier methods for computer aided design. Seminar at
University of Wales College of Cardiff (Mathematics Institute), 21st March
1990. Wales, U.K.
12
13. El segundo seminario sobre el tema en donde se mostrarón algunos diseños
de curvas y ninguno sobre superficies. En realidad contiene los avances
sobre la tesis doctoral de Paul Roach.
[11] Roach, P.A: y R.R. Martin. Fourier methods for surface smoothing in
computer aided design. Proceedings of IMA Conference of Mathematics of
Surfaces IV, September 1990.
Contiene el resúmen o memoria de los dos seminarios anteriores. Este fue el
último trabajo de estos autores del que se tiene conocimiento. Aún no se
sabe si Roach concluyó su tesis doctoral.
[12] 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í.
13