Professional Documents
Culture Documents
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.
x1
C = x2
x3
z1
z2
z3
y1 1
y2 1
y3 1
x1 1 z1
B = x 2 1 z2
x 3 1 z3
x1
D = x2
x3
y1
y2
y3
z1
z2
z3
Al ampliar los determinantes, podemos escribirlos clculos para los coeficientes del
plano en la forma
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)
p0
p0
(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
p0
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
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
a21
a12
= a11a22 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