Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LibroAzucenaV1 3
LibroAzucenaV1 3
GRAFICACIN
Martha Azucena Fernndez Saucedo
Asesor: Rogelio Ferreira Escutia
Morelia, Mich.
Agosto de 2007
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
A mi familia
Graficacin
II
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
ndice
ndice
III
ndice de figuras
VIII
Introduccin
XV
1
1
Las bases
Los 1960s
Los 1970s
Los 1980s
Los 1990s
12
2000 - a la fecha
15
1.2. Aplicaciones
16
16
Arte digital
19
Entretenimiento
22
Educacin y capacitacin
27
Visualizacin
28
Procesamiento de imgenes
29
31
33
38
Graficacin
III
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
BMP, BitMaP
39
40
CIN, Cineon
40
41
41
DRW, Draw
42
42
43
43
44
44
45
45
47
56
58
59
59
60
61
PIC, Picture
61
62
68
68
69
Graficacin
IV
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
69
70
71
71
74
XBM, X BitMap
74
74
X-Pixmap (.xpm)
74
Resumen
75
78
79
Traslacin
79
Rotacin
80
Escalacin
84
87
90
91
92
94
Propiedades de concatenacin
95
96
101
computacional
2.6. Representacin matricial de transformaciones tridimensionales
107
112
Resumen
120
Graficacin
V
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
122
123
Superficies de Bezier
125
Superficies B-Spline
132
Modelado de slido
136
3.2. Proyecciones
171
Proyeccin de perspectiva
173
Proyecciones paralelas
175
Proyeccin isomtrica
178
179
180
Superficies de polgonos
180
190
191
Representaciones de Spline
195
205
Resumen
218
Bibliografa
221
223
223
224
225
226
228
233
Graficacin
VI
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
240
240
240
241
242
244
245
246
246
246
249
250
252
B.3. Matrices
253
255
Multiplicacin de matrices
255
257
257
258
259
260
262
Graficacin
VII
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
ndice de figuras
Captulo 1
1.1. Computadora de uso militar SAGE
10
10
11
12
13
14
14
15
16
17
18
Graficacin
VIII
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
18
19
20
20
21
21
23
23
24
24
25
26
26
27
28
30
30
31
32
32
33
34
35
37
37
Graficacin
IX
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
38
39
40
42
50
65
65
65
Captulo 2
2.1. Movimiento de un polgono
80
81
82
83
85
86
93
94
96
97
98
99
101
104
106
108
Graficacin
X
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
108
113
114
115
116
118
2.23. Un aeroplano
118
119
Captulo 3
3.1. Superficie con puntos de Bzier
126
127
130
131
134
135
138
138
139
140
141
143
143
144
145
145
Graficacin
XI
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
146
148
150
150
152
153
154
155
156
3.26. Poliedro
157
160
3.28. Toro
161
162
163
164
166
168
169
171
172
174
174
175
176
177
Graficacin
XII
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
178
179
180
181
183
184
187
189
189
192
193
3.53. Elipsoide
193
195
196
197
198
199
201
203
208
210
211
212
214
216
Graficacin
XIII
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
217
Apndice B
B.1. Coordenadas de pantalla cartesianas
241
242
242
B.4. Tringulo
243
B.5. ngulo
243
244
245
246
247
248
249
250
251
252
Graficacin
XIV
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Introduccin
La infografa, es decir, los grficos por computadora, continua siendo una de las reas
ms excitantes y de ms rpido crecimiento de la tecnologa moderna. Los mtodos
infogrficos se aplican de forma rutinaria en el diseo y la mayora los productos, en los
simuladores para actividades de programacin, en la produccin de pelculas, anuncios de
televisin, vdeos musicales, en el anlisis de los datos, en los estudios cientficos, en las
intervenciones mdicas, los vdeo juegos y en muchsimas otras aplicaciones.
En la actualidad, se utiliza una gran variedad de tcnicas y de dispositivos
de
Graficacin
XV
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
1. Introduccin a la graficacin
por computadora
Objetivo.
A lo largo de la historia han sucedido importantes eventos que han sentado las bases
para las grficas por computadora. Estos descubrimientos merecen ser
mencionados as
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Euclides (300- 250 A.C.), su frmula de geometra provee una base para los
conceptos grficos.
Alexander S. Douglas desarrolla en 1952 Nought and crosses. El juego era una
versin computerizada del tres en raya que se ejecutaba sobre el EDSAC.
Los 1960s
Se puede decir que la historia comienza con el Proyecto Whirlwind y el
sistema
computacional SAGE que fue diseado para apoyar el estado de alerta militar. El Proyecto
Whirlwind inici como un esfuerzo para construir un
proveer un sistema de defensa areo en los Estados Unidos como proteccin contra un
ataque nuclear. La estacin de trabajo SAGE tena un monitor vectorial y lpiz luminoso
que los operadores usaban para dibujar planes de vuelo sobre las regiones de los Estados
Unidos. En la actualidad, el Museo de Computacin de Boston (Boston Computer Museum)
exhibe una estacin de trabajo SAGE. El monitor es una pantalla de radar con un recuadro
alrededor de la regin que esta siendo escaneada. Los lpices luminosos son como los viejos
taladros de metal. En la exhibicin Hollywood and Vine de IBM en Kingston New York se
muestra una computadora SAGE.
Graficacin
2
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
existan a
de memoria, ni
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
El sistema Sketchpad fue creado en el Laboratorio Lincoln del MIT sobre un ordenador
TX-2, una de las mejores mquinas de entonces pues contaba con 320Kb de memoria base
y 8Mb de memoria externa en forma de cintas
grficos, estaba dotado con un monitor de
que fueron
Graficacin
4
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
En 1963, Douglas Englebart invent el Mouse en los laboratorios de Xerox PARC. Este
mouse usaba dos ruedas perpendiculares entre ellas: la rotacin de
Dabney un
proyecto de videojuego llamado Fox and Hounds dando inicio al videojuego domstico. Este
proyecto evolucionara hasta convertirse en la Odyssey, el primer sistema domstico de
videojuegos lanzado en 1972.
El algoritmo de sombreado fue creado por Gouraud y Phong en la Universidad de Utah
(University of Utah) cuando en 1968 la universidad le pidi a David Evans que dirigiera un
programa de investigacin en grficos por
los laboratorios
Dartmouth y Bell.
Graficacin
5
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Los 1970s
A principios de los 1970s el Sistema de Imgenes de Evans & Sutherland era una
computadora
high-end de grficos.
El
fu creado en Intel en 1971, este era de 8 bits e inicio la serie de los 8: 8088, 8086,
80186, etc.
Los videojuegos como arcade nacieron en 1971 cuando Nolan Bushnell comenz a
comercializar Computer Space, una versin de Space War, en Estados Unidos, aunque es
posible que se le adelantara Galaxy War otra versin arcade de Space
War aparecida a
se implantaron
Graficacin
6
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
sorprendidos cuando vendieron sobre diez veces esa cantidad en el primer mes. Hoy en da,
la Altair es ampliamente
computador personal de los aos siguientes: El bus de computador diseado para la Altair
se convirti en un estndar de facto conocido como el bus S-100. El primer lenguaje de
programacin para la mquina fue el Altair BASIC, escrito por Bill Gates y Paul Allen, quienes
inmediatamente despus fundaran Microsoft.
primero en
Graficacin
7
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Es comn pensar que el primer filme que us grficas por computadora es 2001: Una
odisea en el espacio (1968), la cual pretenda mostrar cmo las
volveran ms grficas en el futuro. Sin embargo, los efectos
computadoras se
pelcula fueron animados a mano y las secuencias de efectos especiales fueron producidas
con ptica y efectos convencionales.
Quiz el primer uso de las grficas por computadora, especficamente la ilustracin de
grficas por computadora fue en Futureworld (1976), que
incluy la animacin de un
rostro y mano humanos producida por Ed Catmull y Fred Parke en la Universidad de Utah
(University of Utah).
Los 1980s
La IBM PC comenz a ser vendida en agosto de 1981. La frase
"computadora
personal" era de uso corriente antes de 1981, y fue usada por primera vez en 1972 para
denominar al Xerox PARC's Alto. Sin embargo, debido al xito del IBM PC, lo que haba sido
Graficacin
8
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
un trmino genrico lleg a significar especficamente una computadora compatible con las
especificaciones de IBM.
La PC original fue un intento de IBM para entrar en el mercado de los ordenadores
domsticos, entonces dominado por el Apple II de Apple Computer y varias mquinas con
CP/M. En lugar de utilizar el proceso de diseo normal de IBM, el cual ya haba fallado en el
diseo de una computadora econmica (como el IBM 5100), se reuni a un equipo especial
para descartar las restricciones de la compaa e
hicieron
de perturbacin
normal(la direccin hacia donde apunta un polgono) sola simular superficies desiguales o
arrugadas y con relieve.
Graficacin
9
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Se introdujeron los Binary space partitioning o Particionado Binario del Espacio (BSP),
que es un mtodo para subdividir recursivamente un espacio en
elementos convexos
aplicaciones CAD.
Loren Carpenter comenz a explorar fractales en grficos por computadora
En 1982 se lanz la tarjeta Hrcules, la primera tarjeta de video. Esta tarjeta se poda
Graficacin
10
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
se anunciaba una
El aloritmo radiosity fue creado por Donald Greenberg y sus colegas en la Universidad
de Cornell. Radiosity una tcnica para la iluminacin global que usa
la teora de
las
versin, solo
estaba disponible para Macintosh. Photoshop es uno de los productos ms vendidos por
Adobe quien recientemente compr a Macromedia.
Graficacin
11
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Los 1990s
Unix, X y Silicon Graphics Gl eran el sistema operativo, sistema de ventanas y la
Interfaz de Programacin de Aplicaciones (API, Application Programming Interface) que los
desarrolladores de grficos utilizaban a principios de los 1990s.
En 1991 las computadoras Hand-held se inventaron en HP (HewlettPackard). En 1992
OpenGL se convirti en un estndar de APIs grficas. OpenGL
desarrollada originalmente por Silicon Graphics Incorporated (SGI). OpenGL significa Open
Graphics Library, cuya traduccin es biblioteca de grficos abierta.
Las grficas rasterizadas sombreadas comenzaron a introducirse en las pelculas. Las
computadoras an no soportaban grficos 3D y la mayora de los programadores escriba
software para ser convertidos por escaneo o rasterizados y utilizaban algoritmos de
remocin de superficies ocultas as como trucos de animacin de tiempo real.
Graficacin
12
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Illinois
(NCSA). ue el
que fue
creada aos antes. La Web naci alrededor de 1989 a partir de un proyecto del CERN, en el
que Tim Berners-Lee construy el prototipo que dio lugar al ncleo de lo que hoy es la
World Wide Web. La intencin original era
investigacin entre cientficos y permitir al
alrededor de
30.000.000.000 consolas.
Tambin fueron lanzados varios perifricos: un micrfono que permita jugar un juego
con funciones de reconocimiento de voz, uno que permita leer cartuchos de Game Boy,
Graficacin
13
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
una unidad de Disquetes y un cartucho que permita capturar audio y video a los disquetes.
Sin embargo el mayor problema de estos perifricos fue el poco soporte que tuvieron.
Super Mario 64 programado por Shigeru Miyamoto (para Nintendo 64) es considerado
por muchos el mejor juego de plataformas de todos los tiempos y su sistema de juego es la
base de la mayor parte de los juegos de plataformas 3D de hoy en da. Este juego cre el
primer sistema de control de cmaras en un juego en 3 dimensiones.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Pioneer, Sony, Thomson, Time Warner, y Toshiba . Al inicio, existan varias propuestas de
diferentes compaas y debido a la incompatibilidad se realiz el estndar.
La realidad virtual y el VRML (Virtual Reality Modeling Language) se convirtieron reas
de investigacin importante. Los PDAS, Palms y los flat panel se introdujeron al final de los
1990s con gran xito.
2000 - a la fecha
En la actualidad la mayora de las personas que trabajan con grficos
computadoras de grandes capacidades: discos duros de terabytes,
utilizan
tarjetas grficas
aceleradoras de video con memoria en gigabytes, mouse ptico y memoria RAM en el orden
de los gigas. Tambin son muy utilizadas las computadoras Macintosh especialmente en lo
relacionado a efectos especiales y grficos de animacin.
Los procesadores ahora tienen ncleo doble que dota a las aplicaciones de recursos
que permiten hacerlas ms sofisticadas.
Aunque las cmaras digitales aparecieron en los 1990s, es hasta ahora que comienzan
a popularizarse, existiendo una gran variedad en cuanto a marcas, precios y caractersticas.
Graficacin
15
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
software. Es
ahora comn el uso de agendas electrnicas, juegos en los telfonos celulares, llamadas de
video, etc.
En general, el hardware y software utilizado en lo que va de esta dcada es
la
1.2.Aplicaciones
Diseo Asistido por Computadora
En los procesos de diseo se hace un uso importante de las grficas por
computadora, en particular, para sistemas de ingeniera y arquitectura, sin embargo, en la
actualidad casi todos los productos se disean por computadora. Los mtodos CAD se
utilizan diariamente en el diseo de automviles, aeronaves,
embarcaciones, naves
base de datos de
entidades geomtricas (puntos, lneas, arcos, etc) con la que se puede operar a travs de
una interfaz grfica. Permite disear en dos o tres
almbrica, esto es, puntos, lneas, arcos, splines, superficies y slidos para obtener un
modelo numrico de un objeto o conjunto de ellos.
Graficacin
16
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
La base de datos asocia a cada entidad una serie de propiedades como color, capa,
estilo de lnea, nombre, definicin geomtrica, etc., que permiten manejar la informacin de
forma lgica. Adems pueden asociarse a las entidades o conjuntos de estas otro tipo de
propiedades como el costo, material, etc., que permiten enlazar el CAD a los sistemas de
gestin y produccin.
En el caso de algunas aplicaciones de diseo, los objetos se despliegan primero en
forma de armazn que muestra la forma general y sus caractersticas
despliegues del armazn permiten que los diseadores vean con
ajustes interactivos para disear formas. Las siguientes
internas. Los
Con frecuencia, se usan las animaciones en las aplicaciones CAD. Las animaciones de
tiempo real que utilizan armazones son tiles para probar el comportamiento de un vehculo
o un sistema.
Graficacin
17
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Existen paquetes para el diseo de circuitos electrnicos, los cuales permiten disear
un sistema colocando sucesivamente los componentes en el esquema y conectando estos
componentes. Esto permite que el diseador experimente con esquemas de circuitos
alternativos para reducir al mnimo el nmero de componentes o el espacio requerido para
el sistema.
Cuando los diseos de objetos estn completos, o casi completos, se aplican modelos
de iluminacin realista y presentaciones de superficie para
producto final. Tambin se crean vistas realistas para la publicidad de automviles y otros
vehculos mediante efectos especiales de iluminacin y escenas de fondo.
Graficacin
18
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
plantas
Arte digital
Los
mtodos
de
grficas
por
computadora
se
utilizan
en
forma
forma
Graficacin
19
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
los paintbrush o
de
Existe tambin el arte digital matemtico en el que los artistas utilizan una
combinacin de funciones matemticas, procedimientos fractales con el fin de crear una
variedad de formas tridimensionales y bidimensionales , al igual que
pares de imgenes
estereoscpicas.
Graficacin
20
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
De igual manera, estas tcnicas y programas se utilizan para crear diseos con fines
comerciales o personales. Entre los usos comerciales se encuentra
la
creacin de
fotomontajes.
Un mtodo comn que se utiliza en los comerciales es el morphing o transformacin,
donde un objeto se transforma en otro; podemos ver una lata de aceite convertirse en un
automvil o el rostro de una persona transformase a un rostro diferente.
Una ventaja que ofrece el arte digital es que a diferencia del convencional, el primero
permite el uso de layers o capas, las cuales permiten aadir profundidad a las imgenes.
De igual manera, el arte digital no se desgasta con el tiempo ni las condiciones normales a
las que se somete el arte
grfico comn.
Graficacin
21
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Entretenimiento
En la actualidad, se utilizan comnmente mtodos de grficas por computadora para
producir pelculas, videos musicales y programas de televisin. En ocasiones se despliegan
solo imgenes grficas y otras veces se combinan objetos (creados en la computadora) con
actores u objetos reales.
est en
relacin
como con la
fotografa. Para realizar animaciones existen numerosas tcnicas que van ms all de los
familiares dibujos animados. Una tcnica muy utilizada en la actualidad es la animacin por
computadora, esta permite reducir los costos de produccin y edicin.
La animacin por computadora es para la mayora de la gente un sinnimo de grandes
eventos de la pantalla grande tales como Star Wars, Toy Story y Titanic. Pero no todas las
animaciones, o al menos la mayora, son hechas en
Graficacin
22
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
La animacin de escritorio ha tenido auge en los ltimos cinco aos, an cuando el GIF
animado surgi hace mucho tiempo, no fue sino hasta la popularizacin de Internet, que fue
posible poner al alcance de todos la animacin.
Paquetes de software como Macromedia Flash, Moho y algunos otros, han permitido
que casi cualquier persona pueda hacer una animacin fcilmente.
como Maya,
Otras aplicaciones
calidad.
Graficacin
23
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
laboratorios de
proyectos de animacin
Videojuegos
Un videojuego (llamado tambin juego de vdeo) es un programa informtico, creado
expresamente para divertir, formando parte del sector audiovisual. Los videojuegos estn
basados en la interaccin entre una persona y
videojuegos recrean entornos virtuales en los
personaje o cualquier otro elemento de
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Los videojuegos son programados como un software, siendo grabados en algn medio
de almacenamiento (como un cartucho, una tarjeta, un disquette, un CD, etc.) El hardware
que ejecuta los videojuegos puede ser una computadora, o
un artefacto especialmente
creado para ello, las videoconsolas, divididas a su vez en arcade (de uso pblico), caseras
(que se acoplan en un televisor), porttiles o de bolsillo (de pequeo tamao y que poseen
pantalla propia) y ms recientemente los telfonos mviles (celulares).
La
programacin
de
videojuegos
est
involucrada
con
la
animacin
se
Pelculas
Las grficas por computadora se utilizan en diversas etapas de la creacin
de
pelculas. Se puede utilizar la animacin, edicin y efectos especiales, siendo los efectos
especiales lo que mas llama la atencin entre los consumidores.
Como se haba mencionado anteriormente, en las pelculas o series de televisin es
comn que se combinen objetos animados y objetos o actores reales, estas tcnicas son
incluso utilizadas en los noticieros cuando el
Graficacin
25
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
cortar o
modificar escenas de una pelcula con relativa facilidad. Los efectos especiales, son por lo
general la ltima fase de edicin de una pelcula, estos pueden hacer volar a un actor, hacer
explotar un submarino o crear una tormenta de arena solo por mencionar algunos ejemplos.
muchos
productores, por lo general independientes, pueden llevar a cabo sus proyectos utilizando
el formato digital en lugar del convencional.
Graficacin
26
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Educacin y capacitacin
A menudo, se utilizan como instrumentos de ayuda educativa modelos de sistemas
fsicos,
financieros y econmicos,
simulador es en el que se monta una pantalla con paneles mltiples en frente del simulador
y proyectores a color despliegan la escena del vuelo en la pantalla.
Graficacin
27
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Visualizacin
Cientficos, ingenieros, personal mdico, analistas comerciales y otros necesitan con
frecuencia analizar grandes cantidades de informacin o estudiar
ciertos procesos. Las simulaciones numricas que se
el comportamiento de
efectan en supercomputadoras a
menudo producen archivos de dartos que contienenen miles e incluso millones de valores
de datos.
De modo similar, cmaras va satlite y otas fuentes acumulan grandes archivos de
datos ms rpido de lo que se puede interpretar. El rastreo de estos grandes conjuntos de
nmero para determinar tendencias y relaciones es un proceso tedioso e ineficaz. Pero si se
convierten a una forma visual es frecuente que se perciban de inmediato las tendencias y
los patrones.
visualizacin
efectivos dependen de las caractersticas de los datos. Una compilacin de datos contiene
valores escalares, vectores, tensores de orden superior o cualquier combinacin de estos
tipos de datos. Y los conjuntos de datos pueden ser bidimensionales o tridimensionales.
Graficacin
28
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Procesamiento de imgenes
A pesar de que los mtodos empleados en las grficas por computadora y
procesamiento de imgenes se traslapan, las dos reas realizan, en forma
en el
fundamental,
operaciones distintas.
En las grficas por computadora, se utiliza una computadora para crear una imagen.
Por otro lado, en el procesamiento de imgenes se aplican tcnicas
interpretar imgenes existentes, como fotografas y rastreos de
para modificar o
primero digitalizamos
se pueden aplicar
mtodos digitales para reordenar partes de imgenes, para mejorar separaciones de colores
o para aumentar la calidad del sombreado.
Estas tcnicas se utilizan en gran medida en aplicaciones de arte comercial
implican el retoque y el reorden de secciones de fotografas y otras obras de
que
arte. Se
emplean mtodos similares para analizar fotografas de la Tierra por satlite y fotografas
de galaxias.
Graficacin
29
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
de imgenes para
mejorar
fotografas, en tomografas
de
vistas
transversales
de
sistemas
fisiolgicos.
procesa-
simulacros de
X la cual permite el
Tanto
la
tomografa
una ciruga.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
frecuencia, en vez de
datos digitales de la radiacin que emiten radionclidos ingeridos y trazan imgenes con
codificacin de colores.
Por lo general, el procesamiento de imgenes y las grficas por
computadora se
combinan en muchas aplicaciones. Por ejemplo, en medicina se utilizan estas tcnicas para
modelar y estudiar funciones fsicas, para disear miembros artificiales, as como planear y
practicar cirugas.
Esta ltima aplicacin se conoce, por lo general, ciruga asistida por computadora. Se
obtienen secciones transversales bidimensionales del cuerpo a travs de la utilizacin de
tcnicas de proyeccin de imgenes. Luego se ven y
mtodos grficos para simular procedimientos
Graficacin
31
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Para activar una ventana en particular, slo hacemos clic en esa ventana utilizando un
dispositivo de pulsar interactivo. Las interfaces tambin despliegan mens e iconos para
permitir una seleccin rpida de las opciones de procesamiento o de valores de parmetros.
Un icono es un smbolo grfico diseado para semejarse a la opcin de procesamiento
que representa. La ventaja de los iconos es que ocupan menos espacio en la pantalla que
las descripciones textuales correspondientes y que se pueden entender con mayor rapidez
si estn bien diseados. Los mens contienen listas de descripciones textuales e iconos.
Existen varios estilos de ventanas: los de Microsoft Windows, el estilo
aqua,
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Otras interfaces que se estn popularizando cada vez mas, son las interfaces web,
estas tienen la singular caracterstica de modificarse en minutos,
archivo
la imagen, la gama de
buscando un
equilibrio adecuado entre calidad, peso final del fichero y compatibilidad entre plataformas.
Para ello, cada formato se basa en una o ms
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
que almacena (tipo, tamao, resolucin, modo de color, profundidad de color, nmero de
colores de la paleta si la hay, etc).
propias de cada objeto (grficos vectoriales). En caso de usarse una paleta de colores, la
informacin sobre dicha paleta tambin deber estar contenida en el fichero.
La imagen puede estar formada por un nmero diferente de pxeles, dependiendo de
su tamao y resolucin, y tener ms o menos colores. En funcin del nmero de pxeles y
del nmero de colores la imagen tendr ms o menos
tenga, ms ocupar el fichero necesario para
vectoriales no se definen pxeles
cabecera y una tabla con las caractersticas de cada vector componente del grfico.
Cada formato es independiente. Las posibilidades que ofrece cada formato
con
realizando.
Existen dos tipos de formatos: los vectoriales y los de mapa de bits tambin
conocidos como rasterizados.
Graficacin
34
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
un monitor de
estos
ltimos representan una imagen a travs del uso de objetos geomtricos como curvas y
polgonos, no del simple almacenamiento del color de cada pixel.
Los formatos de mapa de bits ms utilizados son los siguientes:
ART
CIN, Cineon
DRW, Draw
Graficacin
35
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
FPX, Flashpix
PIC, Pictue
XBM, X BitMap
XPM, X-Pixmap
Los grficos vectoriales son los que se representan en los grficos por ordenador por
medio de "trazos", es decir, por primitivas geomtricas como
polgonos. En contraste, se encuentran los grficos formados por una retcula de pixeles
como los bitmap.
En los grficos vectoriales la imagen se genera como descripcin de trazos.
Por
ejemplo, para crear una lnea recta se indica: su posicin inicial (x1,y1), su posicin final
(x2,y2), su grosor, color, etc. En cambio, en una imagen bitmap, esa misma lnea estara
formada por un nmero determinado de puntos (pixeles) de color contiguos.
Al contrario que un bitmap, una imagen vectorial puede ser escalada,
rotada o
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
curvas bezier, degradados de color, etc. En algunos formatos, como el SWF, las imgenes
vectoriales pueden animarse muy facilmente sin que ello suponga un aumento excesivo en
el tamao del fichero, al contrario de los bitmaps
CDR, CorelDRAW
Graficacin
37
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
PS, PostScript
sistemas o
sus aplicaciones. Un
integradas o
vinculadas a ficheros externos, textos trazados o con fuentes incluidas y manejo de capas
y mscaras.
Suele producir ficheros de peso medio, dependiendo del contenido, pero se
puede
Graficacin
38
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Es un formato muy popular, vlido para PC y MAC, apto para intercambiar grficos
entre diferentes aplicaciones, pero teniendo siempre en cuenta la versin de Ilustrator que
cre el archivo original, ya que deben de ser versiones compatibles.
BMP, BitMaP
Los archivos con extesin .BMP, en los sistemas operativos Windows, representan la
sigla BitMaP, o sea mapa de bits. Los archivos de mapas de bits
se componen de
direcciones asociadas a cdigos de color, uno para cada cuadro en una matrz de pixeles tal
como se esquematizara un dibujo de "colorea los cuadros" para nios pequeos.
Normalmente, se caracterizan por ser muy poco eficientes en su uso de espacio en
disco, pero pueden mostrar un buen nivel de calidad. A diferencia de
los grficos
vectoriales, al ser reescalados a un tamao mayor, pierden calidad. Otra desventaja de los
archivos BMP es que no son utilizables en pginas web debido a su gran tamao en relacin
a su resolucin.
Dependiendo de la profundidad de color que tenga la imagen cada pixel puede ocupar
1 o varios bytes. Generalmente se suelen transformar en otros
(fotografas), GIF o PNG (dibujos y esquemas), los cuales
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
encargados de mostrar los BMP en pantalla trazan la imagen de abajo hacia arriba.
En imgenes de 4 y 8 bits, tambin puede escoger compresin Run-LengthEncoding
(RLE); este esquema de compresin no produce prdidas, es decir, no
elimina ningn
detalle de la imagen.
bits
cabecera de
CIN, Cineon
El
formato
Cineon
fue
diseado
especficamente
para
representar
imgenes
escaneadas de pelculas. Tiene algunas diferencias interesantes con otros formatos tales
como el tiff y jpeg:
Graficacin
40
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Los
datos
son
almacenados
en
un
formato
grande
que
corresponden
El
formato
tiene
una
nocin
del
humbral
negro
el
humbral
blanco,
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
DRW, Draw
Formato grfico vectorial usado por diferentes programas que funcionan bajo DOS y
Windows, como Micrografx Designer o Windows Draw. Los grficos .drw pueden ser incluidos
en presentaciones creadas con PowerPoint, en
Existen dos versiones de DXF (ASCII y binario), que no utilizan ningn algoritmo de
compresin. Los ficheros de la versin ASCII contienen nmeros y
rdenes a realizar
escritos en codificacin ASCII, por lo que pueden ser abiertos y ledos con cualquier editor
de texto, como el Notepad de Windows. Esta
flotantes matemticos o floating points, utilizados para exhibir la imagen en pantalla. Este
sistema, ms lento que
funcionar correctamente.
Los ficheros en formato DXF son reconocidos por la mayora de sistemas CAD y por
algunos programas de diseo grfico vectorial, como Corel Draw y Adobe Ilustrator, que
pueden manejarlo sin mayores dificultades.
Graficacin
42
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
ventaja
adicional de que sus ficheros pueden ser creados rpidamente, ya que lo que se encola en
la impresora son comandos de dibujo, con lo que se puede evitar la sobrecarga en el caso
de impresin remota de ficheros grficos.
Adems, este formato es ms eficiente porque genera un archivo
relativamente
Graficacin
43
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Es ps y eps lo mismo?
PostScript/ (PS) es un lenguaje de programacin para describir pginas. Como lenguaje
estructurado permite la programacin (tiene estructuras de control y bucles), y recuerda el
lenguaje de programacin FORTH. Originalmente fue desarrollado por Adobe.
Existen varios intrpretes de PostScript que permiten la visualizacin de este formato.
El ms extendido es Ghostscript/ (GS), de Aladdin.
El formato PS se basa en describir cada pgina desde un origen de coordenadas que se
sita en la esquina inferior izquierda de la pgina. PS permite, sin embargo, redefinir el
origen, de forma que se puede recomenzar la descripcin de un bloque de una pgina desde
un origen arbitrario.
PS encapsulado (EPS) es el formato estndar para importar y exportar archivos PS en
cualquier tipo de entornos.
describe una figura. El archivo EPS est especialmente pensado para incluirlo en otros
archivos PS, y es como cualquier otro archivo PS con algunas restricciones.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
El formato fla al ser compilado da lugar a un archivo en formato swf, el cual puede
ejecutarse en cualquier ordenador que cuente con el plug-in necesario. Cabe mencionar que
un archivo en formato fla no puede reproducir la animacin que contiene a menos que se
est trabajando con el archivo en Macromedia Flash.
puede comprimir, dependiendo el tamao final del contenido. Puede llevar las
fotos
Flash o Adobe
tanto
de color verdadero
literalmente el nmero de
colores mostrados para adaptarla a este formato, y por lo tanto existira una prdida de
calidad.
Sus principales caractersticas son:
Graficacin
45
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Uso de color indexado, a travs de una paleta de colores que puede ser de
distintos tamaos, dependiendo del valor del Size of Local Color Table, que tiene
un tamao de 3 bits. El nmero de colores se puede calcular
mediante la
frmula: 2(Size of Local Color Table+1) Esto permite a GIF usar una paleta de
2,4,8,16,32,64,128 256 colores.
entre
diferentes,
tcnica es poco
eficiente, y rara vez se usa, sobretodo para demostrar esta posibilidad, a veces,
estas imgenes no aparcenen simultneamente sino
una de las capas sucesivamente. En este caso, cada capa sera un cuadrado de
16 por 16, en el que como mucho se podran mostrar 256 colores, la imgen se
divide en dichos recuadros, y se van superponiendo uno sobre otro.
Permite transparencia de 1 bit, de tal forma que cada pixel de la imagen puede
ser o no transparente. Esto lo diferencia de formatos como el PNG, que tambin
dispone transparencia variable.
Ventajas e inconvenientes
Las principales ventajas del formato GIF son las siguientes:
Es uno de los dos formatos histricos de Internet, junto con el JPEG, por lo que
es compatible con la prctica totalidad de los navegadores.
Graficacin
46
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
pocos colores
frente al JPEG.
Sus principales inconvenientes son:
sus exigencias.
perjudicial para el
El
JPG debido a que algunos sistemas operativos slo aceptan tres letras de extensin.
Graficacin
47
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
extremadamente grande .
Esta prdida de calidad se acumula. Esto significa que si comprime una imagen y la
descomprime obtendr una calidad de imagen, pero si vuelve a
descomprimirla otra vez obtendr una perdida mayor. Cada vez
comprimirla y
que comprima y
diagramas que
Codificacin
Muchas de las opciones del estndar JPEG se usan poco. Esto es una descripcin
breve de uno de los muchos mtodos comnmente usados para comprimir
cuando se aplican a una imagen de entrada con 24 bits por pixel (ocho
imgenes
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Submuestreo
Una opcin que se puede aplicar al guardar la imagen, es reducir la informacin del
color respecto a la de brillo. Hay varios mtodos: si este paso no se aplica, la imagen sigue
en su espacio de color YUV, (este submuestreo se entiende como 4:4:4), con lo que la
imagen no sufre prdidas.
Puede reducirse la informacin cromtica a la mitad, 4:2:2 (reducir en un factor de 2
en direccin horizontal), con lo que el color tiene la mitad de resolucin (en horizontal), y el
brillo sigue intacto. Otro mtodo, muy usado, es reducir el color a la cuarta parte, 4:2:0, en
el que el color se reduce en un factor de 2 en ambas direcciones, horizontal y vertical. Si la
imagen de partida estaba
Graficacin
49
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
52
63
62
63
67
79
85
87
55 61
66
70
61
64
59 55 90 109 85 69
59 68 113 144 104 66
58 71 122 154 106 70
61 68 104 126 88 68
65 60 70
77 68 58
71 64
79 69
59
68
55
65
61 65
76 78
73
72
73
69
70
75
83
94
Graficacin
50
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
El siguiente proceso es restarles 128 para que queden nmeros entorno al 0, entre
-128 y 127.
76
65
66
65
61
49
43
41
73
69
69
70
67
63
57
49
67
73
60
57
60
68
64
59
62 58 67 64 55
38 19 43 59 56
15 16 24 63 55
6
26 22 58 59
24 2 40 60 58
58 51 60 70 53
69 73 67 63 45
60 63 52 50 34
415 30
4
22
47
7
49 12
12 7
3
8
1
0
0
0
61 27
56 20
61 10
13 7
77 25 29 10
34 15 10 6
13 4 2
2
2
6
2 1
0
2
1 3
1
4
1 0
2 0
9 5
5 6
2 2
3 3
4
2
4
1
1
2
Graficacin
51
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Cuantizacin
El ojo humano es muy bueno detectando pequeos cambios de brillo en reas
relativamente grandes, pero no cuando el brillo cambia rpidamente en pequeas reas
(variacin de alta frecuencia), esto permite eliminar las altas frecuencias, sin perder
excesiva calidad visual. Esto se realiza dividiendo cada componente en el dominio de la
frecuencia por una constante para ese componente, y redondendolo a su nmero entero
ms cercano. Este es el proceso en el que se pierde la mayor parte de la informacin (y
calidad) cuando una imagen es procesada por este algoritmo. El resultado de esto es que
los componentes de las altas frecuencias, tienden a igualarse a cero, mientras que muchos
de los dems, se convierten en nmeros positivos y negativos pequeos.
Una matriz de cuantizacin tpica es esta:
16
12
14
14
18
24
49
72
11 10 16
12 14 19
24
26
13
17
22
35
16
22
37
55
40
51
68
81
64
78 87
92 95 98
24
29
56
64
40
58
51
60
57
69
87
80
109 103
104 113
61
55
56
62
77
92
101
99
Graficacin
52
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2
0
4
1
0
0
3 6 2
3 4 1
1 5 1
1 2 1
1
1
1
0
0
0
0
0
0
0
0
0
2 1 0 0
1 0 0 0
1 0 0 0
0 0 0 0
0
0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Codificacin entrpica
La codificacin entrpica es una forma especial de la compresin sin prdida de datos.
Para ello se cogen los elementos de la matriz siguiendo una forma de zig-zag, poniendo
grupos con frecuencias similares juntos, e insertando ceros de codificacin, y usando la
Codificacin Huffman para lo que queda.
Tambin se puede usar la codificacin aritmtica, superior a la de Huffman, pero que
rara vez se usa, ya que est cubierta por patentes, esta compresin produce archivos un
5% menores, pero a costa de un mayor tiempo de codificacin y decodificacin, esta
pequea ganancia, puede emplearse tambin en aplicar un menor grado de compresin a la
imagen, y obtener ms calidad para un tamao parecido.
En la matriz anterior, la secuencia en zig-zag, es esta:
26, 3, 0, 3, 3, 6, 2, 4, 1 4, 1, 1, 5, 1, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0
Graficacin
53
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
JPEG tiene un cdigo Huffman para cortar la cadena anterior en el punto en el que el
resto de coecifientes sean ceros, y as, ahorrar espacio:
26, 3, 0, 3, 3, 6, 2, 4, 1 4, 1, 1, 5, 1, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 1, 1,
EOB
Decodificacin
El proceso es similar al seguido hasta ahora, slo que de forma inversa. En este caso,
al haber perdido informacin, los valores no coincidirn.
Se toma la informacin de la matriz, se descodifica, y se pone cada valor en su casilla
correspondiente. Despus se multiplica cada uno de estos valores por el valor
correspondiente de la matriz de cuantizacin usada, como muchos valores son ceros, slo
se recuperan ( y de forma aproximada) los valores de la esquina superior izquierda.
Graficacin
54
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
416 33 60 32
0
24 56 19
42 13
80 24
44 29
56 17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
70
68
62
59
60
54
45
48 40 0 0
26
0 0 0
40 0 0 0
0
0 0 0
0
0
0 0
0
0
0 0
0
0
0 0
0
0
0 0
65 73 70 58 67 70 48
72 72 45 20 40 65 57
76 66 15 22 12 58 61
72 60 6
28 12 59 56
66 63 28 8 42 69 52
60 67 60 50 68 75 50
46 61 74 65 64 63 45
32 51 72 58 45 45 39
60
58
60
66
69
68
74
83
63
56
52
56
62
68
82
96
55 58 70 61 58 80
56 83 108 88 63 71
61 68 78 80 53 78
67 54 63 64 65 83
77 56 70 83 83 89
Graficacin
55
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
8 8 5
5
3
1
2
7
6
2
3
3
2 1 3
11 3 1
11 11 3
4 17 8
8 0
0
6 7
7 1
3 6
1
0 6 12 4 6
0 2 10 1 3
4
6
2
9 6
2 1 8
5 3
5 8 3 0
0
12 5 7 5 5
Se puede observar que las mayores diferencias estn cerca de la mancha, y por la
parte inferior, entre la esquina izquierda y el centro, notndose ms esta ltima, ya que
corre una mancha clara que antes estaba ms hacia la esquina. La media de los valores
absolutos de las restas es 4.8125, aunque en algunas zonas es mayor.
Graficacin
56
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
formar bloques), y que elimina algunos detalles pequeos y texturas, que el formato JPEG
normal, si llega a representar.
Parte de JPEG 2000 ha sido publicada como una norma ISO, ISO/IEC 15444-1:2000.
Actualmente JPEG 2000 no est ampliamente admitido por los programas de visualizacin
de pginas web. En algunos navegadores, los diseadores no tienen intencin de incluirlo
debido a su escaso uso y gran nmero de patentes que tiene. De todas formas, existen
muchas extensiones que dan soporte, que opcionalmente pueden ser instaladas por el
usuario. Un navegador con soporte para este formato es Konqueror.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
este rea para permitir el uso de su propiedad intelectual en conexin con el estndar
sin pagar licencias o regalas.
Aunque, el comit JPEG ha anotado adems ha declarado que las patentes obscuras y
no declaradas pueden ser un riesgo:
Es posible por supuesto que otras compaas o particulares puedan reclamar
derechos de propiedad intelectual que afecten la implementacin del estndar, y
muchos desarrolladores tienen que realizar sus propias bsquedas e investigaciones
en este rea.
esperan que MNG comience a sustituir a largo plazo al GIF para imgenes animadas en la
Red, de la misma forma que el formato PNG ya comenz a hacerlo para imgenes fijas.
La estructura de los ficheros de formato MNG es bsicamente idntica a la de los
ficheros PNG, difiriendo solamente en la firma (8A 4D 4E 47 0D 1A 0A en hexadecimal) y
en la utilizacin de unidades de informacin discretas que proporcionan una gran variedad
de dispositivos de animacin. Las imgenes utilizadas en la animacin se almacenan en el
fichero MNG como una encapsulacin de imgenes con formato PNG o JNG.
Graficacin
58
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(baja
complejidad) y MNG-VLC (complejidad muy baja). stas permiten a las aplicaciones incluir el
soporte de MNG en cierta medida, sin tener que poner todas las especificaciones de MNG.
MNG no dispone an de un tipo registrado de soporte de vdeo MIME, pero se puede
utilizar video/x-mng.
Son muy pocos los navegadores que soportan este formato. Safari no lo soporta.
Mozilla retir el soporte de MNG en la versin 1.5a y todas las futuras versiones,
y no
indicar que los programadores intentan crear una alternativa a Mozilla, llamada MNGzilla,
integrando MNG.
popularidad tambin se debe a que era uno de los formatos utilizados por el Deluxe Paint,
junto con el ILBM.
La mayora de los archivos PCX usan una paleta de color indexada, pero el formato fue
ampliado para permitir imgenes de 24 bits. PCX fue bastante popular en sistemas bajo
Graficacin
59
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
DOS o Windows, pero actualmente es poco comn, siendo en buena parte reemplazado por
formatos con mejor compresin y prestaciones, tal como el PNG o el JPEG.
Debido a que los colores en el ndice 0x00..0xC0 se comprimen mejor que los colores
0xC1..0xFF, una buena ordenacin de la paleta es importante. Normalmente es suficiente
(aunque no siempre) con mover los colores ms
para
enteros no negativos) veces aparece un color en una fila, y slo entonces es posible utilizar
valores de color sin prefijo para mejorar la compresin, y mover
cmputo en los ndices 0x00..0xC0, y el resto a 0xC1..0xFF. Esto se justifica para producir
resultados ptimos.
Este algoritmo de compresin es muy rpido y utiliza muy poca memoria, pero no es
muy eficiente especialmente en fotografas.
quedar, no
que
documento,
requirindose procesos
calidad de las fuentes utilizadas y a las facilidades que ofrece para el manejo del
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
PIC, Picture
PIC es un formato utilizado en muchas aplicaciones grficas que funcionan bajo MSDOS y Windows, como PC Paint y Pictor.
Este formato puede almacenar una imagen de mapa de bits con dos
posibilidades:
256 colores a una resolucin mxima de 320 x 200 pxeles y 16 colores a una resolucin
de 640 x 480 pxeles. Tambin puede almacenar una
Graficacin
61
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Los datos de la imagen en el fichero vienen expresados como una matriz de bytes sin
comprimir, en la que se almacena por filas el valor de los pxeles de la imagen o imgenes
que lo forman. Hay que tener mucho cuidado al manejar ficheros con extensin .pic, ya que
es utilizada por diferentes programas grficos que producen ficheros incompatibles entre
s, como Lotus 1-2-3, Dr-Halo y Micrografx.
Las principales desventajas de este formato son la escasez de colores
posibles en
altas resoluciones y la incompatibilidad entre formatos PIC, que hacen que sea uno de los
menos utilizados en la actualidad.
Historia y desarrollo
Las motivaciones para crear el formato PNG se generaron en 1995, despus de que
Unisys anunciara que hara cumplir la patente de software del algoritmo de compresin de
datos LZW utilizado por el GIF (patente de EE.UU. 4.558.302 y otras alrededor del globo).
Haba otros problemas con el formato GIF que hacan deseable un cambio, por ejemplo su
limitacin a paletas de 8 bits de 256 colores como mximo, cuando los ordenadores ya
soportaban miles o millones de colores.
Aunque el GIF soporta animacin, el PNG se desarroll como un formato de imagen
esttico y se cre el formato MNG como su variante animada.
El PNG gan mayor popularidad en agosto de 1999 cuando Unisys puso fin a su
poltica de licencias de patente libre de royalties para los desarrolladores de software libre
o no comercial.
Graficacin
62
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
apareci
como
RFC
2083.
Rpidamente
se
convirti
en
una
Detalles tcnicos
Las imgenes en formato PNG pueden ser imgenes de paleta indexada o estar
formadas por uno o varios canales. Si existe ms de un canal, todos los canales tienen el
mismo nmero de bits por pixel (tambin llamado profundidad de bits por canal). Aunque
en la especificacin oficial del PNG se nombre la profundidad
normalmente los programas de edicin nombran slo la cantidad total de bits por pixel, es
decir, la profundidad de color.
El nmero de canales depende de si la imagen es en escala de grises o en color y si
dispone de canal alfa (tambin llamado canal de transparencia). La combinaciones
permitidas por PNG son:
Canales rojo, verde y azul (RGB, 3 canales. Tambin llamado color verdadero o
Truecolor)
Por otra parte, las imgenes indexadas disponen de un tope de 256 colores como
mximo. Esta paleta de colores est almacenada con una profundidad de canal de 8 bits. La
paleta no puede tener ms colores que los marcados por la profundidad de bits, es decir
28=256 colores, aunque s puede tener menos (por ejemplo, una imagen de 50 colores slo
almacenar 50 entradas, evitando almacenar datos que no son utilizados).
Graficacin
63
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Por otra parte, las imgenes indexadas disponen de un tope de 256 colores como
mximo. Esta paleta de colores est almacenada con una profundidad de canal de 8 bits. La
paleta no puede tener ms colores que los marcados por la profundidad de bits, es decir
28=256 colores, aunque s puede tener menos (por ejemplo, una imagen de 50 colores slo
almacenar 50 entradas, evitando almacenar datos que no son utilizados).
El mtodo de compresin utilizado por el PNG es conocido como deflacin (en ingls
"Deflate algorithm"). Tambin existen mtodos de filtrado. En la especificacin 1.2 se
define un nico tipo de filtro, que incluye 5 modos de prediccin del valor del pixel, que
resulta muy til para mejorar la compresin, donde se elige para cada lnea de la imagen
(scanline) un mtodo de filtrado que predice el color de cada pixel basndose en los colores
de los pixeles previos y resta al color del pixel actual, el color pronosticado. Los cinco
mtodos son: None, Sub, Up, Average y Paeth.
Estos filtros pueden reducir notablemente el tamao final del archivo, aunque depende
en gran medida de la imagen de entrada. El algoritmo de compresin puede encargarse de la
adecuada eleccin del mtodo que mayor reduccin ofrezca.
Graficacin
64
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
16
16
32
24
48
32
64
16
canales)
canales)
Graficacin
65
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
que
el
GIF
disponer
de
valores
de
transparencia
intermedios.
PNG es un formato sin perdida de calidad con una excelente compresin, ideal
para imgenes formadas por grandes reas de color plano o con pocas
variaciones de color. Admite canal alfa y algunos atributos extra como la
correccin gamma.
Graficacin
66
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
PNG en la web
Pese a que las caractersticas tcnicas y de compresin hacen del PNG un formato
ideal para sustituir al GIF, su adopcin ha sido muy lenta debido en parte a comparaciones
errneas y algunas desventajas tcnicas:
No est soportado por algunos navegadores muy viejos (sin embargo estos
navegadores son muy raros hoy en da)
No soporta animacin
Falsas creencias:
Problemas de color
Algunas versiones de algunos navegadores presentan los valores de correccin gamma
incluso cuando no estn especificados en el PNG. Navegadores conocidos con problemas de
visualizacin de PNG:
Graficacin
67
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
El efecto final es que el color mostrado en el PNG no coincide con el esquema de color
del resto de la pgina web. Un forma sencilla de evitar esto es volviendo a codificar el PNG
truncando ciertos atributos. Algunas utilidades para tal fin:
texto. Est
relacionado con los formatos PGM (escala de grises) y PBM (blanco y negro).
Graficacin
68
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
ncleo. Otros
puede utilizar el
Caractersticas
SVG permite tres tipos de objetos grficos: Figuras de grficos vectoriales (e.g.,
paths, que consisten en lneas rectas y curvas), imgenes y Texto.
Los objetos grficos se pueden agrupar, estilizar, transformar y componer en objetos
previamente renderizados. El texto puede estar en cualquier espacio
SVG pueden ser dinmicos e interactivos. El Modelo de Objetos Documentales (DOM) para
SVG, que incluye el DOM de XML completo, permite la animacin directa y eficiente de los
Graficacin
69
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
cuando se ejecuta.
El formato SWF fue desarrollado por Macromedia y tiene un objetivo principal: crear
ficheros de reducido tamao pero de gran calidad que permita interactividad. La idea
fue disponer de un formato que pudiese funcionar sobre
reducido ancho de banda (cmo un navegador de
mdem).
El plugin que permite reproducir
diferentes navegadores y
Apple Macintosh y Linux. Este plugins est instalado en un 98% de los ordenadores de los
internautas. El formato es bastante simple, si bien es cierto que est en formato binario y
por lo tanto no es de lectura accesible como su rival SVG basado en XML.
Graficacin
70
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
SWF ha
formato
redundancia. SWF es un formato abierto, es decir, es posible crear programas que generen
este formato sin tener que pagar royalties, aunque no es posible crear reproductores.
imgenes monocromticas (2 bits) y con diferentes niveles de profundidad de color (8, 16,
24 y 32 bits), utilizando o no una paleta grfica. Puede trabajar en Escala Grises, Color
Indexado, RGB (16 y 24 bits sin canales alfa) y RGB de 32 bits (un solo canal alfa).
Permite almacenar los archivos comprimidos o sin comprimir, aunque la mayora de
programas que lo soportan solo pueden abrir archivos TGA sin compresin, siendo entonces
el que el peso de los ficheros es muy elevado.
Este formato est especialmente indicado para retocar diseos profesionales que
se vayan a reproducir en pantalla, debido a que la amplia
efecto muy realista y sumamente elaborado. Tambin es muy til cuando se trabaja con
escneres de alta calidad y para la exportacin de imgenes a edicin profesional vdeo. Sin
embargo, en impresin es poco usado, ya que con profundidades de color de 16 bits o
menos las imgenes pierden detalles.
Las principales desventajas de este formato son el tamao de los archivos, que ocupan
bastante ms espacio que otros formatos de igual calidad, y que no
guarda muchos
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Etiquetas
Las etiquetas que utiliza describen el formato de las imgenes almacenadas, que
pueden ser de distinta naturaleza:
Graficacin
72
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Color real, adecuadas para almacenar imgenes de tono continuo, como fotos en
color.
Las etiquetas tambin describen el tipo de compresin aplicado a cada imagen, que
puede ser:
Sin compresin
PackBitsHuffman modificado, el mismo que las imgenes de fax (UIT grupo III y
IV anteriormente CCITT).
JPEG
ofrecen la opcin de
grabar fotos en el formato TIFF, lo cual suele entenderse como sin compresin.
Creadores y Dueos
El formato TIFF fue desarrollado por Aldus y Microsoft, y es actualmente propiedad de
Adobe Systems. La ltima revisin del formato es la nmero 6, del ao 1992. Hay algunas
extensiones, como las anotaciones que utiliza el Imaging de Microsoft, pero ninguna puede
considerarse estndar.
Graficacin
73
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
imagen en cuestin,
ahorrando con ello una cantidad considerable de espacio. Tericamente puede almacenar
cualquier elemento grfico, ya sean imgenes
complejos.
XBM, X BitMap
Formato nativo en blanco y negro del sistema X Window, compatible con la mayora
de navegadores web. Se trata de un formato ASCII sin compresin diseado de tal forma
que los ficheros tienen sintaxis de C/C++, pudiendo ser incluidos en el cdigo fuente.
nativo
para
el
programa
The
GIMP
(OpenSource),
con
mltiples
caractersticas extra, como la composicin por capas. Usado, sobre todo, en The
GIMP,
X-Pixmap (.xpm)
Inspirado en el formato XBM, es usado casi exclusivamente en plataformas UNIX, Linux,
BSD con el sistema X Windows.
1.
formula
2.
formula
Graficacin
74
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Resumen
Los grficos por computadora son un herramienta verstil que representa una ventaja
que puede aplicarse a campos diversos. Los descubrimientos de autores como Euclides,
Descartes y Schoenberg representan la base de los grficos.
La historia de la graficacin por computadora comienza con el Proyecto Whirlwind y el
sistema computacional SAGE; el lpiz luminoso de la SAGE fue uno de los primeros
dispositivos de hardware utilizados para la graficacin.
El Sketchpad de Ivan Sutherland en 1963 permita el diseo interactivo con el uso de
lpiz luminoso, este hecho es considerado por muchos como el nacimiento de los grficos
por computadora. En 1966 se comenz el desarrollo del primer vdeo juego domstico
denominado Fox Hounds.
Otros descubrimientos e invenciones importantes en los 1960s fueron las curvas
paramtricas, la transformada de Furier, el mouse en los laboratorios Xerox PARC y
desarrollo de algoritmos como los de sombreado, iluminacin, z-buffer y mapeo de textura.
En los 1971 se comenz a comercializar el primer video juego como arcade: Computer
Space. Pong tambin marc un hito en la historia dando pie a la creacin de consolas. La
microcomputadora Altair de MITS condujo a la revolucin de el computador personal.
En 1976 la Apple I fue el primer xito de la computacin personal, en ese mismo ao la
pelcula Futureworld incluy la animacin de un rostro y mano humanos siendo la primera
en utilizar los grficos por computadora.
En 1981 la IBM PC comenz a venderse popularizando el trmino computadora
personal. En 1982 se lanz al mercado la primera tarjeta de vdeo denominada Hrcules la
cual solo serva para grficos de un solo color.
Apple Lisa la primera computadora comercial con interfaz grfica y ratn, se lanz en
1983. En 1987 se cre en IBM la primeta tarjeta grfica VGA. En 1989 Adobe Photoshop
comenz a comercializarse siendo hoy una aplicacin popular.
Graficacin
75
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
una
animacin.
Aplicaciones
ms
sofisticadas
como
Mzaya
permiten
hacer
animaciones en 2D y 3D.
Graficacin
76
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
La
programacin
de
videojuegos
est
involucrada
con
la
animacin
se
complementan. La industria de los juegos a crecido en tal medida que algunas universidades
ofrecen programas acadmicos de programacin en videojuegos.
Las grficas por computadora se utilizan en diversas etapas de la creacin
de
pelculas. Se puede utilizar la animacin, edicin y efectos especiales, siendo los efectos
especiales lo que mas llama la atencin entre los consumidores.
Las grficas tambin se utilizan en aplicaciones de educacin y capacitacin. Los
simuladores para sesiones de prctica o capacitacin de capitanes de barco, pilotos de
avin, operadores de equipo pesado y personal de trfico areo permiten a los estudiantes
a comprender mejor la operacin del sistema y a practicar en un entorno virtual muy
apegado a la realidad.
El procesamiento de imgenes se utiliza en reas muy diversas. Las principales
aplicaciones del procesamiento de imgenes son: el mejoramiento de la calidad de la imagen
y la percepcin de la mquina de informacin visual.
Los formatos grficos de archivos son la forma en que la informacin de una imagen se
guarda en un archivo. Cada formato utiliza tcnicas de codificacin especial, mtodos de
compresin y otras tcnicas de para buscar el equilibro entre la calidad, el pes del fichero y
la compatibilidad entre plataformas.
En general, todos los ficheros grficos comienzan con una cabecera que indica las
caractersticas de la imagen, despus se encuentran los datos de la imagen los cuales
suelen estar comprimidos.
Existen dos tipos de formatos: los vectoriales y los de mapa de bits tambin conocidos
como rasterizados. Los rasterizados se distinguen de los vectoriales en que estos ltimos
representan una imagen a travs del uso de objetos geomtricos como curvas y polgonos
mientras que los mapas de bits se almacenan como un conjunto de pixeles.
Graficacin
77
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.
Transformaciones
geomtricas
Objetivo.
zonas
se
podran
insertar
en
zonas
de
visualizacin
ms
grandes.
Las
Graficacin
78
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.1.Transformaciones bidimensionales
Traslacin
2.Correccin leyendas
x = x + tx
y = y + ty
2.2.
X1
P = ,
X2
X '1
P' =
X '2
Tx
T =
Ty
Esto nos permite expresar las dos ecuaciones de traslacin bidimensional en la forma
de matriz:
2.3.
P' = P + T
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
extremos de la lnea y se vuelve a trazar la lnea entre las nuevas posiciones de los
extremos.
Los polgonos se trasladan al sumar el vector de traslacin a la posicin de
coordenadas de cada vrtice y se vuelve a generar el polgono utilizando un nuevo conjunto
de coordenadas y vrtices y las especificaciones actuales de los atributos.
y
10
10
15
20 x
10
15
20 x
y
10
Rotacin
Se aplica una rotacin bidimensional en un objeto al cambiar su posicin a lo largo de la
trayectoria de una circunferencia en el plano de xy. para generar una rotacin,
especificamos un ngulo de rotacin y la posicin (xr, yr) del punto de rotacin (o punto
pivote) en torno al cual se gira el objeto.
Graficacin
80
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
P'
!
yr
xr
Fig. 2.2.Rotacin de un objeto a travs del ngulo alrededor del
punto pivote
Los valores positivos para el ngulo de rotacin definen rotaciones en sentido opuesto
a las manecillas del reloj alrededor del punto pivote y los valores negativos giran los objetos
en la direccin del reloj . Tambin es posible describir esta transformacin como una
rotacin sobre el eje de rotacin que es perpendicular al plano de xy y pasa a travs del
punto pivote.
El primer paso es determinar las ecuaciones de transformacin para la rotacin de la
posicin de un punto P cuando el punto pivote est en el origen de las coordenadas.
Graficacin
81
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(x' , y')
"
(x, y)
En la figura 2.3, r es la distancia entre constante del punto desde el origen, el ngulo
es la posicin angular original del punto desde el plano horizontal y es el ngulo de
rotacin. Utilizando identidades trigonomtricas podemos expresar las coordenadas
transformadas en trmino de los ngulos y como:
2.4.
x = r cos , y = r sin
2.6.
Graficacin
82
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Con las representaciones del vector de columna 2.2 para las posiciones de
coordenadas podemos expresar las ecuaciones de rotacin en la forma de matriz:
P ' = RP
2.7.
donde la matriz de rotacin es:
cos
R=
sin
2.8.
sin
cos
P 'T = (RP)T = P T RT
donde PT = [x y] y se obtiene la transposicin RT de la matriz R con slo cambiar el
signo de los trminos del seno.
(x' , y')
(x, y)
"
(xr , yr )
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.9.
Escalacin
Una transformacin de escalacin altera el tamao de un objeto. Se puede realizar esta
operacin para polgonos al multiplicar los valores de coordenadas (x, y) de cada vrtice por
los factores de escalacin sx y sy para producir las coordenadas transformadas (x, y):
2.10.
Graficacin
84
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
x ' s x
y' = 0
2.11.
0 x
sy y
o
2.12.
P ' = SP
(a)
(b)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Los objetos que se transforman con las ecuaciones 2.11 se escalan y cambian de
posicin. Los factores de escalacin con valores menores que 1 acercan los objetos al
origen de las coordenadas en tanto que los valores mayores que 1 alejan las posiciones de
coordenadas del origen.
Podemos controlar la localizacin de un objetos escalado al seleccionar una posicin
llamada punto fijo, que debe permanecer sin cambios despus de la transformacin de
escalacin.
Se pueden seleccionar las coordenadas para el punto fijo (xf, yf) como uno de los
vrtices, el centroide del objeto o cualquier otra posicin.
P1
(xf , yf )
P2
P3
As, se escala un polgono con respecto del punto fijo al escalar la distancia de cada
vrtice al punto fijo. Para un vrtice con coordenadas (x, y), se calculan las coordenadas
escaladas (x, y) como
2.13.
x ' = x f + (x x f )sx ,
y' = y f + (y y f )sy
Graficacin
86
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
x ' = xsx + x f (1 sx )
2.14.
y' = ysy + y f (1 sy )
P ' = M 1 P + M 2
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Con el fin de producir una secuencia de transformaciones con estas ecuaciones, como
escalacin seguida por rotacin y luego traslacin, debemos calcular las coordenadas
transformadas un paso a la vez. Primero, se escalan las posiciones de coordenadas, despus
se giran estas coordenadas escaladas y por ltimo se trasladan las coordenadas giradas.
Un planteamiento mas eficiente combinara las transformaciones de manera que se
obtengan las coordenadas finales directamente a partir de las coordenadas iniciales para
eliminar el clculo de coordenadas intermedias. De esta manera, se debe de formular
nuevamente la ecuacin 2.15 para eliminar la adicin de la matriz asociada con los trminos
de la traslacin M2.
Podemos combinar los trminos de multiplicacin y de adicin para transformaciones
geomtricas dibimensionales en una sola representacin de matriz al ampliar las
representaciones de matriz de 2 por 2 a matrices de 3 por 3.
Esto nos permite expresar todas las ecuaciones de matriz como multiplicaciones de
matriz , si tambin ampliamos las representaciones de matriz para las posiciones de
coordenadas. Para expresar cualquier transformacin bidimensional como una multiplicacin
de matriz, representamos cada posicin de coordenadas cartesianas (x, y) con las tres
coordenadas homogneas (xh, yh, h), donde
x=
2.16.
xh
,
h
y=
yh
h
como
seleccionamos el parmetro
Para
transformaciones
geomtricas
bidimensionales,
para
el
parmetro
h,
por
ejemplo,
en
las
formulaciones
de
matriz
de
Graficacin
88
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.17.
x ' 1 0 t y x
y' = 0 1 t y
y
1 0 0 1 1
P ' = T (t x ,t y )P
2.18.
con T(tx, ty) como la matriz de traslacin 3 por 3 en la ecuacion 2.17. Se obtiene el
inverso de la matriz de traslacin al reemplazar los parmetros de traslacin tx y ty con sus
valores negativos -tx y -ty.
De modo similar, ahora se expresan las ecuaciones de transformacin de rotacin
respecto al origen de las coordenadas como
2.19.
x ' cos
y' = sin
1 0
sin
cos
0
0 x
0 y
1 1
o como
Graficacin
89
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
P ' = R( )P
2.20.
2.21.
x ' sx
y' = 0
1 0
0
sy
0
0 x
0 y
1 1
o
2.22.
P ' = S(sx , sy )P
donde S(sx, sy) es la matriz de 3 por 3 en la ecuacin 2.21 con los parmetros sx y sy.
Al sustituir sus inversos multiplicativos (1/sx y 1/sy) se obtiene la matriz de escalacin
inversa.
Las representaciones de matriz o representaciones matriciales son mtodos estndar
para implementar transformaciones en sistemas de grficas. En muchos sistemas, las
funciones de rotacin y escalacin producen transformaciones con respecto del origen de
las coordenadas como en las ecuaciones 2.19 y 2.21.
2.3.Composicin de transformaciones
bidimensionales
Con las representaciones de matriz del tema anterior, podemos establecer una matriz
para cualquier secuencia de transformaciones como una matriz de transformacin
compuesta al calcular el producto de la matriz de las transformaciones individuales. La
creacin de productos de matrices de transformacin a menudo se conoce como
concatenacin o composicin de matrices.
Graficacin
90
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.23.
P ' = T (t x 2 ,t y2 ) T (t x1 ,t y1 )P} = T (t x 2 ,t y2 )T (t x1 ,t y1 ) P
2.24.
1 0 t x 2 1 0 t x1 1 0 t x1 + t x 2
0 1 t 0 1 t = 0 1 t + t
y2
y1
x1
y2
0 0 1 0 0 1 0 0
1
2.25.
T (t x 2 ,t y2 )T (t x1 ,t y1 ) = T (t x1 + t x 2 ,t y1 + t y2 )
Rotaciones
Dos rotaciones sucesivas que se aplican en el punto P producen la posicin
transformada
2.26.
Al multiplicar las dos matrices de rotacin, podemos verificar que dos rotaciones
sucesivas son aditivas:
Graficacin
91
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
R( 2 )R(1 ) = R(1 + 2 )
2.27.
de modo que es posible calcular las coordenadas giradas finales con la matriz de
rotacin compuesta como
P ' = R(1 + 2 )P
2.28.
Escalaciones
Concatenar matrices de transformacin para dos operaciones de escalacin sucesivas
produce la siguiente matriz de escalacin compuesta:
2.29.
sx 2
0
0
sy2
0
0 sx1
0 0
1 0
0
sy1
0
0 sx1 sx 2
0 = 0
1 0
0
sy1 sy2
0
0
0
1
2.30.
La matriz resultante en este caso indica que las operaciones de escalacin sucesivas
son multiplicativas. Es decir, si debiramos triplicar el tamao de un objeto dos veces en
una sucesin, el tamao final sera nueve veces el tamao original.
Traslade el objeto de modo que se mueva la posicin del punto pivote al origen
de las coordenadas.
2.
Graficacin
92
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.
(xr , yr )
2.31.
1 0
0 1
0 0
xr cos
yr sin
1 0
sin
cos
0
0 1 0 xr cos
0 0 1 yr = sin
1 0 0 1 0
sin
cos
0
xr (1 cos ) + yr sin
yr (1 cos ) xr sin
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.32.
donde T(-xr, -yr)= T-1(xr, yr). En general, es posible determinar una funcin de rotacin
para aceptar parmetros para las coordenadas del punto pivote, as como el ngulo de
rotacin y generar en forma automtica la matriz de rotacin de la ecuacin 2.31.
(b)
(xf , yf )
Posicin origial !
del objeto y !
punto fijo
(d)
(xf , yf )
Escalacin con !
respecto del!
origen
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
1.
Traslade el objeto de modo que el punto fijo coincida con el origen de las
coordenadas.
2.
3.
2.33.
1 0
0 1
0 0
x f sx
y f 0
1 0
0
sy
0
0 1 0 x f sx
0 0 1 y f = 0
1 0 0 1 0
0
sy
0
x f (1 sx )
y f (1 sy )
o
2.34.
T (x f , y f )S(sx , sy )T (x f , y f ) = S(x f , y f , sx , sy )
Propiedades de concatenacin
La multiplicacin de matrices es asociativa. Para tres matrices cualesquiera A, B y C, el
producto matricial ABC se puede lelvar a cabo al multiplicar primero a por B o multiplicar
primero B por C:
2.35.
Por tanto, podemos evaluar los productos matriciales al utilizar una agrupacin
asociativa ya sea de izquierda a derecha o de derecha a izquierda.
Por otro lado, los productos de la transformacin tal vez no sean conmutativos. en
general el producto matricial AB no es igual que BA. Esto significa queremos trasladar y
girar un objeto, debemos tener cuidado sobre el sentido en que se evala la matriz
compuesta
Graficacin
95
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Posicin!
final
Posicin!
final
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
unidades que sean relevantes para el programa de aplicacin: angstroms, micras, metros,
millas, aos luz, etctera. Se emplea el trmino de mundo porque el programa de aplicacin
representa un mundo que se crea o presenta interactivamente para el usuario:
Como las primitivas de salida se expresan en coordenadas de mundo, hay que indicar al
paquete de subrutinas grficas cmo establecer la correspondencia entre las coordenadas
de mundo y las coordenadas de pantalla (usaremos el trmino especfico coordenadas de
pantalla para relacionar este anlisis especficamente con SRGP, pero podran usarse
dispositivos de impresin, en cuyo caso sera ms apropiado el trmino coordenadas de
dispositivo).
Esta correspondencia se puede efectuar si el programador de la aplicacin proporciona
al paquete grfico una matriz de transformacin para la correspondencia. Otra forma es que
el programador de la aplicacin especifique una regin rectangular en coordenadas de
mundo,
llamada
ventana
de
coordenadas
mundiales
una
regin
rectangular
Coordenadas de mundo
rea de vista
Coordenadas de pantalla
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Como se puede ver, si la ventana y el rea de vista no tienen la misma razn alturaanchura, ocurre un escalamiento no uniforme. Si el programa de aplicacin cambia la
ventana o el rea de vista, las nuevas primitivas de salida que se dibujen en la pantalla se
vern afectadas por el cambio, no as las primitivas existentes.
El modificador coordenadas de mundo se emplea con ventana para subrayar que no se
trata de una ventana de administrador de ventanas, un concepto distinto y ms reciente
que por desgracia tiene el mismo nombre. Este modificador se omitir cuando no exista
ninguna ambigedad con respecto al tipo de ventana que se trate.
Si SRGP proporcionara primitivas de salida en coordenadas de mundo, el rea de vista
se hallara en el lienzo actual, que por omisin es el lienzo 0, la pantalla. El programa de
aplicacin podra cambiar en cualquier instante la ventana o el rea de vista, en cuyo caso
las primitivas de salida que se especificaran
nueva transformacin. Si el cambio incluyera un rea de vista distinta, las nuevas primitivas
de salida se colocaran en el lienzo en posiciones distintas a las anteriores.
Intervalo mximo!
de las coordenadas!
de pantalla
rea de!
vista 2
Ventana
Coordenadas mundiales
rea de vista 1
Coordenadas de pantalla
Fig. 2.11.Efecto de dibujar primitivas de salida con dos reas de vista. Las
primitivas de salida que especifican la casa se dibujaron primero con el
rea de vista 1, que luego se cambi al rea de vista 2., para lo cual el
programa de aplicacin invoc nuevamente al paquete grfico para
dibujar las primitivas de salida.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
coordenadas de pantalla del rea de vista? Esta matriz se puede desarrollar corno una
composicin de transformacin de tres pasos, como se sugiere en la figura 2.12
Intervalo !
mximo de las!
coordenadas!
de pantalla
(xmx ,ymx)
(umx ,vmx)
(xmin ,ymin )
x
Ventana en !
coordenadas de mundo
Ventana trasladada!
al origen
(umin ,vmin )
Traslacin de (u
! min ,vmin )
hasta la posicin final
Graficacin
99
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
u um n vmx vmn
M wv = T (um n , vm n )iS mx
,
iT (xmn ymn )
xmx xmn ymx ymn
2.36.
umx um n
0
0
x x
mx
mn
1 0 xmn
1
0
u
mn
v
mx
mn
= 0 1 vmn i
0
0 i 0 1 ymn
ymx ymn
0 0
0 0 1
1
0
0
1
umx um n
umx um n
0
x
+
x x
xmx xmn
mn
mx
vmx vmn
v vmn
=
0
y + mx
ymx ymn
ymx ymn
0
0
1
2.37.
u umn
P = (x xmn )i mx
+ umn
x
mx
mn
(y ymn )i
vmx vmn
+ vmn 1
ymx ymn
Graficacin
100
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Intervalo mximo!
de las coordenadas!
de pantalla
Coordenadas de mundo
Coordenadas de pantalla
2.38.
x ' rsxx
y' = rs
yx
1 0
rsxy
rsyy
0
trsx x
trsy y
1 1
Los cuatro elementos rsij son los trminos multiplicativos de rotacin -escalacin en la
transformacin que implican slo ngulos de rotacin y factores de escalacin. Los
elementos trsx y trsy son los trminos de traslacin que contienen combinaciones de
distancias de traslacin, coordenadas de punto pivote y de punto fijo, as como de ngulos
de rotacin y parmetros de escalacin.
Por ejemplo, si debe escalar, girar un objeto con respecto de las coordenadas de su
centroide (xc, yc) y despus trasladarlo, los valores para los elementos de la matriz de
transformacin compuesta son
Graficacin
101
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
sx cos
T (t x ,t y )R(xc , yc , )S(xc , yc , sx , sy ) = sx sin
0
2.39.
sx sin
sy cos
0
xc (1 sx cos ) + yc sy sin ) + t x
yc (1 sy cos ) + xc sx sin ) + t y
Aunque la ecuacin de matriz 2.35 requiere nueve multiplicaciones y seis adiciones, los
clculos explcitos para las coordenadas transformadas son
2.41.
rxx
r
yx
0
rxy
ryy
0
trx
try
1
donde los cuatro elementos rij son los trminos de traslacin. En ocasiones. un cambio
de cuerpo rgido en la posicin de coordenadas se denomina transformacin de movimiento
rgido.
Graficacin
102
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Todos los ngulos y distancias entre las posiciones de coordenadas permanecen sin
cambio al realizar la transformacin. Adems, la matriz 2.41 tiene la propiedad de que su
submatriz superior izquierda de 2 por 2 est en una matriz ortogonal. Esto significa que si
consideramos cada rengln de la submatriz como un vector, entonces los dos vectores (rxx,
rxy)
y (ryx, ryy) forman un conjunto ortogonal de vectores unitarios: cada vector tiene
longitud unitaria.
2.42.
2.43.
Por tanto, si estos vectores unitarios se transforman por la submatriz de rotacin, (rxx,
rxy) se convierte en un vector unitario a lo largo del eje x, y (rxx, rxy) se transforma en un
vector unitario a lo largo del eje y del sistema de coordenadas:
2.44.
rxx
r
yx
0
rxy
ryy
0
0 rxx 1
0 rxy = 0
1 1 1
2.45.
rxx
r
yx
0
rxy
ryy
0
0 ryx 0
0 ryy = 1
1 1 1
2.46.
cos
T (t x ,t y )R(xr , yr , ) = sin
0
sin
cos
0
xr (1 cos ) + yr sin ) + t x
yr (1 cos ) xr sin ) + t y
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
cos
sin
2.47.
sin
cos
0
0 cos 1
0 sin = 0
1 1 1
v'
u'
(a)
(b)
Este puede ser un mtodo conveniente para obtener la matriz de transformacin para
la rotacin en un sistema de coordenadas local (u objeto) cuando conocemos los vectores
de orientacin finales.
Graficacin
104
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.48.
x ' = x ysin ,
y' = x sin + y
donde se evala sin una vez para todos los pasos, si se supone que el ngulo de
rotacin no cambia.
El error que implica esta aproximacin en cada paso disminuye conforme el ngulo de
rotacin es menor. Pero incluso con ngulos de rotacin pequeos, el error acumulado sobre
muchos pasos puede tornarse muy grande.
Podemos controlar el error acumulado al estimar el error en x y y en cada paso y
volver a especificar las posiciones del objeto cuando la acumulacin del error es muy
grande.
Las transformaciones compuestas a menudo implican clculos de la matriz inversa. Por
ejemplo, las secuencias de transformacin para las direcciones de escalacin general y para
reflexiones y recortes se pueden describir con componentes de rotacin inversa.
Se pueden generar con procedimientos simples las representaciones de matriz inversa
para las transformaciones geomtricas bsicas. Se obtiene una matriz de traslacin inversa
Graficacin
105
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
al realizar un transposicin de matriz (o cambiar el signo de los trminos del seno). Estas
operaciones son mucho ms sencillas que los clculos de la matriz inversa.
En el siguiente ejemplo, se escala y gira un polgono con respecto de un punto de
referencia determinado y luego se traslada el objeto. En la figura se ilustran las posiciones
original y final del polgono que se transforma mediante esta secuencia.
(a)
y
200
150
punto de !
referencia !
= (100, 100)
100
50
50
100
150
200
(b)
y
200
150
punto de !
referencia
100
50
50
100
150
200
Graficacin
106
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
DIRECCIN DE LA
ROTACIN POSITIVA
yaz
zax
xay
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
x
z
1
0
T (dz , d y , dz ) =
0
2.49.
T
0
1
0
0
0 dz
0 dy
1 dz
0 1
Graficacin
108
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.50.
sz
0
S(sx , sy , dz ) =
0
0
sy
0
0
0
0
sz
0
0
0
2.51.
cos
sin
Rz ( ) =
0
sin
cos
0
0
0
0
1
0
0
0
0 1 0 0 1
1 0 0 0 0
0 0 1 0 0
0 0 0 1 1
2.52.
2.53.
0
1
0 cos
Rx ( ) =
0 sin
0
0
0
sin
cos
0
0
0
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.54.
cos
0
Ry ( ) =
sin
0
1
sin
0
0 cos
0
0
0
0
-1
= B . De hecho, para
tomar la transpuesta no es necesario intercambiar los elementos del arreglo que contiene la
matriz: basta intercambiar los ndices de las filas y las columnas al acceder a la matriz.
Observe que este mtodo para hallar la inversa es consistente con el resultado del cambio
de signo de para hallar la inversa de Rx, Ry y Rz.
Es posible multiplicar juntas cualquier cantidad de matrices de rotacin, escalacin y
traslacin. El resultado siempre tiene la forma
2.55.
r11
r
21
M =
r31
r12
r22
r32
0
r13 t x
r23 t y
r33 t z
0 1
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
x '
x
y' = Ri y + T ,
z '
z
2.56.
1
0
SH xy (shx , shy ) =
0
2.57.
0 shz
1 shy
0 1
0 0
0
0
quisiramos transformar N por una matriz Q (por determinarse) que d lugar a la ecuacin
T
-1
Graficacin
111
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
-1 T
N ' = (M 1 )T iN
2.58.
-1 T
2.7.Composicin de transformaciones
tridimensionales
En este apartado se analizar la forma de componer matrices de transformacin
tridimensionales usando un ejemplo. El objetivo es transformar los segmentos de lnea
dirigida P1P2 y P1P3 en la figura 2.18 de su posicin inicial en la parte (a) a su posicin final
en la parte (b). De esta manera, el punto P1 se trasladar al origen P1P2 quedar en el eje
positivo y P1P3 quedar en la mitad del eje positivo del plano (x, y). Las longitudes de las
lneas no se vern afectadas por la transformacin.
Se presentan dos formas de lograr la transformacin deseada. El primer mtodo es
componer las transformaciones primitivas T, Rx, Ry y Rz. Este mtodo, aunque es algo
tedioso, es fcil de ilustrar y su comprensin nos ayudar en nuestro conocimiento de las
transformaciones. El segundo mtodo, que utiliza las propiedades de las matrices
ortogonales especiales que se analiza en la seccin anterior, se explica de manera mas
breve pero es ms abstracto.
Graficacin
112
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
x
z
x
z p2
Traslacin de P1 al origen.
2.
Rotacin sobre el eje y para que P1P2 est en el plano (y, z).
3.
4.
Rotacin sobre el eje z para que P1P3 est en el plano (y, z).
2.59.
1
0
T (x1 , y1 , z1 ) =
0
0
1
0
0
0 x1
0 y1
1 z1
0 1
2.60.
0
0
P '1 = T (x1 , y1 , z1 )iP1 =
0
1
Graficacin
113
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.61.
x2 x1
y y
2
1
P '2 = T (x1 , y1 , z1 )iP2 =
z2 z1
2.62.
x3 x1
y y
3
1
P '3 = T (x1 , y1 , z1 )iP3 =
z3 z1
Paso 2: Rotacin sobre el eje y. En la figura 2.19 se muestra P1P2 despus del paso 1,
as como la proyeccin de P1P2 sobre el plano (x, z). El ngulo de rotacin es (90 - ) =
-90.
y
P' 3
P' 1
D1
(x'2 , 0, z'2 )
Entonces,
z '2 z2 z1
=
,
D1
D1
x'
x x1
sin( 90) = cos = 2 = 2
D1
D1
cos( 90) = sin =
2.63.
Donde
Graficacin
114
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.64.
2.65.
y''2
P''2
D2
!
P''1
x
z''2
Paso 3: Rotacin sobre el eje x. En la figura 2.20 se muestra P1P2 despus del paso 2.
El ngulo de rotacin es , para el cual
cos =
2.66.
z ''2
y''
,sin = 2
D '2
D '2
2.67.
Graficacin
115
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.68.
P1P2
y'''3
!
P'''3
D3
P'''1 x'''
3
P'''2
Paso 4. Rotacin sobre el eje z. En la figura 2.21 se muestran P1P2 y P1P3 despus del
paso 3, con P2 en el eje z y P3 en la posicin
2.69.
cos = y3 ''' D3 ,
sin = x3 ''' D3 ,
2.70.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.71.
r
1x
R = r1y
r1z
2.72.
r3x
r3y
r3z
r2 x
r2 y
r2 z
Como Rz es el vector unidad sobre P1P3 que rotar hacia el eje positivo,
2.73.
Rz = r1x
r2 x
r3x =
P1P2
P1P2
2.74.
Rx = r1x
r3x =
r2 x
P1P3 P1P2
P1P3 P1P2
Finalmente,
2.75.
Ry = r1x
r2 x
r3x = Rz Rx
Graficacin
117
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
r1x
r
1y
r1
z
0
2.76.
r2 x
r2 y
r3x
r3y
r2 z
0
r3z
0
0
0
iT (x , y , z ) = RiT
1
1
1
0
P3
Ry
Rx
P1
P2
Rz
x
xp
zp
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
origen a P. Para hallar la matriz de rotacin solo hay que determinar en qu direccin
apuntan los ejes xp, yp y zp en la figura 2.24, asegurarse de que las direcciones estn
normalizadas y luego usar estas direcciones como vectores columna en una matriz de
rotacin.
y
yp
xp
zp
DDV
P
x
2.77.
3.
y DOF
R=
DOF (y DOF)
DOF
0
0
truco
Graficacin
119
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Resumen
Las transformaciones geomtricas bsicas son la traslacin, la rotacin y la escalacin.
La traslacin mueve un objeto con una trayectoria en lnea recta de una posicin a otra. La
rotacin mueve un objeto de una posicin a otra a lo largo de una trayectoria circular sobre
un eje de rotacin especfico.
Para aplicaciones bidimensionales, la trayectoria de rotacin se encuentra en el plano
xy sobre un eje que es paralelo al eje z. Las transformaciones de cambio de escala cambian
las dimensiones de un objeto con respecto a una posicin fija.
Podemos expresar las transformaciones bidimensionales como operadores de matrices
de 3 por 3 y las transformaciones tridimensionales como operadores de matrices de 4 por
4, de tal forma que esas secuencias de transformaciones pueden concatenarse dentro de
una matriz compuesta.
En general, podemos representar tanto transformaciones bidimensionales como
tridimensionales con matrices de 4 por 4. Representar operaciones de transformaciones
geomtricas con matrices de formulacin eficiente, en tanto en cuanto nos permite reducir
los clculos aplicando una matriz compuesta a una descripcin de un objeto para obtener su
posicin transformada.
Para encontrar la matriz de la posicin transformada expresamos posiciones de
coordenadas como matrices de columna. Elegimos la representacin de matriz columna para
puntos de coordenadas porque ese es el convenio matemtico estndar y, muchos
paquetes grficos siguen dicha convencin.
Nos referimos a una matriz de tres o cuatro elementos (vector) como una
representacin de coordenadas homogneas. Para transformaciones geomtricas, al
coeficiente homogneo se le asigna el valor 1.
Las transformaciones compuestas se forman como multiplicacin de matrices de
traslacin,
rotacin,
cambio
de
escala
otras
transformaciones.
Podemos
usar
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Graficacin
121
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.
Modelado Geomtrico
3.Correccin leyendas
Objetivo.
El estudiante conocer
Graficacin
122
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
El Diseo Asistido por Ordenador (CAD) y la Fabricacin Asistida por Ordenador (CAM),
han sido las principales fuerzas de desarrollo del campo del Modelado Geomtrico, aunque
otras reas como la Robtica, Reconocimiento de Formas, Inteligencia Artificial, y el Clculo
Estructural (modelos de elementos finitos) han contribuido tambin ha su desarrollo.
3.1.Modelado de Superficie
Existen varias razones
superficie:
Cuando el objeto mismo es una superficie que podemos suponer sin grosor (por
ejemplo, la chapa metlica del cap de un vehculo). Este tipo de representacin
nos permite visualizar superficies abiertas, mientras que los slidos se
caracterizarn por tener su superficie necesariamente cerrada sobre s misma.
Cuando tan slo nos interesa visualizar su aspecto visual externo, sin detalles
sobre su estructura interna, aunque el objeto ocupe un cierto volumen.
Graficacin
123
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Cuando deseamos realizar una visualizacin en tiempo real, y para ello utilizamos
hardware o software grfico que est slo preparado para visualizar polgonos.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Superficies de Bezier
Las superficies spline son simplemente una extensin bidimensional de las curvas
spline. Las superficies spline, se pueden entender como una curva spline en la que el lugar
de cada punto de control es sustituido por una curva spline del mismo tipo de la curva
inicial. Es esta restriccin la que hace que existan exactamente los mismos tipos de curvas
que de superficies spline. Esto es, superficies de Bzier, superficies spline, y en ambos casos
estas pueden ser racionales o no.
3.1.
Haciendo que los pi no sean unos valores constantes sino que sean a su vez el
resultado de una funcin paramtrica de parmetro v, resulta que para cada valor concreto
del parmetro v, la funcin C(u) describe una curva diferente. Haciendo adems que las
ecuaciones paramtricas que rigen las curvas que siguen los puntos pi de control sean todas
curvas de Bzier y lo sean del mismo orden m, cada punto pi de control puede ser
expresado como:
m
3.2.
3.3.
Graficacin
125
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
P2 (v)
P0 (v)
P02
P01
Pi (v)
C(u)
P00
Pi (v)
C(u)
Las curvas que describen los puntos de control son tambin curvas de Bzier de
grado m fijo para todos los puntos de control.
Estas restricciones suponen una seria limitacin en cuanto a la forma de las curvas que
se pueden representar con esta aproximacin tensorial. Por ejemplo, para generar una
superficie complicada en un extremo pero muy sencilla en el otro, podra pensarse en utilizar
curvas con muchos puntos de control en un extremo y con pocos en el otro.
La expresin que se acaba de obtener, no permite la generacin de una superficie
como esta. Otro caso es el de una superficie de forma triangular. Mediante la expresin
Graficacin
126
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
vista, es necesario que en un extremo se colapsen todos los puntos de control sobre una
misma posicin, dando lugar a singularidades.
3.4.
p00
Sn, m (u, v) = (B0n (u)..Bnn (u)) ..
pn0
.. p0 m B0m (v)
..
m
.. pnm Bm (v)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.5.
p00
Sn, m (u, v) = (u 0 ..u n )N T ..
pn0
..
..
p0 m v 0
.. M
m
pnm v
3.6.
p00
Sn, m (u = 0, v) = (1, 0..0) ..
pn0
B0m (v)
.. p0 m B0m (v)
= ( p ..p )
.. ..
00
0m
m
m
.. pnm Bm (v)
Bm (v)
p00
Sn, m (u = 1, v) = (0, 0..1) ..
pn0
B0m (v)
.. p0 m B0m (v)
= ( p ..p )
.. ..
00
0m
m
m
.. pnm Bm (v)
Bm (v)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
derivada parcial respecto a u (3.7) el trmino entre corchetes es una curva de Bzier, por lo
que su derivada se puede expresar como 3.8
3.7.
j = 0 u i = 0
3.8.
n 1
n 1
n
n
n 1
p
B
(u)
=
n
(
p
p
)
B
(u)
=
n
(1,0
)Bin 1 (u)
i, j i
i +1, j
i, j
i
j
u i = 0
i=0
i=0
3.9.
3.10.
m n 1
n 1
Sn, m (u, v) = n (1,0
(u)B jm (v)
j )Bi
u
j=0 i=0
n m 1
m 1
Sn, m (u, v) = n (1,0
(v)Bin (u)
i )B j
v
i=0 j=0
Es de notar el hecho de que las derivadas fueron obtenidas separadamente para las
componentes u y v. Ello es debido a la forma de creacin de las superficies de Bzier como
combinacin de curvas de Bzier en dos parmetros distintos. El buen comportamiento de
esta separacin, es tambin debido a las restricciones hechas en la definicin de este tipo
de superficies.
Como interpretacin grfica de estas derivadas, es de destacar el que la derivada en
cada direccin u y v sigue la direccin del vector tangente que va de los puntos de control
del extremo de la superficie a los puntos de control vecinos, como se indica en la figura 3.3.
Esto es importante a la hora de procurar continuidad entre parches vecinos.
Graficacin
129
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
P33
P03
P30
P00
Fig. 3.3.Interpretacin grfica de las derivadas en los extremos de
una superficie de Bzier
3.11.
n(0, 0) =
3.12.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Normal definida
Normal indefinida
3.13.
p00
n 1
T
Sn, m (u, v) = (0,1, 2u..nu )N
..
u
pn0
.. p0 m v 0
.. .. M
.. pnm v m
Graficacin
131
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
p00
0
n
T
Sn, m (u, v) = (u ..u )N
..
u
pn0
3.14.
.. p0 m 1
.. .. M 2v
.. pnm ..
mv m 1
Superficies B-Spline
Del mismo modo que una curva de Bzier no se adapta bien para modelar curvas
complejas, las superficies de Bzier sufren el mismo problema, pues estas no son mas que
una extensin bidimensional de las anteriores. Como en el caso de curvas, las superficies
spline dan la posibilidad de generar superficies formadas por la conexin de sucesivas
superficies de Bzier.
El problema es mas sencillo en el caso de curvas pues solo existe un punto de unin y
unos valores perfectamente determinados de sus derivadas. En el caso de superficies, la
conexin se ha de hacer a lo largo de una curva en todos los puntos de la misma, y las
derivadas ya no estn tan claramente determinadas.
3.15.
r
r
x(u, v) = r y(u, v)
u r
u
u =u
Supngase ahora que ambos parches estn dados en su forma de Bzier y que sus
polgonos de control son {pij}; 0 i m, 0 j n
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.16.
1
I 1
1
r,0
m
(
p
)B
(v)
=
n r, j
j
j=0
I
m
3.17.
(
j=0
r,0
pm, j )B jm (v)
1
1
r,0
m
r,0
(
p
)B
(v)
=
(
pm, j ); j = 0..n
n
r,
j
j
I 1
I
Esta es la condicin para continuidad hasta la derivada r sima aplicada a las n+1 filas
de puntos de control de ambos parches de Bzier. Por lo tanto la condicin de continuidad
entre parches de Bzier se puede definir como: Dos parches adyacentes son Cr continuos en
su frontera comn si y solo si todas las filas de puntos de control forman curvas de Bzier con
continuidad Cr.
Nuevamente el problema de superficies se reduce a la solucin separada de varios
problemas de curvas. Se ha visto la condicin de continuidad en u, pero esta aplica
igualmente en la direccin v.
La condicin de continuidad en la primera derivada, ilustrada en la figura 3.5, obliga a
que todos los polgonos formados por los puntos p0j, p1j, ... p2mj sean polgonos de control
de curvas a trozos de Bzier con continuidad en la primera derivada. Para que se de esta
condicin, los puntos de control pm-1,j, pm,j y pm+1,j han de ser colineales y estar en la
relacin I : I+1. Esta relacin ha de ser la misma para las j curvas que intervienen en el
diseo de la superficie.
Graficacin
133
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
!I
C1
S1
! I+1
!I
! I+1
!I
! I+1
C2
S2
C3
C1
C2
S1
C3
S2
3.18.
Graficacin
134
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.19.
en donde puede verse que para cada trmino en i del sumatorio, la ecuacin entre
corchetes describe una curva B-spline. Se puede convertir esta ecuacin a la forma de
Bzier, para luego convertir la ecuacin en v. Esto se corresponde con la interpretacin del
polgono de control de la superficie B-spline como formado por filas de puntos de control de
curvas B-spline y columnas de puntos de control de curvas B-spline. El proceso para pasar
Graficacin
135
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Superficies Racionales
La expresin de una superficie racional en forma de Bzier es
n
S(u, v) =
3.20.
w
i=0 j=0
n m
i, j
w
i=0 j=0
i, j
en donde el numerador representa una superficie con polgono de control formado por
los puntos wijpij y el denominador es un nmero real obtenido con la misma expresin que la
superficie del numerador y con polgono de control formado por los valores wij.
El comportamiento de estas superficies es anlogo al de las curvas racionales de
Bzier debido a que son simplemente una extensin bidimensional de las expresiones
obtenidas para el caso de curvas. En ellas se han de tener en cuenta los mismos criterios en
cuanto a la no negatividad de los pesos, a la forma de evaluacin o a la aplicacin del
algoritmo de Casteljau o el de insercin de nodos.
Modelado de slido
El Modelado Slido es una rama relativamente reciente del Modelado Geomtrico, que
hace hincapi en la aplicabilidad general de los modelos, e insiste en crear solamente
modelos "completos" de los slidos, es decir, modelos que son adecuados para responder
algortmicamente (sin la ayuda externa del usuario) a cualquier pregunta geomtrica que se
formule.
Los principales esquemas de Modelado Slido desarrollados son el de Representacin
de Fronteras (Boundary Representation o B-Rep) y el de la Geometra Constructiva de
Graficacin
136
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Slidos (Constructive Solid Geometry o CSG), aunque existen muchos otros, como el
modelado de barrido translacional y rotacional, o los esquemas de modelado hbridos.
El objetivo de "aplicabilidad general" diferencia los esquemas de Modelado Slido de
otros esquemas de modelado geomtricos, los cuales se utilizan en casos especiales. As,
los modelos grficos (graphical models) se utilizan para describir el dibujo tcnico de los
objetos, por ejemplo en ingeniera.
Los modelos de formas (shape models) representan imgenes de los objetos. Pueden
ser una coleccin sin estructurar de elementos de una imagen, o poseer cierta estructura
para, por ejemplo, realizar operaciones de tratamiento de imgenes. Los modelos de
superficie (surface models) dan informacin detallada sobre superficies, pero no siempre
proporcionan la informacin suficiente para determinar todas las propiedades geomtricas.
Graficacin
137
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
!3
ngulo de giro
!2
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
ngulo de exceso
Se conoce como ngulo de exceso (o simplemente exceso), el ngulo de giro implcito a
un camino cerrado trazado sobre una superficie. Tambin se define como el giro que
experimenta un puntero de referencia cuando es llevado alrededor de un camino cerra- do.
Como pronto se ver, el ngulo de exceso est ntimamente relacionado con la curvatura de
las superficies.
El concepto de ngulo de exceso sirve para generalizar el teorema del camino cerrado
simple, de modo que tambin sea vlido para caminos cerrados simples sobre superficies
Graficacin
140
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
curvas. La generalizacin de este teorema nos dice que el giro total a lo largo de un camino
cerrado simple, ms el ngulo de exceso, debe ser igual a 360, es decir, que
T + E = 360
3.21.
donde:
T = Giro total a lo largo del camino
Exceso
Punto de!
inicio
Fig. 3.11.Concepto de ngulo de exceso
Graficacin
141
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2.
Objetos de Euler.
A los objetos cerrados tridimensionales de orden g 0 que verifican ciertos requisitos
de construccin, se les denomina objetos de Euler. Dichas normas son:
1.
2.
Cada arista une slo dos caras y todas finalizan en un vrtice en cada extremo.
3.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
V A + C = 2(S P)
3.22.
donde
S1
S1
S2
S=1
S=2
S2
S=3
S3
En la figura 3.14 hay otros dos objetos de Euler. El izquierdo es de grado 1, ya que
tiene un tnel que lo cruza; el otro, aunque posee una cavidad, sta no llega a atravesar el
modelo. Por tanto, se trata de un objeto topolgicamente equivalente a una esfera, es
decir, de grado 0.
Graficacin
143
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
V - A + C = 2(S - P)
16 - 32 +16 = 2(1 - 1)
V - A + C = 2(S - P)
16 - 28 +14 = 2(1 - 0)
R = [iR, fR]
3.23.
respecto a R :
n
No pertenecer a R .
Graficacin
144
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
iR
fR
fR
fR
Operadores booleanos
Como acabamos de ver, los objetos geomtricos pueden considerarse como conjuntos
de puntos, tanto de interior como de frontera. En Modelado Slido, para construir objetos
complejos se utilizan operaciones entre conjuntos, tales como unin ( ), interseccin ( ) y
diferencia (). A estos operadores se les conoce en modelado como operadores Booleanos.
A la hora de aplicar los operadores booleanos sobre objetos simples para formar
modelos ms complejos, es importante que los modelos obtenidos sean ntegros (topolgicamente vlidos), y que adems sean dimensionalmente homogneos, es decir, que su
dimensin sea igual a la de los objetos que se combinan. La figura 3.16 muestra dos
ejemplos donde se pierde la homogeneidad dimensional, despus de efectuar la interseccin
entre objetos vlidos de 2 y 3 dimensiones.
A
A
a
a
B
b
A
Graficacin
145
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
B
A
(a)
(b)
(d)
(c)
(e)
B, (c)
B, (d) A B, (e) B A
*,
* y *, y definidos
de manera que las operaciones con slidos siempre generen slidos. Por ejemplo, la
Graficacin
146
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
interseccin booleana regularizada de dos cubos que se unen en un solo vrtice es el objeto
nulo.
Para examinar la diferencia entre los operadores ordinarios y los regularizados,
podemos considerar cualquier objeto como definido por un conjunto de puntos y dividido en
puntos interiores y puntos de frontera.
Los puntos de frontera son aquellos cuya distancia al objeto y al complemento del
objeto es cero. Los puntos de frontera no tienen que formar parte del objeto. Un conjunto
cerrado contiene todos sus puntos de frontera, mientras que un conjunto abierto no
contiene ninguno. La unin de un conjunto con el conjunto de sus puntos de frontera se
conoce como cerradura del conjunto.
La frontera de un conjunto cerrado es el conjunto de sus puntos de frontera, mientras
que el interior, consiste en todos los dems puntos del conjunto y por ende es el
complemento de la frontera con respecto al objeto. La regularizacin de un conjunto se
define como la cerradura de los puntos interiores del conjunto.
Un conjunto que es igual a su propia regularizacin se conoce como conjunto regular.
Observe que un conjunto regular no puede contener ningn punto de frontera que no sea
adyacente a un punto interior; es decir no puede tener puntos, lneas o superficies de
frontera "colgantes", Podemos definir cada operador booleano regularizado de conjuntos en
funcin de un operador ordinario, como
A op * B = cerradura(interior(A op B))
3.24.
donde op es
Graficacin
147
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
A B
CD
(c)
A B
CD
(d)
Graficacin
148
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
caen en lados opuestos. Esto se aplica a b si no es adyacente a ningn punto i. Cada uno de
los operadores regularizados est definido por la unin de los conjuntos asociados con las
filas que tienen un asterisco (*) en la columna del operador.
Graficacin
149
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Conjunto
A *B
A *B
Ai
Bi
Ai B
Bi A
Ab
Bi
Bb
Ai
Ab B
Bb A
Ab
Bb iguales
Ab
Bb diferentes
A * B
*
*
AyB
Bb
Ai
Bi
Ai B
Ab B
Bb A
Ai
Bi A
Ab
B b iguales
Ab
Ab
Bi
B b diferentes
Observe que, en todos los casos, cada porcin de la frontera del objeto resultante se
encuentra en la frontera de uno o de los dos objetos originales. Al calcular A U* B A
* B,
Graficacin
150
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Bb, diferentes y Bb
* . Podemos obtener
Ai. Alternativamente. A
(el complemento de B)
Estas
primitivas
suelen
parametrizarse
no
slo
en
funcin
de
las
transformaciones, sino tambin con base en otras propiedades. Por ejemplo, un objeto
primitivo puede ser una pirmide regular con un nmero (definido por el usuario) de caras
que se unen en el pice. Los ejemplares de primitivas son similares a objetos
parametrizados, excepto que los objetos son slidos.
Una primitiva parametrizada se puede considerar como la definicin de una familia de
partes cuyos miembros varan en unos cuantos parmetros, un importante concepto de
CAD conocido como tecnologa de grupos. La generacin de ejemplares de primitivas se
'usa con frecuencia en objetos de complejidad relativa, como engranes o tuercas, que es
tedioso definir en funcin de combinaciones booleanas de objetos ms sencillos pero que se
pueden caracterizar fcilmente con unos cuantos parmetros de alto nivel. Por ejemplo, un
engrane se puede parametrizar por su dimetro o su nmero de dientes, como se ilustra en
la figura 3.21.
Graficacin
151
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Engrane
Engrane
Dimetro = 4.3!
Eje = 2.0!
Grosor = 0.5!
Dientes = 12!
Agujero = 0.3
Dimetro = 6.0!
Eje = 1.0!
Grosor = 0.4!
Dientes = 18!
Agujero = 0.3
Representaciones de barrido
Al barrer un objeto a lo largo de una trayectoria por el espacio se define un objeto
nuevo, llamado barrido. El tipo de barrido ms sencillo es el definido por un rea
bidimensional barrida por una trayectoria lineal normal al plano del rea
para crear un
volumen. Este proceso se conoce como barrido traslacional o extrusin y es una forma
natural de representar objetos formados por la extrusin de metal o plstico a travs de un
molde con la seccin transversal deseada.
En los casos ms sencillos cada volumen de barrido no es ms que el rea del objeto
que se barre multiplicada por la longitud del barrido. Las extensiones sencillas comprenden
Graficacin
152
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Sin embargo, a pesar de los problemas de cerradura y de clculo, los barridos son una
forma natural e intuitiva de construir diversos objetos. Por ello, muchos sistemas de
modelado de slidos permiten a los usuarios construir objetos como barridos, pero los
almacenan con alguna representacin.
Representacin de fronteras.
Las representaciones de fronteras (tambin conocidas como b-rep) describen un
objeto en funcin de sus fronteras superficiales: vrtices, reas y caras. Algunas
representaciones de fronteras estn limitadas a fronteras poligonales planas y pueden
requerir que las caras sean tringulos o polgonos convexos.
La determinacin de lo que constituye una cara puede ser difcil si se permiten
superficies curvas, como en la figura 3.23. Las caras curvas muchas veces se aproximan
con polgonos. Alternativamente, las superficies curvas tambin se pueden representar
como parches de superficie si los algoritmos que procesan la representacin pueden tratar
las curvas de interseccin resultantes, las cuales por lo general, sern de orden mayor que
las superficies originales.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
(c)
Fig. 3.24.En una 2-variedad cada punto tiene una vecindad de puntos que lo
rodean y forman un disco topolgico, mostrado en gris (a) y (b). (c) Si
un objeto no es una 2-variedad, entonces no tiene puntos cuya
vecindad sea un disco topolgico.
Por ejemplo, si ms de dos caras comparten una arista, como en la figura 3.24(c),
cualquier vecindad de un punto en la arista contiene puntos de cada una de esas caras. Por
intuicin, es obvio que no hay una correspondencia uno a uno continua entre esta vecindad
y un disco en el plano, aunque la demostracin matemtica no es trivial.
Por lo tanto, la superficie en la figura 3.24(c) no es una 2-variedad. Aunque algunos
sistemas actuales no tienen esta restriccin, limitaremos nuestro anlisis de las
representaciones de fronteras a las 2-variedades, excepto si se indica lo contrario.
VE+F=2
Graficacin
155
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
V =8!
E = 12!
F=6
V =5!
E = 8!
F=5
V = 6!
E = 12!
F=8
V E + F H = 2(C G)
Graficacin
156
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
V - E + F - H = 2(C - G)!
24 36 15 3
1 1
Baumgart introdujo el concepto de operadores de Euler, los cuales operan con objetos
que satisfacen la frmula de Euler y transforman los objetos para formar otros que tambin
obedecen a la frmula, aadiendo vrtices, aristas y caras. Braid, Hillyard y Stroud
mostraron cmo se puede combinar un pequeo nmero de operadores de Euler para
transformar objetos, siempre y cuando no se requiera que los objetos intermedios sean
slidos vlidos, mientras que Mntyl demuestra que todas las representaciones de
fronteras vlidas se pueden construir con una secuencia finita de operadores de Euler. Se
pueden definir tambin otros operadores que realizan ajustes finos a un objeto, moviendo
los vrtices, aristas o caras existentes sin afectar su nmero.
Quizs la representacin de frontera ms simple sea una lista de caras poligonales,
cada una representada por una lista de coordenadas de vrtices. Para representar la
direccin hacia la cual queda la cara, los vrtices del polgono se listan en un orden acorde al
sentido del giro de las manecillas del reloj, visto desde el exterior del slido.
Para evitar la duplicacin de coordenadas compartidas por las caras, cada vrtice se
puede representar con un ndice en una lista de coordenadas. En esta representacin, las
aristas se representan implcitamente con pares de vrtices adyacentes en las listas de
vrtices de los polgonos. Las aristas tambin se pueden representar en forma explcita
como pares de vrtices, definiendo cada cara como una lista de ndices en la lista de
vrtices.
Graficacin
157
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Bi Bb
Bb
diferentes).
Podemos clasificar el polgono construyendo un vector en la direccin de la normal a la
superficie del polgono, desde un punto en el interior del polgono, para luego hallar el
polgono ms cercano que interseca el vector en el otro objeto. Si no se interseca ningn
polgono, el polgono original se encuentra fuera del otro objeto. Si el polgono intersecante
ms cercano es coplanar con el original, esta interseccin es de tipo frontera-frontera y la
comparacin de las normales de los polgonos indica el tipo de interseccin (Ab
o Ab
Bb iguales
Bb diferentes).
En caso contrario, se revisa el producto punto de las normales de los dos polgonos. Un
producto punto positivo indica que el polgono original, se halla dentro del otro objeto; si el
resultado es negativo, el polgono original est fuera. El producto punto igual a cero puede
ocurrir si el vector se encuentra en el plano del polgono intersecado; en este caso, el vector
se perturba ligeramente e interseca de nuevo con los polgonos del otro objeto.
Es posible usar la informacin de adyacencia de vrtices para evitar el procesa miento
adicional necesario para clasificar los polgonos de esta manera. Si un polgono es adyacente
Graficacin
158
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Descomposicin en celdas
Una de las formas ms generales de la particin espacial se denomina descomposicin
en celdas. Cada sistema de descomposicin en celdas define un conjunto de celdas
primitivas que por lo general se parametrizan y con frecuencia son curvas. La
Graficacin
159
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
(c)
Graficacin
160
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
hasta n celdas ocupadas para representar un objeto con una resolucin de n elementos de
volumen en cada una de las tres dimensiones,
Graficacin
161
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
rboles de octantes
Los rboles de octantes (octrees) constituyen una variante jerrquica de la
enumeracin de ocupacin espacial diseada para considerar los exigentes requisitos de
almacenamiento del mtodo. Los rboles de octantes se derivan de los rboles de
cuadrante (quadtrees), un formato de representacin bidimensional que se utiliza para
codificar imgenes.
La idea que sustenta los rboles de cuadrantes y de octantes es el poder "divide y
vencers" de la subdivisin binaria. Un rbol de cuadrantes se forma dividiendo
sucesivamente un plano bidimensional en ambas direcciones para formar cuadrantes, como
se ilustra en la figura 3.29.
(a)
(b)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
P
0
3
2
F F E E
F E F E
F E F F
F F
F E F E
F E F F
F F F E
Si relajamos los criterios para clasificar un nodo como homogneo, de manera que los
nodos que se encuentren encima o debajo de cierto lmite se puedan clasificar como llenos
o vacos, la representacin ser ms compacta, aunque menos precisa. El rbol de octantes
es similar al de cuadrantes, excepto que en sus tres dimensiones se subdivide para obtener
octantes, como se ilustra en la figura 3.31.
Graficacin
163
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
2
2
6
6
6
6
3
7
7
5
4
5
7
5
3 3
1
1
Los cuadrantes generalmente se indican con los nmeros 0 a 3 y los octantes con los
nmeros 0 a 7. Como no se ha desarrollado ningn mecanismo estndar para la numeracin,
tambin se emplean nombres mnemnicos. Los cuadrantes se nombran de acuerdo con su
direccin de brjula respecto al centro de su padre: NO, NE, SO y SE ( o NW, NE, SW y SE,
en ingls.
Los octantes se nombran e forma similar, distinguiendo entre la izquierda (L) y la
derecha (R), arriba (U) y abajo (D), y anterior (F) y posterior (B): LUF, LUB, LDF, LDB, RUF,
RUB, RDF y RDB.
Con excepcin de los peores casos, se puede demostrar que el nmero de nodos en
una representacin de rbol de cuadrantes u octantes es proporcional al permetro o a la
superficie del objeto, respectivamente. Esta relacin existe porque la subdivisin de nodos
surge exclusivamente por la necesidad de representar la frontera del objeto que se codifica.
Los nicos nodos internos que se dividen, so aquellos por los cuales pasa una parte de la
frontera, Por ende, cualquier operacin con una de estas estructuras de datos que sea lineal
en el nmero de nodos que contiene tambin se ejecuta en un tiempo proporcional al
tamao del permetro o rea.
Graficacin
164
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Graficacin
165
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
P
E E F E
E F E E
(c)
F E F F
E E F F
(d)
P
E E F E
E E F F
T. (d) S
T. (F =
Deteccin de vecinos
Una operacin importante en los rboles de cuadrantes y octantes es detectar el
vecino de un nodo, es decir, hallar un nodo que se adyacente al original (que comparta una
Graficacin
166
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
cara, una arista o un vrtice) y cuyo tamao sea igual o mayor. Un nodo de rbol de
cuadrantes tiene vecinos en ocho direcciones posibles. Sus vecinos en N, S, E y O lo son
sobre un arista comn, mientras que sus vecinos en No, Ne, So y Se lo son con respecto a
un vrtice comn. Un nodo de rbol de octantes tiene vecinos en 26 direcciones posibles: 6
vecinos sobre una cara, 12 sobre una arista y 8 sobre un vrtice.
Graficacin
167
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
espacios aparecen en gris oscuro, con las normales apuntando hacia afuera. El rbol BSP
correspondiente se muestra en la figura 3.33(b).
a
b
c
b d
i
c
g
d
k
k
g
fuera f
fuera
dentro fuera
fuera
dentro i
(a)
dentro fuera
(b)
En dos dimensiones, las regiones dentro y fuera forman un teselado poligonal convexo
del plano; en tres dimensiones, estas regiones forman un teselado polidrico convexo del
espacio tridimensional. Por lo tanto un rbol BSP puede representar un slido cncavo
arbitrario con agujeros como la unin de regiones dentro convexas.
Considere la tarea de determinar su un punto est dentro, fuera o sobre un slido, un
problema conocido como clasificacin de puntos. Se puede usar un rbol BSP para clasificar
un punto, filtrando el punto por el rbol a partir de la raz. En cada nodo se sustituye el
punto en la ecuacin del plano del nodo y se pasa recursivamente al hijo de la derecha si
est enfrente (fuera) del plano. Si el nodo es una hoja, el punto est indicado por el valor de
la hoja, ya sea como dentro o fuera. Si el punto se halla en el plano de un nodo, se pasa a
ambos hijos y se comparan las clasificaciones. De ser iguales, el punto recibe ese valor;
cuando son diferentes, el punto se ubica en la frontera entre las regiones fuera y dentro y
se clasifica como sobre.
Este mtodo se puede extender a la clasificacin de lneas y polgonos. Sin embargo, a
diferencia de los puntos, una lnea o un polgono puede estar parcialmente en ambos lados
de plano. Por consiguiente, en cada nodo cuyo plano interseca la lnea o el polgono, hay que
dividir (recortar ) la lnea o el polgono y obtener partes que estn enfrente, detrs o sobre
el plano, para luego clasificar las partes por separado.
Graficacin
168
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Aunque los rboles BSP constituyen una forma de representacin sencilla y elegante,
los polgonos se subdividen conforme se construye el rbol y al efectuar las operaciones de
conjuntos booleanos, por lo cual la notacin quizs no sea tan compacta como otras
representaciones. Sin embargo, si se aprovecha la inherente independencia de la dimensin
del rbol BSP, es posible desarrollar un lgebra booleana cerrada para rboles BSP
tridimensionales que se base recursivamente en las representaciones de polgonos como
rboles bidimensionales, aristas como rboles unidimensionales y puntos como rboles de
cero dimensiones.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Para determinar las propiedades fsicas o para crear imgenes, debemos ser capaces
de combinar las propiedades de las hojas para obtener las propiedades de la raz. La
estrategia general del procesamiento es recorrido por profundidades a lo largo del rbol
para combinar los nodos a partir de la hoja.
La complejidad de esta tara depende de la representacin de los objetos y hoja y de si
debe producirse realmente una representacin completa del objeto compuesto en la raz del
rbol. Por ejemplo, los algoritmos de operaciones de conjuntos booleanos para la
representacin de fronteras analizados previamente, combinan las representaciones de
fronteras de dos nodos para crear una tercera representacin de frontera y son difciles de
implantar. El algoritmo CSG es mucho ms sencillo y produce una imagen procesando las
representaciones de las hojas sin combinarlas de manera explcita.
En algunas implantaciones, las primitivas son slidos simples, como cubos o esferas,
ara asegurar que todas las combinaciones regularizadas tambin sean slidos vlidos. En
otros sistemas, las primitivas incluyen medios espacios que en s no son slidos acotados.
Por ejemplo, un cubo se puede definir como la interseccin de seis medios espacios, o un
cilindro finito como un cilindro infinito cerrado en las partes superior e inferior por un medio
espacio plano.
La utilizacin de medios espacios introduce un problema de validez ya que no todas las
combinaciones producen slidos. Sin embargo, los medios espacios son tiles para
operaciones como el rebanado de un objeto por un plano, operacin que de otra manera se
llevara a cabo usando la cara de otro objeto slido. Si no se emplean medios planos surge la
necesidad de tiempo de procesamiento adicional, ya que las operaciones regularizadas de
conjuntos booleanos deben realizarse con el objeto completo durante la divisin, incluso si
slo hay que cortar una cara.
Podemos considerar la descomposicin en celdas y la numeracin de ocupacin
espacial como casos especiales de la CSG en los cuales el nico operador es el operador
implcito de pegado: la unin de dos objetos que se pueden tocar pero que deben tener
interiores disjuntos (es decir, los objetos deben tener una interseccin booleana
regularizada nula).
La CSG no ofrece una representacin nica. Esta caracterstica puede ser muy confusa
en un sistema que permite al usuario manipular los objetos hoja con operaciones de ajuste
Graficacin
170
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
fino. Al aplicar la misma operacin a dos objetos que son inicialmente iguales se pueden
generar resultados diferentes, como se muestra en la figura 3.35. No obstante, la capacidad
de editar modelos a travs de la eliminacin, adicin, reemplazo y modificacin de
subrboles, aunada a la forma relativamente compacta de almacenamiento de los modelos,
han hecho de CSG una de las formas predominantes para el modelado de slidos.
(b) A * B
(a)
(d)
(c) A * B
(e)
3.2.Proyecciones
En trminos generales, las proyecciones transforman puntos en un sistema de
coordenadas de dimensin n a puntos en un sistema de coordenadas con dimensin menor
que n. De hecho, durante mucho tiempo se ha usado la graficacin por computador para
estudiar objetos n-dimensionales por medio de su proyeccin sobre dos dimensiones. Aqu
nos limitaremos a la proyeccin de tres dimensiones a dos.
La proyeccin de objetos tridimensionales es definida por rayos de proyeccin rectos,
llamados proyectores, que emanan de un centro de proyeccin, pasan por cada punto del
objeto e intersecan un plano de proyeccin para formar la proyeccin. Por lo general, el
centro de proyeccin se encuentra a una distancia finita del plano de proyeccin. Sin
Graficacin
171
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Proyectores
A'
Proyectores
A'
B
B'
Centro de !
proyeccin
Plano de !
proyeccin
B
B'
Centro de!
proyeccin !
en el infinito
(a)
Plano de!
proyeccin
(b)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Por lo tanto, las direcciones y los puntos en el infinito tienen una correspondencia
natural. En el lmite, una proyeccin de perspectiva cuyo centro de proyeccin tienda a un
punto en el infinito se convierte en una proyeccin paralela,
El efecto visual de una proyeccin de perspectiva es similar al de los sistemas
fotogrficos y al del sistema visual humano y se conoce como reduccin frontal de
perspectiva. El tamao de la proyeccin de perspectiva de un objeto vara inversamente con
la distancia entre el objeto y el centro de proyeccin.
Por lo tanto, aunque la proyeccin de perspectiva de los objetos tiende a parecer
realista, no es muy til para registrar la forma y las medidas exactas de los objetos; no se
pueden tomar las distancias de la proyeccin, los ngulos slo se conservan en las caras de
los objetos paralelos al plano de proyeccin y por lo general las lneas paralelas no se
proyectan como tales.
La proyeccin paralela es una vista menos realista porque no existe la reduccin
frontal de perspectiva, aunque pueden existir diversas reducciones frontales constantes
sobre cada eje. La proyeccin se puede usar para mediciones exactas, y las lneas paralelas
permanecen como tales. Como sucede en la proyeccin de perspectiva, los ngulos
nicamente se conservan en las caras de los objetos paralelos al plano de proyeccin.
Proyeccin de perspectiva
Las proyecciones de perspectiva de cualquier conjunto de lneas paralelas que no sean
paralelas al plano de conversin convergen en un punto de fuga. En el espacio
tridimensional, las lneas paralelas slo se unen en el infinito, de manera que el punto de
fuga se puede considerar como la proyeccin de un punto en el infinito.
Por supuesto, hay una infinidad de puntos de fuga, uno para cada una de la infinidad
de direcciones en que puede orientarse una lnea.
Si el conjunto de lneas es paralelo a uno de lo, tres ejes principales, el punto de fuga
se conoce como punto de fuga de eje. A lo sumo hay tres de estos puntos,
correspondientes al nmero de ejes principales cortados por el plano de proyeccin. Por
ejemplo, si el plano de proyeccin slo corta el eje z (y por consiguiente es normal a l),
Graficacin
173
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
slo el eje z tendr un punto de fuga principal, ya que las lneas paralelas a los ejes y o x
tambin sern paralelas al plano de proyeccin y no tendrn puntos de fuga.
Las proyecciones de perspectiva se clasifican de acuerdo con el nmero de puntos de
fuga principales y por ende con respecto al nmero de ejes que corta el plano de
proyeccin. En la figura 3.37 se muestran dos proyecciones de perspectiva de un punto
para un cubo. Es obvio que hay ms proyecciones de un punto, ya que las lneas paralelas a
los ejes x y y no convergen; esto slo ocurre con las lneas paralelas al eje z.
Punto de fuga !
del eje z
Punto de fuga !
del eje z
x
z
Plano de!
proyeccin
Centro de!
proyeccin
Normal al!
plano de !
proyeccin
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
z
Plano de proyeccin
Centro de proyeccin
Fig. 3.39.Proyeccin de perspectiva de dos puntos en un cubo. El
plano de proyeccin corta los ejes x y z.
Proyecciones paralelas
Las proyecciones paralelas se clasifican en dos tipos, dependiendo de la relacin entre
la direccin de la proyeccin y la normal al plano de proyeccin. En las proyecciones
paralelas ortogrficas, estas direcciones son las mismas (o en sentido contrario): de manera
que la direccin de la proyeccin es normal al plano de proyeccin. Esto no ocurre en la
proyeccin paralela oblicua.
Graficacin
175
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Proyectores para!
la vista frontal
Plano de !
proyeccin!
(vista lateral)
Plano de !
proyeccin!
(vista frontal)
Fig. 3.40.Construccin de tres proyecciones ortogrficas.
Sin embargo, cada proyeccin slo muestra una. cara del objeto, de manera que puede
ser difcil deducir la naturaleza tridimensional del objeto proyectado, incluso si se estudian
simultneamente varias proyecciones del mismo objeto.
Las proyecciones ortogrficas axonomtricas usan planos de proyeccin que no son
normales a un eje principal y que por ende muestran varias caras de un objeto al mismo
tiempo. En este aspecto se parecen a la proyeccin de perspectiva, pero difieren en lo
referente al recorte frontal, que es uniforme y no relacionado con la distancia al centro de
proyeccin.
Graficacin
176
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Se conserva paralelismo de las lneas, pero no los ngulos, y las distancias se pueden
medir sobre cualquiera de los ejes principales (por lo general, con factores de escalamiento
diferentes).
Las proyecciones oblicuas, la segunda clase de proyecciones paralelas, difieren de las
proyecciones ortogrficas en que Ia normal al plano de proyeccin y la direccin de la
proyeccin son diferentes. Las proyecciones oblicuas combinan las propiedades de las
proyecciones
ortogrficas
frontal,
superior
lateral
con
las
de
una
proyeccin
Proyector
Normal al plano!
de proyeccin
Fig. 3.41.Construccin de una proyeccin oblicua.
En la figura 3.42 se muestran las relaciones lgicas entre los diversos tipos de
proyecciones. El lazo comn de todas las proyecciones es que comprenden un plano de
proyeccin y un centro de proyeccin para las proyecciones de perspectiva o una direccin
de proyeccin para las proyecciones paralelas.
Graficacin
177
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Proyecciones geomtricas
planas
Paralela
Ortogrfica
De perspectiva
Oblicua de un punto
Superior
(planta)
Gabinete
Elevacin
frontal
Elevacin
lateral
Axonomtrica
De dos puntos
Caballero
Isomtrica
De tres puntos
Otras
Otras
Proyeccin isomtrica
La proyeccin isomtrica es una proyeccin axonomtrica de uso comn. La normal al
plano de proyeccin (y por consiguiente la direccin de la proyeccin) forma ngulos iguales
con respecto a cada eje principal.
Graficacin
178
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Si la normal al plano de proyecciones es (dx, dy, dz), requerimos que |dx| = |dy| = |dz| o
dx = dy dz. Slo hay ocho direcciones (una en cada octante) que satisfacen esta
condicin. En la figura 6.8 se muestra la construccin de tina proyeccin isomtrica a lo
largo de una de estas direcciones, (1, -1, -1),
Plano de!
proyeccin
y
Proyector
Normal al!
plano de !
proyeccin
z
Fig. 3.43.Construccin de una proyeccin isomtrica de un cubo.
La proyeccin isomtrica tiene una til propiedad: los tres ejes principales tienen la
misma reduccin frontal, lo que permite que las mediciones sobre los ejes se realicen con la
misma escala ( de aqu proviene el nombre: iso, que quiere decir igual y mtrico de
medicin). Adems, las proyecciones de los ejes principales forman ngulos iguales de 120
entre s.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
acerca de la forma de las superficies traseras de un objeto. Estos mtodos de lnea visible
tambin identifican alas superficies visibles de los objetos.
(a)
(b)
(c)
objetos como
conjuntos de
Graficacin
180
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
representacin
de
polgono
para
un
poliedro
define
con
precisin
las
caractersticas de superficie del objeto. Pero para otros objetos, las superficies se teselan
(o tejan) para producir la aproximacin del enlace polgonos. En la figura 3.45, la superficie
de un cilindro se representa como un enlace de polgonos. Tales representaciones son
comunes en las aplicaciones de diseo y modelado de slidos, ya que el contorno de
armazn se puede desplegar con rapidez para dar una indicacin general de la estructura de
la superficie.
Tablas de polgono
Especificamos una superficie de polgono con un conjunto de coordenadas de vrtice y
parmetros de atributos asociados. Conforme se da entrada a la informacin para cada
polgono, los datos se colocan en tablas que se van a utilizar en el subsecuente
procesamiento, despliegue y manipulacin de objetos en una escena.
Graficacin
181
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
E6
E1
E3
S1
S2
V5
V3
V2
E2
E5
E4
V4
Graficacin
182
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
TABLA DE
TABLA DE ARISTAS
TABLA DE SUPERFICIE DE
VRTICES
POLGONOS
E1: V1, V2
E2: V2, V3
E3: V3, V1
E4: V3, V4
E5: V4, V5
E6: V5, V1
Graficacin
183
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
forma similar, la tabla de vrtices se podra- expandir de manera que se haga una referencia
cruzada de los vrtices con las aristas correspondientes.
E1: V1, V2, S1
E2: V2, V3, S1
E3: V3, V1, S1, S2
E4: V3, V4, S2
E5: V4, V5, S2
E6: V5, V1, S2
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
cada vrtice se lista como un extremo para dos aristas por lo menos, (2) que cada arista es
parte de un polgono por lo menos, (3) que cada polgono est cerrado, (4) que cada
polgono tiene por lo menos una arista compartida y (5) que si la tabla de aristas contiene
indicadores para los polgonos cada arista a la que se hace referencia mediante un indicador
de polgono tiene un indicador recproco hacia el polgono.
Ecuaciones de plano
Para producir un despliegue de un objeto tridimensional, debemos procesar la
representacin de los datos de entrada para el objeto a travs de varios procedimientos.
Estos pasos del procesamiento incluyen la transformacin de las descripciones de modelado
y de coordenadas mundiales a coordenadas de vista, despus a coordenadas de dispositivo;
la identificacin de las superficies visibles; y la aplicacin de los procedimientos de
representacin de superficie. Para algunos de estos procesos, necesitamos la informacin
acerca de la orientacin espacial de los componentes individuales de superficie del objeto.
Esta informacin se obtiene de los valores de las coordenadas de los vrtices y las
ecuaciones que describen los planos de los polgonos.
3.27.
Ax + By + Cz + D = 0
La ecuacin para una superficie de plano se puede expresar en la forma donde (x, y, z)
es cualquier punto en el plano y los coeficientes A, B, C y D son constantes que describen
las propiedades espaciales del plano. Podemos obtener los valores de A, B, C y D al resolver
un conjunto de tres ecuaciones de plano al utilizar los valores de las coordenadas para tres
puntos no colineales en el plano. Para este propsito podemos seleccionar tres vrtices
sucesivos de polgono (x1, y1, z1), (x2, y2, z2) y (x3, y3, z3) y resolver el siguiente conjunto de
ecuaciones lineales del plano simultneas para las relaciones A/D, B/D y C/D:
3.28.
Graficacin
185
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
1 y1
A = 1 y2
1 y3
3.29.
z1
z2
z3
x1 1 z1
B = x 2 1 z2
x 3 1 z3
x1
C = x2
y1 1
y2 1
x1
D = x2
y1
y2
z1
z2
x3
y3 1
x3
y3
z3
Al ampliar los determinantes, podemos escribirlos clculos para los coeficientes del
plano en la forma
3.30.
Graficacin
186
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
X
1
Para determinar los componentes del vector normal para la superficie sombreada que
se muestra en la figura anterior, seleccionamos tres de los cuatro vrtices a lo largo de la
frontera del polgono. Estos puntos se seleccionan en direccin opuesta a las manecillas del
reloj al ver desde afuera el cubo hacia el origen. Las coordenadas para estos vrtices en el
orden seleccionado, se pueden utilizar en las ecuaciones 3.30 para obtener los coeficientes
del plano: A = 1, B =O, C = O, D = -1. De esta forma, el vector normal para este plano est
en la direccin del eje positivo de x.
Los elementos de la normal del plano tambin se pueden obtener al utilizar un clculo
vectorial de producto cruz. Una vez ms seleccionamos tres posiciones de vrtice VI, V2 y
V3, que se toman en orden opuesto a la direccin de las manecillas del reloj cuando se ve la
superficie de afuera hacia adentro en un sistema cartesiano del lado derecho. Al formar dos
vectores, uno de V1 a V2 y el otro de V1, a V3, calculamos N como el producto cruz de los
vectores:
3.31.
N = (v2 v1 ) (v3 v1 )
Graficacin
187
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Esto genera valores para los parmetros de plano A, B y C. De esta manera podemos
obtener el valor para el parmetro D al sustituir estos valores y las coordenadas para uno de
los vrtices del polgono en la ecuacin del plano 3.21 y despejar D. La ecuacin del plano
se puede expresar en la forma vectorial utilizando la normal N y la posicin P de cualquier
punto en el plano como
3.32.
NP = D
Las ecuaciones del plano se utilizan tambin para identificar la posicin de los puntos
espaciales con respecto de las superficies planas de un objeto. Para cualquier punto (x, y, z)
que no se encuentra en un plano con parmetro A, B, C, D, tenemos
Ax + By + Cz + D 0
Podemos identificar el punto como adentro o afuera de la superficie del plano de
acuerdo con el signo (negativo o positivo) de Ax + By + Cz + D:
si Ax + By + Cz + D < O, el punto (x, y, z) est adentro de la superficie
si Ax + By + Cz + D > O, el punto (x, y, z) est afuera de la superficie
Estas pruebas de desigualdad son vlidas en un sistema cartesiano del lado derecho,
siempre y cuando los parmetros del plano A, B, C y D se calculen utilizando los vrtices
seleccionados en un orden contrario al sentido de las manecillas del reloj cuando se ve la
superficie en una direccin de afuera hacia adentro. Por ejemplo, en la figura 3.48,cualquier
punto afuera del plano sombreado satisface la desigualdad x - 1 > O, en tanto que cualquier
punto adentro del plano tiene un valor de coordenada de x menor que 1,
Enlaces de polgono
Algunos paquetes de grficos proporcionan varias funciones de polgonos para el
modelado de objetos. Una superficie de plano sencilla se puede especificar con una funcin
como fillArea. Pero cuando las superficies de los objetos se deben tejer, es ms conveniente
especificar las facetas de la superficie con una funcin de enlace. Un tipo de enlace de
Graficacin
188
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Otra funcin similar es el enlace cuadriteral que genera un enlace de (n -1) por (m -1)
cuadrilaterales, dadas las coordenadas para una matriz, de vrtices de n por m. La figura
3.50 muestra 20 vrtices que forman un enlace de 12 cuadrilteros.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Cuando los polgono se especifican con ms de tres vrtices, es posible que no todos
los vrtices caigan en un plano. Esto se puede deber a errores numricos o a errores al
seleccionar las posiciones de las coordenadas para los vrtices. Una manera de controlar
esta situacin es simplemente dividir los polgono en tringulos. Otra estrategia que en
ocasiones se sigue es aproximar los parmetros de los planos A, B y C. Podemos realizar
esta operacin al promediar los mtodos o podemos proyectar el polgono en los planos de
las coordenadas. Al utilizar el mtodo de la proyeccin, tomamos A proporcional al rea de
la proyeccin del polgono en el plano de yz, B proporcional al rea de proyeccin en el
plano de xz y C proporcional al rea de proyeccin en el plano xy.
Los sistemas de graficacin de alta calidad por lo general modelan objetos con enlaces
de polgono y establecen una base de datos de informacin geomtrica y de atributos para
facilitar el procesamiento de las facetas del polgono. Los sistemas de presentacin de
polgonos implementados con hardware rpido se incorporan en esos sistemas con la
capacidad de desplegar desde cientos de miles hasta un milln o ms de polgonos
sombreados por segundo(por lo general tringulos), incluyendo la aplicacin de la textura de
superficies y los efectos especiales de iluminacin.
Graficacin
190
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Esfera
En las coordenadas cartesianas, una superficie esfrica con radio r que se centra en el
origen de las coordenadas se define como el conjunto de puntos (x, y, z) que satisfacen la
ecuacin
3.33.
x 2 + y2 + z 2 = r 2
Graficacin
191
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
eje de las z
P = (x, y, z)
r
"
eje de las y
!
eje de las x
Fig. 3.51.Posicin de las coordenadas paramtricas (r, , ) sobre
la superficie de una esfera con radio r.
2
2
y = r cos sin ,
z = r sin
x = r cos cos ,
3.34.
Graficacin
192
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
eje de las z
P
!
eje de las y
eje de las x
Fig. 3.52.Parmetros de coordenadas esfricas (r, , ), al utilizar
la colatitud para el ngulo .
Elipsoide
Una superficie elipsoide se puede describir como una extensin de una superficie
esfrica donde los radios en tres direcciones mutuamente perpendiculares pueden tener
diferentes valores (figura 3.53). La representacin cartesiana para los puntos sobre la
superficie de un elipsoide que se centra en el origen es
Z
rz
rx
ry
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.35.
x y z
r + r + r = 1
y
x
z
2
2
2
y = ry cos sin ,
x = rx cos cos ,
3.36.
z = rz sin
Toro
Un toro es un objeto en forma de dona, como se ilustra en la figura 3.37. Se puede
generar al girar una circunferencia u otro cnico alrededor de un eje especfico. La
representacin cartesiana para los puntos sobre la superficie de un toro se pueden expresar
en la forma
2
3.37.
2
2
2
y z
x
r
r + r + r = 1
y
x
z
,podemos describir la superficie del toro como el conjunto de puntos que satisfacen
2
2
y = ry (r + cos )sin ,
x = rx (r + cos )cos ,
3.38.
z = rz sin
Graficacin
194
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
eje de las z
rz
(x, y, z)
"
plano xy
rx = r y
0
eje de las y
!
(x, y, z)
eje de las x
Representaciones de Spline
En la terminologa del dibujo mecnico una spline es una banda flexible que se utiliza
para producir una curva suave a travs de un conjunto de puntos designados. Varios pesos
pequeos se distribuyen a lo largo de la banda para mantenerla en posicin sobre la mesa
de dibujo mientras se traza la curva. El trmino curva de spline al principio se refera a una
curva que se traza de esta manera. Podemos describir esa curva en forma matemtica con
una funcin cbica polinmica cuyas primera y segunda derivadas son continuas a travs de
las distintas secciones de la curva.
En las grficas por computadora, el trmino curva de spline ahora se refiere a cualquier
curva compuesta que se forma con secciones polinmicas que satisfacen condiciones
especficas de continuidad en la frontera de las piezas. Una superficie de spline se puede
Graficacin
195
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
describir con dos conjuntos de curvas ortogonales de spline. Existen varias clases de
especificaciones de spline que se utilizan en las aplicaciones grficas. Cada especificacin
individual se refiere slo a un tipo particular de polinomio con ciertas condiciones especficas
de frontera.
Las splines se utilizan en las aplicaciones grficas para diseo formas curvas y de
superficie, para digitalizar trazos para el almacenamiento en la computadora y especificar
trayectorias de animacin para los objetos o la cmara en una escena. Las aplicaciones de
CAD tpicas para las splines incluyen el diseo de carrocera de automviles, superficies de
aeronaves y naves espaciales, as como cascos de embarcaciones.
Cuando las secciones polinmicas se ajustan de modo que la curva pasa a travs de
cada punto de control, como en la figura 3.55, se dice que la curva que resulta realiza la
interpolacin del conjunto de puntos de control. Por otra parte, cuando los polinomios se
ajustan a la trayectoria general del punto de control sin pasar necesariamente a travs de
ningn punto de control,se dice que la curva que resulta se aproxima al conjunto de puntos
de control (figura 3.56).
Graficacin
196
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Graficacin
197
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
p
Los cascos convexos proporcionan una medida para la desviacin de una curva o
superficie desde la regin que limita los puntos de control. Algunas splines estn limitadas
por el casco convexo, que asegura que los polinomios sigan con suavidad los puntos de
control sin oscilaciones errticas. Tambin la regin de polgono adentro del casco convexo
es til en algunos algoritmos como una regin de recorte.
Por lo general, una polilnea que conecta la secuencia de puntos de control para una
spline de aproximacin se despliega para recordar a un diseador el orden de los puntos de
Graficacin
198
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
p
Otros nombres para la serie de secciones de la lnea recta que conectan los puntos de
control en el orden especfico son polgono de control y polgono caracterstico. La figura
3.58 ilustra la forma de la grfica de control para las secuencias del punto de control en la
figura 3.57.
Graficacin
199
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.39.
x = x(u),
y = y(u),
z = z(u)
u1 u u2
Graficacin
200
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(a)
(b)
(c)
Graficacin
201
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Graficacin
202
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
C2
P0
C1
(a)
P0
(b)
C1
P2
P1
C2
P1
P2
Fig. 3.60.Tres puntos de control que se ajustan con dos secciones curvas
unidas con (a) continuidad paramtrica y (b) continuidad geomtrica
donde el vector tangente de la curva C3 en el punto P1 tiene una
magnitud mayor que el vector tangente de la curva C1 en P1.
Una curva que se genera con condiciones de continuidad geomtrica es similar a una
que se genera con continuidad paramtrica pero con leves diferencias en la forma de la
curva. La figura 3.60 ilustra una comparacin de continuidad geomtrica y paramtrica. Con
la continuidad geomtrica la curva se jala hacia la seccin que tiene el vector de tangente
ms alto.
Especificaciones de spline
Existen tres mtodos equivalentes para especificar una representacin de spline
particular: (1) podemos establecer el conjunto de condiciones de frontera que se imponen
en la spline; (2) podemos establecer la matriz que caracteriza la spline; o (3) podemos
establecer el conjunto de funciones de combinacin (o funciones base) que determinan la
manera en que se combinan las restricciones geomtricas en la curva para calcular
posiciones a lo largo de la trayectoria de la curva.
A fin de ilustrar estas tres especificaciones equivalentes, suponga que tenemos la
siguiente representacin polinmica cbica paramtrica para la coordenada de x a lo largo
de la trayectoria de una seccin de la spline:
Graficacin
203
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.40.
x(u) = ax u 3 + bx u 2 + cx u + d x ,
0 u 1
Por ejemplo, se podr establecer las condiciones de frontera para esta curva, en las
coordenadas de extremo x(0) y x(1) y en las primeras derivadas paramtricas en los
extremos x(0) y x(1). Estas cuatro condiciones de frontera son suficientes para determinar
los valores para los cuatro coeficientes ax, bx. cx y dx.
A partir de las condiciones de frontera, obtenemos la matriz que caracteriza esta
curva de spline al volver a expresar de nuevo la ecuacin 3.40 como el producto matricial
3.41.
ax
b
x
3 2
x(u) = u u u = UC
cx
dx
3.42.
C = M spline iM geom
donde Mgeom es una matriz de columnas de cuatro elementos que contiene los valores
de restriccin geomtrica (condiciones de frontera) en la spline y Mspline es la matriz de 4
por 4 que transforma los valores de restriccin geomtrica a los coeficientes polinmicos y
ofrece una caracterizacin para la curva de spline.
La matriz Mgeom contiene los valores de coordenadas del punto de control y otras
restricciones geomtricas que se han especificado. Por tanto, podemos sustituir la
representacin de matriz para C en la ecuacin 3.42 para obtener
3.43.
Graficacin
204
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.44.
donde gk son los parmetros de restriccin como las coordenadas del punto de control
y la pendiente de la curva en los puntos de control, y BFk(u) son las funciones de
combinacin polinmica. En las secciones siguientes, analizamos algunas splines que se
utilizan en forma comn as como su matriz y especificaciones de funciones de combinacin.
Curvas de Bzier
En general, es posible ajustar una curva de Bzier para cualquier nmero de puntos de
control. El nmero de puntos de control que se debe aproximar y su posicin relativa
determinan el grado del polinomio de Bzier. Del mismo modo que con las splines de
interpolacin se puede especificar una curva de Bzier con condiciones de frontera con una
matriz caracterstica o con funciones de combinacin.
Graficacin
205
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
(0 u 1)
3.45.
Las funciones de combinacin de Bzier BEZk,n (u) son los polinomios de Bernstein:
3.46.
C(n, k) =
3.47.
n!
k!( n k )!
n k 1
3.48.
k
Graficacin
206
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.49.
Como una regla, una curva de Bzier es un polinomio de grado uno menos el nmero
de puntos de control que se utilizan: tres puntos generan una parbola, cuatro puntos una
curva cbica y as en forma sucesiva. La figura 3.61 demuestra la apariencia de algunas
curvas de Bzier para varias selecciones de puntos de control en el plano xy(z = 0). Sin
embargo, con ciertas posiciones de los puntos de control obtenemos polinomios de Bzier
degenerados. Por ejemplo, una curva de Bezier que se genera con tres puntos de control
colineales es un segmento de lnea recta. Y un conjunto de puntos de control que se
encuentran en su totalidad en la misma posicin de coordenadas produce una curva de
Bzier que es un solo punto.
Graficacin
207
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
p0
p0
(a)
(b)
(c)
(d)
p0
(e)
Graficacin
208
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
clculos recursivos. Por ejemplo, los coeficientes del binomio sucesivos se pueden calcular
como
3.50.
C(n, k) =
n k +1
C(n, k 1)
k
paran nk.
P(0) = p0
P(1) = pn
3.51.
Los valores de las primeras derivadas paramtricas de una curva de Bzier los
extremos se pueden calcular a partir de las coordenadas del punto de control como
3.52.
Por tanto, la pendiente en el principio de la curva es a lo largo de la lnea que une los
dos ltimos extremos. De modo similar, las segundas derivadas paramtrica de una curva de
Bzier en los extremos se calculan como
P ''(0) = n(n 1) ( p2 p1 ) ( p1 + p0 )
3.53.
P ''(1) = n(n 1) ( pn 2 pn 1 ) ( pn 1 + pn )
Otra propiedad importante de cualquier curva de Bzier es que cae adentro del casco
convexo (frontera de polgono convexo) de los puntos de control. Esto se desprende de las
propiedades de las funciones de combinacin de Bzier: todas son positivas y su suma
siempre es 1,
Graficacin
209
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
P(0) = p0
P(1) = pn
3.54.
p=p
0
Graficacin
210
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
p=p
1
Fig. 3.63.Se puede lograr que una curva de Bzier pase ms cerca
de una posicin de coordenadas determinada al asignar
mltiples puntos de control a esa posicin.
En la figura 3.63 se da entrada a una sola posicin de coordenadas como dos puntos
de control y se jala la curva resultante ms cerca de esta posicin.
Podemos ajustar una curva de Bzier para cualquier nmero de puntos de control, pero
esta operacin requiere el clculo de funciones polinmicas de grado superior. Cuando se
deben generar curvas complicadas, se pueden formar al unir varias secciones de Bzier de
grado inferior. Unir secciones ms pequeas tambin nos ofrece un mejor control sobre la
forma de la curva en regiones pequeas.
Dado que las curvas de Bzier pasan a travs de los extremos, es fcil
comparar
secciones curvas (continuidad de orden cero). Asimismo, las curvas de Bzier presentan la
propiedad importante de que la tangente para la curva en el extremo est a lo largo de la
lnea que une ese extremo al punto de control adyacente. Por tanto, a fin de obtener una
continuidad de primer orden entre secciones curvas, podemos elegir que los puntos de
control p0 y p1
de una seccin nueva est a lo largo de la misma lnea recta que los
Graficacin
211
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
p'0
p'
p'
p'
Cuando las dos secciones curvas tienen el mismo nmero de puntos de control,
1
pn + ( pn pn 1 )
As los tres puntos de control son colineales y tienen el mismo espaciado.
2
Obtenemos una continuidad C entre dos secciones de Bzier al calcular la posicin del
tercer punto de control en una seccin nueva en trminos de las posiciones de los tres
ltimos puntos de control de la seccin anterior como
pn 2 + 4( pn pn 1 )
Requerir una continuidad de segundo orden entre dos secciones curvas de Bzier
puede ser una restriccin innecesaria. Esto es cierto, en especial, con curvas cbicas que
slo tienen cuatro puntos de control por seccin. En este caso, la continuidad de segundo
orden fija la posicin de los tres primeros puntos de control y nos deja slo un punto que
podemos utilizar para ajustar la forma del segmento de curva.
Graficacin
212
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
BEZ 3, 3 (u) = u 3
En la figura 3.65 se ilustran los trazos de las cuatro funciones cbicas de combinacin
de Bzier. La forma de las funciones de combinacin determina la manera en que los puntos
de control influyen sobre la forma de la curva para los valores del parmetro u en el rango
de 0 a 1.En u =O, la nica funcin de combinacin no cero es BEZ0,3 que tiene el valor 1. En
u = 1, la nica funcin no cero es BEZ3,3 con un valor de 1 en ese punto. De esta manera
la curva cbica de Bzier siempre pasar a travs de los puntos de control p1, y p2.
Las otras funciones, BEZ1,3 y BEZ2,3 influyen en la forma de la curva en valores
intermedios del parmetro u, de modo que la curva resultante se inclina hacia los puntos p1,
y p2. La funcin de combinacin BEZ1,3 es el mximo en u = 1/3 y BEZ2,3 es el mximo en u
= 2/3.
Graficacin
213
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
BEZ0,3(u)
BEZ1,3(u)
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.2
0.4
0.6
0.8
0.2
0.4
(a)
0.8
0.6
0.8
(b)
BEZ2,3(u)
BEZ3,3(u)
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.6
0.2
0.4
0.6
0.8
0.2
0.4
(d)
(c)
Ntese en la figura 3.65, que cada una de las cuatro funciones de combinacin es no
cero en el rango entero del parmetro u. Por tanto, las curvas de Bzier no permiten un
control local de la forma de la curva. Si decidimos cambiar la posicin de cualquiera de los
puntos de control, se afectar la curva completa.
En las posiciones finales de la curva cbica de Bezier, las primeras derivadas
paramtrica (pendientes) son
P '(0) = 3( p1 2 p0 ),
P '(1) = (3p3 p2 )
Y las segundas derivadas paramtricas son
pn 2 + 4( pn pn 1 )
Graficacin
214
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
p0
p
1
3 2
M BEZ
1 3 3 1
3 6 3 0
=
3 3 0 0
1 0 0 0
Superficies de Bzier
Se pueden utilizar dos conjuntos de curvas de Bzier ortogonales para disear la
superficie de un objeto al especificar un entrelazado de entrada de los puntos de control. La
funcin del vector paramtrico para la superficie de Bzier se forma como el producto
cartesiano de las funciones de combinacin de Bzier :
m
Graficacin
215
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
u fija en uno de los valores en su intervalo de unidad. Las curvas de la constante v se trazan
en forma similar.
(a)
(b)
Fig. 3.66.Las superficies de Bzier que se construyen para la
parte (a) m = 3, n = 3 y en la parte (b) m = 4. Los puntos de
control se conectan con lneas de rayas.
Las superficies de Bzier tienen las mismas propiedades que las curvas de Bzier y
proporcionan un mtodo conveniente para las aplicaciones de diseo interactivo. Para cada
parche de superficie, podemos seleccionar un entrelazado de puntos de control en el plano
de terreno xy, as elegimos elevaciones sobre el plano de terreno para los valores de las
coordenadas z de los puntos de control. De esta manera los parches se pueden unir al
utilizar las restricciones de frontera.
Graficacin
216
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
L1
L2
Lnea de frontera
Fig. 3.67.Superficie de Bzier compuesta que se cre con dos secciones de Bzier que se
unen en la lnea de frontera que se indica. Las lneas de rayas conectan puntos de
control especficos. Se establece la continuidad de primer orden al determinar la razn
de longitud L1 con respecto de la longitud L2 constante para cada lnea colineal de
puntos de control a lo largo de la frontera entre las secciones de la superficie
La figura 3.67 ilustra una superficie que se forma con dos secciones de Bzier. Al igual
que con las curvas, se asegura una transicin suave de una seccin a la otra al establecer
tanto la continuidad de orden cero como la de primer orden en la frontera. La continuidad
de orden cero se obtiene al elegir puntos de control a lo largo de una lnea recta a travs de
la frontera y al mantener una relacin constante de segmentos de lnea colineales para cada
conjunto de puntos de control especfico a travs de las fronteras de la seccin.
Graficacin
217
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Resumen
Se han desarrollado mucha representaciones para modelar la amplia variedad de
objetos y materiales, que podramos querer visualizar en una escena de grficas por
computadora. En la mayora de los casos, una representacin tridimensional de un objeto se
crea mediante un paquete de software como un objeto grfico estndar cuyas superficies
se muestran como una malla poligonal.
La representacin de frontera que ms se utiliza para un objeto grfico tridimensional
es un conjunto de polgonos de superficie que encierran el interior del objeto. Muchos
sistemas grficos almacenan todas las descripciones de
objetos como
conjuntos de
polgonos de superficie.
Una clase de objetos que se utiliza con frecuencia son las superficies cudricas, que se
describen con ecuaciones de segundo grado (cuadrticas). Incluyen esferas, elipsoides,
toros, paraboloides e hiperboloides.
Una spline es una banda flexible que se utiliza para producir una curva suave a travs
de un conjunto de puntos designados. Varios pesos pequeos se distribuyen a lo largo de la
banda para mantenerla en posicin sobre la mesa de dibujo mientras se traza la curva.
En las grficas por computadora, el trmino curva de spline ahora se refiere a cualquier
curva compuesta que se forma con secciones polinmicas que satisfacen condiciones
especficas de continuidad en la frontera de las piezas.
Pierre Bzier, ingeniero francs desarroll el mtodo de aproximacin de splines ahora
conocido como Curvas Bezier. Las splines de Bzier tienen varias propiedades que hacen
que sean muy tiles y convenientes para el diseo de curvas y superficies.
Las superficies spline son una extensin bidimensional de las curvas spline. Las
superficies spline se pueden entender como una curva spline en la que el lugar cada punto
de control es sustituido por una curva spline del mismo tipo de la curva inicial.
El modelado slido insiste en crear solamente modelos completos de slidos, modelos
que son adecuados para responder algoritmicamente a cualquier pregunta geomtrica que
se formule.
Graficacin
218
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
ortogrficas
frontal,
superior
lateral
con
las
de
una
proyeccin
Graficacin
220
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Bibliografa
Bibliografa
Buss, Samuel R. 3-D computer Graphics. California, USA. Cambridge University Press.
Demel , John T./ Michael J. Miller. Grficas por computadora. Mxico, D.F. Ed. Mc. Graw Hill.
Foley , James D./ Andries Van Dam. Introduccin a la graficacin por computadora. Mxico,
D.F. Ed. Addison Wesley Iberoamericana.
Hearn, Donald / Baker, M. Pauline. Graficas por computadora 2a edicin. Mxico, D.F. Ed.
Prentice Hall Hispanoamericana.
Hill, F. S. Jr. Computer Graphics Using Open Gl. USA. Ed. Prentice-Hall.
Paluszny Marco et. al. Mtodos de Bzier y B-Splines. USA. Ed. Springer-Verlag.
Parent, Richard. Computer Animation: Algorithms and Techniques. Ed. Morgan Kauffman.
Pavlidis, Theo. Algorithms for Graphics and Image processing. USA. Computer Science Press.
Preparata, Franco P. Computational Geometry. USA. Ed. Springer-Verlag
Ramos, Ricardo. Informtica Grfica. Universidad de Oviedo. Oviedo, Espaa.
Rogers , David .F. Procedural Elements of Computer Graphics. 2a edicin. USA. Ed. Mc Graw
Hill.
Shneider, Philip / Eberly, David H. Geometric tools for computer graphics. California, USA.,
Morgan Kaufmann Publishers.
Torres, J.C., Diseo asistido por ordenador. Granada, Espaa. Universidad de Granada.
Universidad de Valencia. Informtica Grfica. Valencia, Espaa.
Graficacin
221
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Bibliografa
Graficacin
222
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
Apndice A
Introduccin a OpenGL
En OpenGL se proporciona una biblioteca bsica de funciones para especificar
primitivas
grficas,
atributos,
transformaciones
geomtricas,
transformaciones
de
visualizacin y muchas otras operaciones. Est diseada para ser independiente del
hardware, por lo tanto, muchas operaciones como las subrutinas de entrada y salida, no
estn incluidas en la biblioteca bsica.
Sin embargo, las subrutinas de entrada y salida y muchas funciones adicionales estn
disponibles en bibliotecas auxiliares que se han desarrollado para programas OpenGL.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
y, a
de
objetos
complejos
mediante
lneas
aproximaciones
poligonales,
de
representacin
de
superficies
otras
tareas
complejas.
Toda
implementacin de OpenGL incluye la biblioteca GLU. Todos los nombres de las funciones
GLU comienzan con el prefijo glu.
Tambin existe un conjunto de herramientas orientadas a objetos basado en OpenGL
llamado Open Inventor que proporciona subrutinas y formas de objetos predefinidos para su
uso en aplicaciones tridimensionales interactivas. Este conjunto de herramientas est
escrito en C++.
Graficacin
224
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
Para crear grficos utilizando OpenGL, necesitamos en primer lugar configurar una
ventana de visualizacin en nuestra pantalla de vdeo. Se trata simplemente de la zona
rectangular de la pantalla en la nuestra imagen se mostrar. No podemos crear
directamente la ventana de visualizacin con las funciones de OpenGL bsicas, ya que esta
biblioteca contiene unicamente funciones grficas independientes del dispositivo, y las
operaciones de gestin de ventanas dependen de la computadora que estemos utilizando.
Sin embargo, existen varias bilbiotecas de sistema de ventanas que soportan las funciones
de OpenGL en una gran variedad de mquinas.
La ampliacin de OpenGL al sistema de ventanas X (GLX, OpenGL Extension to the X
Window System) proporciona un conjunto de subrutinas que utilizan como prefijo las letras
glx. Los sistemas Apple pueden utilizar la interfaz para operaciones de gestin de ventanas
Apple GL (AGL). Los nombres de las funciones de esta biblioteca utilizan como prefijo agl.
En los sistemas que utilizan Microsoft Windows, las subrutinas WGL proporcionan una
interfaz de Windows a OpenGL. Estas subrutinas utilizan como prefijo las letras wgl. El
gestor PGL (Presentation Manager to OpenGL) es una interfaz para el sistema operativo 0S/
2 de IBM, que utiliza el prefijo pgl en las subrutinas de la biblioteca. Y el kit de herramientas
GLUT (OpenGL Utility Toolkit) proporciona una biblioteca de funciones para interactuar con
cualquier sistema de ventanas. Las funciones de la biblioteca GLUT utilizan como prefijo
glut. Esta biblioteca tambin contiene mtodos para describir y representar superficies y
curvas cudricas.
Ya que GLUT es una interfaz con otros sistemas de ventanas dependientes del
dispositivo, podemos utilizar GLUT para que nuestros programas sean independientes del
dispositivo.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
una de las
componentes de color roja, verde y azul en el valor de 1.0. Por tanto, obtenemos el color
blanco en la ventana de visualizacin. Si, en lugar de 1.0, establecemos cada una de las
componentes de color en 0.0, obtendramos el color negro como color de fondo. Y si a cada
una de las componentes rojs, verde y azul se les asigna un valor intermedio entre 0.0 y 1.0
obtendramos algn nivel de gris.
El cuarto parmetro de la funcin glClearColor se denomina valor alfa del color
especificado. Un uso del valor alfa es el parmetro de << fundido >> (blending). Cuando
activamos las operaciones de fundido de OpenGL, los valores alfa se pueden utilizar para
calcular el valor resultante de dos objetos que se superponen. Un valor alfa de 0.0 indica
que el objeto es totalmente transparente, mientras que el valor alfa de 1.0 indica que el
objeto es opaco. Por ahora, establecemos simplemente el valor alfa en 0.0.
Aunque la orden glClearColor asigna un color a la ventana de visualizacin, sta no
muestra la ventana de visualizacin en la pantalla. Para conseguir que el color asignado a la
ventana se visualice, necesitamos invocar la siguiente funcin de OpenGL.
glClear(GL_COLOR_BUFFER_BIT);
El argumento GL_COLOR_BUFFER_BIT es una constante simblica que especifica que
son los valore de los bits del buffer de color (buffer de refresco) los que se deben asignar a
los valores indicados en la funcin glClearColor.
Adems de establecer el color de fondo de la ventana de visualizacin, podemos elegir
entre una gran variedad de esquemas de color para los objetos que queremos mostrar en
una escena. En nuestro ejemplo inicial de programacin, establecemos simplemente el color
del objeto en rojo.
Graficacin
229
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
misma relacin de aspecto que la ventana de visualizacin, para que no haya distorsin en
nuestra imagen.
Finalmente, necesitamos llamar las subrutinas apropiadas de OpenGL para crear
nuestro segmento. El cdigo siguiente define un segmento bidimensional definiendo sus
extremos con coordenadas cartesianas enteras de valores (180, 15) y (10, 145).
glBegin (GL_LINES)
glVertex2i(180,15);
glVertex2i(10, 145);
glEnd();
Ahora es el momento e reunir todas las piezas. El siguiente programa de OpenGl est
organizado en tres procedimientos. Colocamos todas las inicializaciones y los parmetros de
configuracin relacionados en el procedimiento init. Nuestra descripcin geomtrica de la
imagen que queremos visualizar est en el procedimiento lineSegment, que es el
procedimiento que ser referenciado por la funcin de GLUT glutDisplayFunc. Y el
procedimiento main contiene las funciones de GLUT que configuran la ventana de
visualizacin y que muestran nuestro segmento en la pantalla.
A continuacin se muestra la ventana de visualizacin y el segmento generado por
este programa.
#include<GL.glut.h> //u otras lneas dependiendo del sistema que usemos
void init(void){
// de visualizacin en blanco
}
void lineSegment(void){
glBegin(GL_LINES)
Graficacin
231
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
glVertex2i(10, 145);
glEnd();
glFlush();
//sea posible
Apndice A
// de lnea
}
void main(int argc, char ** argv){
glitInit(&argc, argv); //Inicializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
//Establece el modo de
// visualizacin
glutInitWindowSize(400,300);
//Establece el ancho y la altura de la
init();
glutDisplayFunc(lineSegment);
//Enva los grficos a la ventana de
//visualizacin
glutMainLoop();
//ventana de visualizacin
}
Al final del procedimiento lineSegment hay una funcin, glFlush, que todava no se
ha mencionado. Es simplemente una subrutina que fuerza la ejecucin de nuestras funciones
de OpenGL, las cuales almacenan las computadoreas en buffers en diferente posiciones,
dependiendo de cmo est implementada OpenGL. En una red ocupada, por ejemplo, podra
haber retrasos en el procesamiento de algunos buffers. Pero la llamada a glFlush fuerza a
que todos estos buffers se vacen y que las funciones de OpenGL se procesen.
El procedimiento lineSegment que hemos creado para descrbiir nuestra imagen se
denomina
Este
Graficacin
232
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
OpengGL en Windows
Las libreras de OpenGL para Windows fueron implementadas en un inicio para Windows
NT y posteriormente en otras versiones del sistema operativo. Existen problemas de
seguridad, errores de compilacin, de tiempo de ejecucin y fallos en el sistema los cuales
no han sido documentados, por lo tanto el usuario es responsable del uso que se le de al
software. Las siguientes instrucciones no funcionaran en Windows Vista.
Es conveniente sealar que los ejemplos, ejercicios y prcticas sealadas en este texto
han sido probadas nicamente en sistemas UNIX, LINUX, BSD y Mac OS X.
Para comenzar la programacin es necesario instalar GLUT (vase Apndice A). GLUT
puede usarse con Visual C++ as como con algunos productos de Borland.
Graficacin
233
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
Archivo
glut32.dll
Ubicacin
Windows XP | Server 2003: C:\WINDOWS\system\
Windows 2000: C:\WINNT\system\
glut32.lib
C:\Program
Files\Microsoft
Visual
Studio
NET
2003\Vc7
Visual
Studio
NET
2003\Vc7
\PlatformSDK\Lib
glut.h
C:\Program
Files\Microsoft
\PlatformSDK\Include\gl
Si se desea utilizar cualquier aplicacin o programa creado con OpenGL en una
computadora diferente a la que fue compilado, deber incluirse el archivo glut32.dll en la
ruta indicada arriba, de lo contrario no funcionar.
Crea un proyecto nuevo (Archivo -> Nuevo -> Proyecto). Aparecer un cuadro
de dilogo.
5.
Graficacin
234
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
Graficacin
235
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
No debe utilizarse la diagonal invertida (\). Visual Studio compilara el programa pero los
Graficacin
236
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
Graficacin
237
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
OpenGL en Linux
Para instalar la librera GLUT en Linux debers entrar a la consola y teclear lo siguiente:
Ubuntu
Debian
OpenGL en Mac
La herramienta para Mac Xcode ya incluye la librera GLUT. Xcode viene incluido de
forma gratuita dentro de los CD de instalacin del sistema operativo Mac. Para utilizar
OpenGL unicamentese tiene que aadir el Framework al proyecto.
Primero se crea una aplicacin C++ Tool, luego se abre la ventana para aadir
Frameworks (Project ->Add to Project) y se selecciona el framework GLUT ( Se encuentra en
HD
->
Developer->
SDKs
->
MacSDK
->System
->
Library
->
Frameworks
->
GLUT.framework).
Aparecer una ventana como la siguiente
Graficacin
238
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice A
Graficacin
239
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
Apndice B
Matemticas para Graficacin
B.1. Sistemas de coordenadas
Tanto los sistemas de referencias cartesianos como los no cartesianos resultan tiles
en las aplicaciones grficas. Normalmente, especificamos las coordenadas en un programa
grfico utilizando un sistema de referencia cartesiano, pero la especificacin inicial de una
escena podra proporcionarse en un sistema de referencia no cartesiano. A menudo, las
simetras escnicas, cilndricas o de otros tipos pueden aprovecharse para simplificar las
expresiones relativas a las descripciones o manipulaciones de los objetos.
Graficacin
240
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
ymax
yinvert
ymax
(a)
(b)
Por tanto, los comandos dependientes del dispositivo, como por ejemplo los relativos a
la entrada interactiva y a las manipulaciones de las ventanas de visualizacin, suelen hacer
referencia a las coordenadas de pantalla utilizando el sistema cartesiano invertido (figura B.
1.(b)). Los valores de las coordenadas horizontales en los dos sistemas son iguales y, un
valor y invertido se convierte en in valor y medido desde la parte inferior de la pantalla
mediante el clculo:
y = ymax yinvert
B.1
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
eje y
P
y
r
!
x
eje x
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
x = r cos , y = r sin
B.2.
r = x 2 + y2
Los valores angulares pueden medirse en grados o unidades adimensionales (radianes).
Un radian se define como el ngulo subtendido por un arco circular que tenga una longitud
igual al radio del crculo. Esta definicin se ilustra en la figura B.5, que muestra dos lneas
que se intersectan en un plano y un crculo centrado en el punto de interseccin P. Para
cualquier crculo centrado en P, el valor del ngulo en radianes est dado por el cociente:
B.4.
s
= (radianes)
r
r
!
P
y
s
!
P
r
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
Donde s es la longitud del arco circular que subtienden a y r es el radio del crculo. La
distancia angular total alrededor del punto P es la longitud del permetro del circulo (2pr)
dividida por r, lo que es igual a 2p radianes. Si hablamos en grados, una circunferencia se
divide en 360 arcos de igual longitud, por lo que cada arco subtiende un ngulo de 1 grado.
Por tanto, 360 = 2 radianes.
Pueden utilizarse otras cnicas, adems de los crculos, podemos especificar las
coordenadas. Por ejemplo, utilizando elipses concntricas en lugar de crculos, podemos
especificar los puntos en coordenadas elpticas, de forma similar, pueden aprovecharse
otros tipos de simetras para definir coordenadas planas hiperblicas o parablicas.
eje y
y
P
z
x
eje x
eje z
(a)
eje x
eje z
(b)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
y
z
(a)
(b)
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
x 2 + y2
P
Sistema B
0B
0A
Sistema A
Graficacin
246
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
V = P2 P1
= (x2 x1 , y2 y1 )
B.5.
= (Vx ,Vy )
Donde las componentes cartesianas (o elementos cartesianos) Vx y Vy son las
P2
y2
V
y1
P1
X1
X2
Podemos describir un vector como un segmento de lnea dirigido que tiene dos
propiedades fundamentales: modulo y direccin. Para el vector bidimensional de la figura B.
9, calculamos el mdulo del vector utilizando el teorema de Pitgoras, que nos da la
distancia entre sus dos extremos segn la direccin del vector:
B.6.
V = Vx2 + Vy2
Podemos especificar la direccin del vector de diversas formas. Por ejemplo, podemos
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
B.7.
Vy
= tan 1
Vx
z
"
#
!
x
, que el vector forma con cada uno de los ejes de coordenadas positivos. Podemos calcular
estos ngulos de la forma siguiente:
B.9.
cos =
Vx
,
V
cos =
Vy
V
cos =
Vz
V
Graficacin
248
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
Los calores de cos , cos , y cos se denominan cosenos directores del vector. En
realidad solo hace falta especificar dos e los cosenos directores para proporcionar la
direccin de V, ya que:
B.10.
propiedades un mdulo y una direccin. Dos ejemplos comunes son la fuerza y la velocidad
(figura B.11.). Una fuerza puede considerarse como la intensidad con que se tira o empuja
en una direccin concreta. Un vector de velocidad especifica la rapidez con la que un objeto
se mueve en cierta direccin.
Tierra
Sol
definicin,
la
suma
de
vectores
se
obtiene
sumando
las
componentes
correspondientes:
B.11.
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
escalar slo tiene un valor numrico, mientras que un vector tiene n componentes
numricas en un espacio n-dimensional.
y
y
V2
V2
V1 + V2
V1
V1
(a)
(b)
B.12.
V1 iV2 = V1 V2 cos ,
Donde es el ms pequeo de los dos ngulos que pueden definirse entre las
direcciones de ambos vectores (figura B.13.). Este esquema de multiplicacin se denomina
producto escalar de dos vectores. Tambin se denomina producto interno, particularmente
al hablar de productos escalares en el anlisis tensorial.
Graficacin
250
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
V2
V1
!
s!
|V2|co
Fig. B.13. El producto escalar de dos vectores se obtiene
multiplicando las componentes paralelas.
B.14.
V1 iV2 = V2 iV1
B.15.
Graficacin
251
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
V1 V2 = u V1 V2 sin ,
V1
Fig. B.14. El producto vectorial de dos vectores es un vector que
apunta en una direccin perpendicular a los dos vectores
originales y con un mdulo igual al rea del paralelogramo
sombreado.
El vector u estar entonces en la direccin a la que apunta el dedo pulgar. Este clculo
se denomina producto vectorial de do vectores y la ecuacin a.20 es vlida en cualquier
sistema de coordenadas. El producto vectorial de dos vectores es otro vector perpendicular
al plano de esos dos vectores, y el mdulo del producto vectorial es igual al rea del
paralelogramo formado por dos vectores.
Tambin podemos expresar el producto vectorial en trminos de las componentes de
los vectores dentro de un sistema de referencia especfico. En un sistema de coordenadas
cartesianas, calculamos las componentes del producto vectorial como:
B.18.
Graficacin
252
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
Si designamos los vectores unitarios segn los ejes x, y, z como ux, uy, uz, podemos
escribir el producto vectorial en trminos de las componentes cartesianas utilizando una
notacin de determinantes:
u x u y uz
V1 V2 = V1x V1y V1z
V2 x V2 y V2 z
B.19.
V1 V2 = u V1 V2 sin ,
V1 (V2 V3 ) (V1 V2 ) V3
B.21.
Sin embargo, el producto vectorial es distributivo con respecto a ala suma y resta de
vectores:
B.22.
B.3. Matrices
Una matriz es una disposicin rectangular de magnitudes (valores numricos,
expresiones o funciones), denominados elementos de la matriz. Algunos ejemplos de
matrices son:
B.23.
ex
e2 x
x
,
x2
[a
a2
a3 ] ,
x
y
z
Graficacin
253
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
ejemplo, la matriz se denomina matriz cuadrada. En general, podemos escribir una matriz r
por c como:
m11
m
21
M =
mr1
B.24.
m12
m22
mr 2
... m1c
m2c
mrc
Vx
V = Vy
Vz
B.25.
Aunque utilicemos esta representacin matricial estndar tanto para los puntos como
para
los
vectores,
existe
una
distincin
importante
entre
ambos
conceptos.
La
representacin vectorial de un punto siempre asume que el vector est definido desde el
origen hasta dicho punto y la distancia del punto al origen no er invariante cuando
cambiemos de un sistema de coordenada a otro. Asimismo, no podemos sumar puntos y
tampoco podemos aplicar a los puntos operaciones vectoriales, como el producto escalar y
el producto vectorial.
Graficacin
254
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
Entonces,
1 2 3
M =
4 5 6
3 6 9
3M =
12 15 18
La suma de matrices solo est definida para aquellas matrices que tengan el mismo
nmero de filas r y el mismo nmero de columnas c. Para dos matrices cualesquiera r por c,
la suma se obtiene sumando los correspondientes elementos. Por ejemplo,
Multiplicacin de matrices
El producto de dos matrices se define como una generalizacin del producto escalar de
vectores. Podemos multiplicar una matriz m por n A por una matriz p por q B para formar la
matriz producto AB, supuesto que el nmero de columnas de A sea igual al nmero de filas
de B. En otras palabras, debe cumplirse que n = p. Entonces se obtiene la matriz producto
formando las sumas de los productos de los elementos de los vectores fila de A por los
elementos correspondientes de los vectores columna de B. As, para que el siguiente
producto:
C = AB
B.26.
Graficacin
255
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
B.27.
k =1
En el siguiente ejemplo, una matriz 3 por 2 se postmultiplica por una matriz 2 por 2,
para generar una matriz producto 3 por 2
0 1
0 1 + (1) 3 0 2 + (1)4 3 4
5 7 1 2 = 5 1 + 7 3
5 2 + 7 4 = 26 38
3 4
2 8
2 1 + 8 3 2 2 + 8 4 22 28
La multiplicacin de vectores en notacin matricial produce el mismo resultado que el
producto escalar, supuesto que el primer vector se exprese como un vector fila y el
segundo vector se exprese como un vector columna. Por ejemplo:
4
[1 2 3] 5 = [ 32 ]
6
Este producto de vectores da como resultado una matriz con un nico elemento (una
matriz 1 por 1). Sin embargo, si multiplicamos los vectores en orden inverso, obtendremos
la siguiente matriz 3 por 3:
4
4 8 12
5 1 2 3 = 5 10 15
]
[
6
6 12 18
Como ilustran los dos productos de vectores anteriores, la multplicacin de matrices
no es conmutativa por regla general. Es decir
AB BA
B.28.
A(B + C) = AB + AC
Graficacin
256
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
1 4
a
T
1 2 3
T
4 5 6 = 2 5 ,[ a b c ] = b
3 6
c
B.30.
(M 1 M 2 )T = M 2T M 1T
det A =
B.32.
a11
a12
a21
a22
B.33.
j =1
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
B.34.
k =1
B.35.
MM 1 = M 1 M = I
Donde I es la matriz identidad. Todos los elementos diagonales de I tiene el valor 1 y
B.37.
1
jk
m =
(1) j + k det M kj
det M
Graficacin
258
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Donde m
M
-1
-1
jk
Apndice B
y Mjk es la submatriz (n-1) por (n-1) que se obtiene al borrar la fila k-sima y la columna
Representaciones no paramtricas
Cuando escribimos las descripciones de los objetos directamente en trminos de las
coordenadas correspondientes al sistema de referencias que estamos utilizando, la
representacin se denomina no paramtrica. Por ejemplo, podemos describir una superficie,
con cualquiera de las siguientes funciones cartesianas:
f1 (x, y, z) = 0,
B.38.
o z = f2 (x, y)
y = f (x)
B.39.
z = g(x)
Graficacin
259
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
x 2 + y2 r 2 = 0
Y la ecuacin explcita de y es la funcin multivaluada:
y = r2 x2
En general, una representacin mas conveniente para describir los objetos en los
algoritmos grficos es en trminos de ecuaciones paramtricas
Representaciones paramtricas
Podemos clasificar los objetos segn el nmero de parmetros necesarios para
describir las coordenadas de los mismos. Una curva, por ejemplo, en un sistema de
referencia cartesiano, se clasifica como un objeto eucldeo unidimensional, mientras que una
superficie es un objeto eucldeo bidimensional. Cuando se proporciona la descripcin de un
objeto en trminos de su parmetro de dimensionalidad, la descripcin se denomina
representacin paramtrica.
La descripcin cartesiana de los puntos situados a lo largo de la trayectoria de una
curva puede proporcionarse en forma paramtrica utilizando la siguiente funcin vectorial
B.40.
donde cada una de las coordenadas cartesianas es una funcin del parmetro u. En la
mayora de los casos, podemos normalizar las tres funciones de coordenadas de modo que
el parmetro y vare en el rango comprendido entre 0 y 1.0. Por ejemplo, un crculo en el
plano xy con un radio r y con centro en el origen de coordenadas puede definirse en forma
paramtrica mediante las siguientes tres funciones:
Graficacin
260
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice B
B.41.
Puesto que esta curva est definida en el plano xy, podemos eliminar la funcin z(u),
que tiene el valor constante de 0.
De forma similar, podemos representar las coordenadas de una superficie utilizando la
siguiente funcin vectorial cartesiana:
B.42.
Cada una de las coordenadas cartesianas es ahora funcin de los dos parmetros de la
superficie u y v. Una superficie esfrica con radio r y con centro en el origen de
coordenadas, por ejemplo, puede describirse mediante las ecuaciones:
B.43.
Graficacin
261
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Apndice C
Manual de Prcticas
Prctica 1 Algoritmos aplicados a grficos
Material
Objetivo
El alumno conocer los algoritmos grficos y su funcionamiento.
Desarrollo
El profesor dar una explicacin breve acerca los algoritmos para grficos creados a
partir de los 1960s, tales como el algoritmo z-buffer. Los alumnos buscarn en internet y/o
libros una descripcin de cada uno de los algoritmos y escribirn un resumen.
Reporte:
1.
Portada
2.
3.
Conclusiones
Recursos:
http://arantxa.ii.uam.es/~pedro/graficos/teoria/
http://es.wikipedia.org/wiki/Gr%C3%A1ficos_por_computadora
Watt, A., Policarpo, F., The Computer Image, Addison Wesley.
Joan Trias Pairo. Geometra para la informtica grfica y CAD. Ed. Alfaomega
Graficacin
262
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Prctica 2 Dispositivos
Material
Objetivo
El alumno conocer los principales dispositivos utilizados para la graficacin.
Desarrollo
El alumno realizar una investigacin de los dispositivos que se benefician y/o utilizan
a los grficos por computadora, tales como las tabletas digitalizadoras.
Reporte
1.
Portada
2.
Dispositivos de entrada
3.
Dispositivos de salida
4.
Conclusiones
Resumen
http://es.wikipedia.org/wiki/Entrada/Salida
http://dblinux.sis.epn.edu.ec/~elascano/sistemasmultimediales/mediosytc/output.html
Martn, Javier. Informtica Bsica. Editorial Ra-Ma.
Hearn, Donald y M. Pauline Baker. Grficas por Computadora. Prentice Hall.
Foley, J. D. y A. Van Dam. Grficos por computadora. Principios y prctica. Segunda edicin.
Addison - Wesley
Graficacin
263
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Objetivo
Conocer los mtodos actuales utilizados para la compresin de archivos grficos.
Desarrollo
El alumno realizar un trabajo de investigacin sobre las tcnicas de compresin de
archivos grficos que incluya los siguientes temas:
Codificacin LZW
Codificacin Huffman
Codificacin aritmtica
Reporte
1.
Portada
2.
Definicin de codificacin
3.
Objetivos de la codificacin
4.
Tipos de codificacin
5.
6.
Codificacin LZW
7.
8.
Codificacin Huffman
9.
Codificacin aritmtica
10.
Conclusiones
Recursos
http://www.nationalarchives.gov.uk/documents/es5_image_compression.pdf
Graficacin
264
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
http://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datos
Gonzalez, R.C. Tratamiento digital de imgenes. Ediciones Daz de Santos.
Brown, C. W., Shepherd B. J. Graphics File Formats, reference and guide, Prentice Hall.
Murray, J. D., van Ryper, W. Encyclopedia of Graphics File Formats, O'Reilly Associates.
Prctica 4 OpenGL
Material
Objetivo
A travs de esta prctica el alumno conocer qu es OpenGL y cuales son sus
aplicaciones.
Desarrollo
El alumno realizar un trabajo de investigacin de carcter terico.
Reporte
1.
Portada
2.
3.
Diseo
4.
Extensiones
5.
Bibliotecas
6.
Conclusiones
Recursos
http://es.wikipedia.org/wiki/OpenGL
http://www.opengl.org/
Wirght, Richard. Programacin en OpenGL. Anaya Multimedia
Graficacin
265
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Angel,
E.
Interactive
Computer
Apndice C
Graphics:
top-down
approach
with
OpenGL,
AddisonWesley.
Ribelles ,J. y Lluch J. Opengl en Fichas: Una introduccin practica. Treballs d informatica i
Tec
Acceso a internet
Objetivo
El alumno aprender a instalar las libreras de OpenGL
Desarrollo
El profesor explicar la forma de instalar OpenGL en distintas plataformas,
posteriormente el alumno instalar de forma personal el software indicado.
Reporte
1.
Portada
2.
3.
Problemas en la instalacin
4.
Conclusiones
Recursos
Http://www.opengl.org
http://www.opengl.org/resources/libraries/glut/glut_downloads.php
http://www.xmission.com/~nate/glut.html
Anexo 1 de este texto
Wirght, Richard. Programacin en OpenGL. Anaya Multimedia
Graficacin
266
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Objetivo
Desarrollar un programa en OpenGL que realice una traslacin bidimensional
Desarrollo
El profesor explicar en qu consiste la traslacin bidimensional. El alumno crear un
programa que realice la operacin mencionada.
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos:
http://itmgraficacion.googlepages.com/
http://www.ieev.uma.es/tdi/www_netscape/TEMAS/Tdi_22/index4.php
Demel, John T. y Michael J. Miller. Grficas por computadora. Ed. Mc. Graw Hill.
Govil-Pai, S., Pai, R.Learning Computer Graphics, Springer Verlag.
Wright, Richard. Programacin en OpenGL. Anaya Multimedia
Graficacin
267
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Objetivo
Desarrollar un programa en OpenGL que realice una rotacin bidimensional
Desarrollo
El profesor explicar el procedimiento para realizar una rotacin bidimensional. El
alumno programar una rutina en OpenGL que rote un polgono sobre un punto de pvote.
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
http://www.ieev.uma.es/tdi/www_netscape/TEMAS/Tdi_22/index5.php
Demel, John T. y Michael J. Miller. Grficas por computadora. Ed. Mc. Graw Hill.
Plastock, R. A. y Kaslley. Grficas por computadora. McGraw-Hill.
Wright, Richard. Programacin en OpenGL. Anaya Multimedia
Objetivo
Desarrollar un programa en OpenGL que realice una escalacin bidimensional
Graficacin
268
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Desarrollo
El profesor explicar el procedimiento para realizar una escalacin bidimensional,
posteriormente el alumno programar una rutina que realice clculos para cambios de escala
en un polgono. El programa deber mostrar el polgono escalado.
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
http://www.ieev.uma.es/tdi/www_netscape/TEMAS/Tdi_22/index6.php
Donald
Hearn
M.
Pauline
Baker.
Graficas
por
computadora.
Ed.
Prentice
Hall
Hispanoamericana.
Woo, M., Neider, J., Davis, T., OpenGL Programming Guide, 2nd. Ed., Addison Wesley
Wright, Richard. Programacin en OpenGL. Anaya Multimedia
Objetivo
Implementar una rutina en OpenGL que realice tres operaciones a travs de matrices
bidimensionales compuestas.
Graficacin
269
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Desarrollo
El
profesor
explicar
el
procedimiento
para
realizar
matrices
bidimensionales
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
http://gsii.usal.es/~corchado/igrafica/descargas/temas/Tema06.pdf
Mortenson , Michael E. Mathematics for Computer Graphics Applications. Ed. Industrial Press
Inc.
Donald
Hearn
M.
Pauline
Baker.
Graficas
por
computadora.
Ed.
Prentice
Hall
Hispanoamericana.
Wright, Richard. Programacin en OpenGL. Anaya Multimedia.
Objetivo
Conocer el procedimiento para realizar la traslacin tridimensional de un objeto.
Graficacin
270
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Desarrollo
El profesor mostrar el procedimiento matemtico para realizar una traslacin
trisimensional. El alumno crear una rutina que construir una matriz de traslacin
tridimensional.
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
http://gsii.usal.es/~corchado/igrafica/descargas/temas/Tema06.pdf
Foley, James D. y Andries Van Dam. Introduccin a la graficacin por computadora. Ed.
Addison Wesley Iberoamericana.
Buss, R. Samuel. Computer Graphics: An introduction with OpenGL. Cambridge University
Press.
Wright, Richard. Programacin en OpenGL. Anaya Multimedia
Objetivo
El alumno desarrollar un programa que realizar la construccin de una matriz de
traslacin tridimensional.
Graficacin
271
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Desarrollo
Previamente a la prctica el profesor explicar el procedimiento para llevar a cabo la
escalacin tridimensional. El alumno desarrollar un programa que cree una matriz de
traslacin usando la incorporacin directa de las coordenadas del punto fijo
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
http://gsii.usal.es/~corchado/igrafica/descargas/temas/Tema06.pdf
McConell, Jeffrey. Computer Graphics, theory into practice. Jones and Bartlett Publishers.
Objetivo
Implementar una rutina en OpenGL que realice tres operaciones a travs de matrices
tridimensionales compuestas.
Desarrollo
Graficacin
272
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
Demel, John T. y Michael J. Miller. Grficas por computadora. Ed. Mc. Graw Hill.
Lewell, John. Computer Graphics: A Survey of Current Techniques and Applications. Van
Nostrand Reinhold.
Hearn, Donald. Grficos por computadora con OpenGl. Pearson.
Objetivo
Conocer e implementar las funciones de creacin de poliedros regulares de GLUT.
Desarrollo
El profesor explicar los mtodos o funciones de la blbilioteca GLUT para la creacin de
poliedros regulares. El alumno posteriormente desarrollar un programa que muestre los
cinco tipos diferentes de poliedros en una visualizacin de malla de alambre.
Graficacin
273
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
Foley, J. D. y A. Van Dam. Grficos por computadora. Principios y prctica. Segunda edicin.
Addison - Wesley
Hill, Francis. Computer Graphics: Using OpenGL. Prentice Hall.
Hearn, Donald. Grficos por computadora con OpenGl. Pearson.
Objetivo
Implementar la visualizacin de objetos a travs del uso de superficies cudricas.
Desarrollo
El profesor explicar los conceptos relacionados con las superficies cudricas y la
utilizacin de los mtodos que lo implementan en las libreras GLU Y GLUT.
El alumno
utilizar las bibliotecas mencionadas para crear un programa en el que se visualizarn tres
objetos con superficies cudricas (esfera, cono y cilindro).
Reporte
1.
Portada
2.
Graficacin
274
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.
Apndice C
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
http://www.cvc.uab.es/shared/teach/a21306/doc/Apuntes%20de%20OpenGL.pdf
Watt, A., Watt, M., Advanced Animation and Rendering Techniques: Theory and Practice,
Addison-Wesley.
Watt, A., 3D Computer Graphics, Addison-Wesley,
Steed A., Slater y Chrysanthou. Computer graphics and virtual environments.
Addison-
Wesley
Objetivo
El alumno conocer e implementar el clculo de las funciones de combinacin de
Bzier y la generacin de curvas bidimensionales con splines de Bzier
Desarrollo
El profesor explicar el mtodo para realizar el clculo de las funciones de combinacin
de Bzier as como el procedimiento para la generacin de curvas bidimensionales con
splines de Bzier. El alumno desarrollar un programa que cree una curva de Bzier con
cuatro puntos de control en el plano xy.
Reporte
1.
Portada
2.
Graficacin
275
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
3.
4.
Conclusiones
Apndice C
Recursos
http://itmgraficacion.googlepages.com/
http://lsi.ugr.es/~jctorres/cad/teoria/sesion7.html
Bartels, R., Beatty, J., Barsky, B. An Introduction to Splines for Use in Computer Graphics
and Geometric Modelling. Springer Verlag,
Harrington, Steve. Computer Graphics: A Programming Approach. Ed. Mc Graw Hill.
Hearn, Donald. Grficos por computadora con OpenGl. Pearson.
Objetivo
El alumno conocer e implementar el mtodo de generacin de Superficies de Bzier.
Desarrollo
El profesor explicar el mtodo para generar superficies de Bzier. El alumno crear un
programa que genere una superficie de Bzier.
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Graficacin
276
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
Recursos
http://itmgraficacion.googlepages.com/
http://www.cs.buap.mx/~asanchez/Graphics.html
Farin, G., Curves and Surfaces for Computer Aided Geometric Design, Academic Press.
Glassner, A., Graphics GEMS V, Academic Press
Parejo,
Jos.
Juan
Manuel
Cordero
Valle.
Curvas
Superficies
para
modelado
geomtricoEditorial Ra-ma.
Objetivo
El alumno conocer e implementar el mtodo de generacin de Superficies B-spline.
Desarrollo
El profesor explicar el mtodo para generar superficies de B-Spline El alumno crear
un programa que genere una superficie de B-Spline.
Reporte
1.
Portada
2.
3.
4.
Conclusiones
Recursos
http://itmgraficacion.googlepages.com/
Graficacin
277
I n s t i t u t o T e c n o l g i c o d e M o r e l i a
Apndice C
http://lsi.ugr.es/~jctorres/cad/teoria/sesion9.html
Piegl, L., Tiller, W., The NURBS Book, Springer Verlag
Parslow, R. D. Computer Graphics: Techniques and Applications. Brunel University Computer
Science.
Hearn, Donald. Grficos por computadora con OpenGl. Pearson.
Graficacin
278