Buscar

Representacao de Formas 3D

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

C A P ¶I T U L O 5
R e p r e s e n t a »c ~a o d e F o r m a s 3 -D
5 .1 - C o o r d e n a d a s h o m o g e^ n e a s
Um ob j eto pertencente a um espa»co de dimens~ao n (2 IR n ) pode sempre ser representado
em um espa»co de dimens~ao n + 1 (2 IR n + 1 ) .
A transfere^ncia do ob j eto de um espa»co para outro maior ¶e chamada de h o m o g e^ n e a
se for feita pela a d i»c ~a o de uma coordenada extra ( fa t o r d e e s c a la ) da seguinte maneira:
² um ponto 2 IR , de coordenadas ( x ) ter¶a coordenadas homoge^neas ( s x , s ) onde s ¶e um
escalar qualquer ( 6= 0) .
² um ponto 2 IR 2 , de coordenadas ( x , y ) ter¶a coordenadas homoge^neas ( s x , s y , s ) onde s
¶e um escalar qualquer (6= 0) .
² um ponto (x , y , z ) 2 IR 3 , ter¶a coordenadas homoge^neas (s x , s y , s z , s ) , onde s ¶e um
escalar qualquer ( 6= 0) .
² um ponto ( x , y , z , w ) 2 IR 4 , ter¶a coordenadas ( s x , s y , s z , s w , s ) , onde s ¶e um escalar
qualquer (6= 0) , e assim por diante.
A transforma»c~ao inversa p r o je t a (isso ¶e diminue o n¶umero de elementos) um ponto em
coordenadas homogene^as para as coordenadas usuais, atrav¶es das rela»c~oes:
(a , b ) ! (a / b )
(a , b , c ) ! ( a / c , b / c )
(a , b , c , d ) ! (a / d , b / d , c / d )
(a , b , c , d , e ) ! (a / e , b / e , c / e , d / e ) etc. . .
Matematicamente a e s c o lh a d e s ¶e aleat¶oria. Existe no entanto algumas conseqÄue^ncias
desta escolha. Por exemplo:
1 - Uma escolha a d e q u a d a pode fazer com que pontos n~ao represent¶aveis passem a s e r
r e p r e s e n t ¶a v e is .
Se uma condi»c~ao, por exemplo, n~ao puder representar reais, s = 100 tornar¶a os seguintes
n¶umeros represent¶aveis (fazendo n~ao ser nescess¶ario operar com ponto °utuante) :
(0, 25; 0, 1 5; 0,01 ) ! (25; 1 5; 1 ; 1 00)
2- Uma escolha a d e q u a d a pode evitar problemas de o v e r ° o w .
Se certa m¶aquina s¶o manipula inteiros entre (-32768=2 ¡ 1 6 a 32768= 21 6 ) , s = 0,1 tornar¶a
os seguintes n¶umeros represent¶aveis:
(80. 000, 40. 000, 1 0. 000) ! (8000; 4000; 1 000; 0, 1 )
1
5 .2 - C ¶a lc u lo d e P e r¶³m e t r o s , ¶A r e a s e V o lu m e s
C¶alculo de per¶³metros, ¶areas e volumes s~ao facilmente introduzidos em gr¶a¯cos de curvas,
superf¶³cies e na representa»c~ao de s¶olidos, que puderem ser aproximados por faces planas e
linhas retas.
Sej a N o n¶umero do v¶ertice de uma curva, ou de um pol¶³gono fechado de N-1 lados
(pol¶³gono em que o ¶ultimo v¶ertice coincide com o primeiro) , o p e r¶³m e t r o P ¶e calculado
como:
P =
P N
i= 1
p
(x i+ 1 ¡ x i) 2 + ( y i+ 1 ¡ y i) 2 + (z i+ 1 ¡ z i) 2
A ¶a r e a entre a curva (2 IR 2 ) e o eixo horizontal, ou a ¶area
da ¯gura fechada ( 2 IR 2 ) pode ser dada pela regra dos trap¶ezios:
A = 12
hP N
i= 1 (x i+ 1 ¡ x i) (y i+ 1 + y i) + (x 1 ¡ x N ) (y i + y N )
i
Mas essa forma ¯ca muito complexa para uso em ob j etos 3D.
Usando produto vetorial tem-se uma f¶ormula mais e¯ciente
aplic¶avel tanto em 2D:
A = 12
hP N
i= 1 (x iy i+ 1 ¡ x i+ 1 y i) + x N y 1 ¡ x 1 y N
i
quanto em 3D (na express~ao abaixo o primeiro ponto e o
¶ultimo s~ao considerados coincidentes) :
A = 12
hP N
i= 1 (x iy i+ 1 ¡ x i+ 1 y i) +
P N
i= 1 (y iz i+ 1 ¡ z iy i+ 1 ) +
P N
i= 1 (z ix i+ 1 ¡ z i+ 1 x i)
i
O volume da pira^mide de lados ~a ;~b ;~c ¶e: 16
h
~a :(~b £ ~c )
i
. Assim o v o lu m e de ¯guras
complexa ser¶a a
P
do volume das piramides que a constituem.
| | | |
Nota: o p r o d u t o m is t o de 3 vetores: ~A :( ~B £ ~C ) , tem no seu m¶odulo a representa»c~ao
do volume do paralelep¶³pedo de lados A, B e C. O volume de um p a r a le le p ¶³p e d o ¶e a sua
¶area multiplicado pela sua altura ou: A £ B :C = AB sen® C cosµ ( onde ® ¶e o a^ngulo entre
os lados A e B e µ o a^ngulo que C faz com o plano de¯nido por A e B ) .
2
O volume de uma piramide ¶e: V = 13 A h onde a ¶area da base ¶e: A =
1
2
¯¯
~b £ ~c
¯¯
logo:
V =
1
3
A h =
1
3
A c o s µ ~a =
1
3
A :~a =
1
6
h
~a :(~b £ ~c )
i
5 .3 - T r a n s fo r m a »c ~o e s G e o m ¶e t r ic a s
Transforma»c~oes geom¶etricas s~ao usadas para modi¯car ob j etos j ¶a existentes. ¶E geral-
mente desej ¶avel descrever estas transforma»c~oes por matrizes, pois com essa descri»c~ao ¶e
poss¶³vel usar as propriedades de matrizes (associatividade, produto matricial e concatena»c~ao)
simpli¯cando problemas complexos.
S~ao sempre usadas coordenadas homoge^neas, nestes casos, porque a transla»c~ao poder¶a,
com o uso destas coordenadas, tamb¶em ser descrita por matrizes.
S~ao transforma»c~oes b¶asica:
{ as transla»c~oes
{ as rota»c~oes de ob j etos na origem em torno dos eixos
(
x
y
z
{ as mudan»cas de escala em torno da origem.
5 .3 .1 - T r a n s la »c ~a o p o r u m v e t o r T (tx ; ty ; tz )
Cada ponto P (x ; y ; z ) do ob j eto ser¶a transformado em um outro ponto P 0(x 0; y 0; z 0) de
modo que suas coordenadas se relacionem por:
P 0 = P + T !
(
x 0 = x + tx
y 0 = y + ty
z 0 = z + tz
matricialmente, usando coordenadas homogeneas tem-se: P 0 = P :M (T ) onde
P 0 = ( x 0; y 0; z 0; 1) = ( x ; y ; z ; 1 ) :M (T ) = (x + tx ; y + ty ; z + tz ; 1 )
M (T ) =
¯¯¯¯
¯¯¯1 0 0 00 1 0 0
0 0 1 0
tx ty tz 1
¯¯¯¯
¯¯¯
Aqui estamos usando um vetor linha (1 x4) multiplicado por uma matriz quadrada (4x4) .
Se tivessemos usando vetores coluna (4x1 ) teria-se que usar a transposta da matriz acima e
a ordem da multipli»c~ao seria invertida. Essa observa»c~ao vale para todas as demais matrizes
apresentadas a seguir.
3
5 .3 .2 - R o t a »c ~a o d e u m a^ n g u lo ® e m t o r n o d o e ix o x
Cada ponto P (x ; y ; z ) do ob j eto ser¶a transformado em um outro ponto P 0(x 0; y 0; z 0) de
modo que suas coordenadas se relacionem por: P 0 = P :M (R (x ;® )) onde
P 0 = ( x 0; y 0; z 0; 1) = ( x ; y ; z ; 1 ) :M (R (x ;® )) = (x ; y c o s ® ¡ z s e n ® ; z c o s ® + y s e n ® ; 1 )
M (R (x ;® )) =
¯¯¯¯
¯¯¯1 0 0 00 c o s ® s e n ® 0
0 ¡ s e n ® c o s ® 0
0 0 0 1
¯¯¯¯
¯¯¯
5 .3 .3 - R o t a »c ~a o d e u m a^ n g u lo ¯ e m t o r n o d o e ix o y
Cada ponto P (x ; y ; z ) do ob j eto ser¶a transformado em um outro ponto P 0(x 0; y 0; z 0) de
modo que suas coordenadas se relacionem por: P 0 = P :M (R (y ;¯ )) onde
P 0 = ( x 0; y 0; z 0; 1) = ( x ; y ; z ; 1 ) :M (R (y ;¯ )) = (x c o s ¯ ¡ z s e n ¯ ; 1 ; z c o s ¯ + x s e n ¯ ; 1 )
M (R (y ;¯ )) =
¯¯¯¯
¯¯¯c o s ¯ 0 ¡ s e n ¯ 00 1 0 0
s e n ¯ 0 c o s ¯ 0
0 0 0 1
¯¯¯¯
¯¯¯
Repare que esta matriz, devido a orienta»c~ao dos eixos, tem a posio do sinal ¡ invertida
em rela»c~ao as demais.
5 .3 .4 - R o t a »c ~a o d e u m a^ n g u lo ¸ d e o b je t o s e m t o r n o d o e ix o z
Cada ponto P (x ; y ; z ) do ob j eto ser¶a transformado em um outro ponto P 0(x 0; y 0; z 0) de
modo que suas coordenadas se relacionem por: P 0 = P :M (R (z ;¸ )) onde
P 0 = (x 0; y 0; z 0; 1 ) = (x ; y ; z ; 1 ) :M (R (z ;¸ )) = (x c o s ¸ ¡ y s e n ¸ ; y c o s ¸ + x s e n ¸ ; 1 ; 1 )
M (R (z ;¸ )) =
¯¯¯¯
¯¯¯ c o s ¸ s e n ¸ 0 0¡ s e n ¸ c o s ¸ 0 0
0 0 1 0
0 0 0 1
¯¯¯¯
¯¯¯
5 .3 .5 - M u d a n »c a d e e s c a la p o r u m v e t o r E (e x ; e y ; e z ) e m t o r n o d a o r ig e m
Cada ponto P (x ; y ; z ) do ob j eto ser¶a transformado em um outro ponto P 0(x 0; y 0; z 0) de
modo que suas coordenadas se relacionem por: P 0 = P :M (E ) onde
P 0 = (x 0; y 0; z 0; 1 ) = ( x ; y ; z ; 1 ) :M (E ) = ( x e x ; y e y ; z e z ; 1 )
4
M (E ) =
¯¯¯¯
¯¯¯e x 0 0 00 e y 0 0
0 0 e z 0
0 0 0 1
¯¯¯¯
¯¯¯
Se o ob j eto n~ao estiver em torno da origem, ou se um dos pontos do ob j eto n~ao for a
origem, tamb¶em ocorre uma transla»c~ao no ob j eto, quando esta transforma»c~ao for aplicada.
5 .4 - C o n c a t e n a »c ~a o d e T r a n s fo r m a »c ~o e s
A multiplica»c~ao de matrizes ¶e usada para concatenar transforma»c~oes.Esta ¶e a maneira
usual de obter qualquer transforma»c~ao a partir dos tipos b¶asicos acima descritos.
E x e m p lo : um ob j eto P deve ser transladado de (tx ; ty ; 0) e fazer um a^ngulo ¸ com o
eixo z, as opera»c~oes a serem aplicadas s~ao:
1o. transla»c~ao: P 0 = P :M (T ) (1 )
2o. o resultado ¶e rodado de ¸ : P 00 = P 0. M (R (z ;¸ )) (2)
Substituindo (1 ) em (2) : P 00 = P :M (T ) :M (R (z ;¸ )) .
Como o produto matricial ¶e associativo pode-se primeiro resolver a multiplica»c~ao das
matrizes M (T ) :M (R (z ;¸ )) ) e depois multiplicar o resultado pelos pontos do ob j eto. Assim a
matriz abaixo faria os mesmo efeito das anteriores aplicadas em seque^ncia.
¯¯¯¯
¯¯¯1 0 0 00 1 0 0
0 0 1 0
tx ty 0 1
¯¯¯¯
¯¯¯
¯¯¯¯
¯¯¯ c o s ¸ s e n ¸ 0 0¡ s e n ¸ c o s ¸ 0 0
0 0 1 0
0 0 0 1
¯¯¯¯
¯¯¯ =
¯¯¯¯
¯¯¯ c o s ¸ s e n ¸ 0 0¡ s e n ¸ c o s ¸ 0 0
0 0 1 0
tx c o s ¸ ¡ ty s e n ¸ tx s e n ¸ + ty c o s ¸ 0 1
¯¯¯¯
¯¯¯
Usando este mecanismo ¶e poss¶³vel obter transforma»c~oes complexas a partir das transforma»c~oes
b¶asicas.
¶E importante lembrar que a multiplica»c~ao de matrizes n ~a o ¶e c o m u t a t iv a . Se execu-
tassemos o segundo passo acima antes do primeiro: (rota»c~ao de ¸ seguida de transla»c~ao)
ter¶³amos como resultado a matriz:
P 00 = P M (R (z ;¸ )) M (T ) = P
¯¯¯¯
¯¯¯ c o s ¸ s e n ¸ 0 0¡ s e n ¸ c o s ¸ 0 0
0 0 1 0
tx ty 0 1
¯¯¯¯
¯¯¯
Essa quanto aplicada aos pontos do ob j eto levaria a um efeito diferente.
5
5 .5 - C o m o d e t e r m in a r a m a t r iz M q u e le v a o s p o n t o s d e u m o b je t o
p a r a o u t r o s p o n t o s c o n h e c id o s .
Suponha que voce^ conhece as coordenadas de 4 pontos de um ob j eto 3D, antes e depois,
de sofrerem uma determinada transforma»c~ao. Como voce^ pode determinar a transforma»c~ao
M =
¯¯¯¯
¯¯¯a b c de f g h
i j k l
m n o p
¯¯¯¯
¯¯¯
que produz a modi¯ca»c~ao desej ada? Essa pergunta ¶e conhecida como a determina»c~ao do
p r o b le m a in v e r s o , e a resposta: M deve ser tal que:
(x 1 ; y 1 ; z 1 ; 1 ) = (x
0
1 ; y
0
1 ; z
0
1 ; 1 ) jM j
(x 2 ; y 2 ; z 2 ; 1 ) = (x
0
2 ; y
0
2 ; z
0
2 ; 1 ) jM j
(x 3 ; y 3 ; z 3 ; 1 ) = (x
0
3 ; y
0
3 ; z
0
3 ; 1 ) jM j
(x 4 ; y 4 ; z 4 ; 1 ) = (x
0
4 ; y
0
4 ; z
0
4 ; 1 ) jM j
onde (x i; y i; z i; 1 ) ; i = 1 ; 2 ; 3; 4 s~ao as coordenadas dos pontos conhecidos. M pode ser deter-
minada resolvendo o sistema de 1 6 equa»c~oes a 1 6 inc¶ognitas:8><>:
x 1 = a x
0
1 + e y
0
1 + iz
0
1 + m
y 1 = b x
0
1 + f y
0
1 + j z
0
1 + n
z 1 = c x
0
1 + g y
0
1 + k z
0
1 + o
1 = d x 01 + h y
0
1 + lz
0
1 + p8><>:
x 2 = a x
0
2 + e y
0
2 + iz
0
2 + m
y 2 = b x
0
2 + f y
0
2 + j z
0
2 + n
z 1 = c x
0
2 + g y
0
2 + k z
0
2 + o
1 = d x 02 + h y 02 + lz 02 + p8><>:
x 3 = a x
0
3 + e y
0
2 + iz
0
2 + m
y 3 = b x
0
3 + f y
0
3 + j z
0
3 + n
z 3 = c x
0
3 + g y
0
3 + k z
0
3 + o
1 = d x 03 + h y
0
3 + lz
0
3 + p8><>:
x 4 = a x
0
4 + e y
0
4 + iz
0
4 + m
y 4 = b x
0
4 + f y
0
4 + j z
0
4 + n
z 4 = c x
0
4 + g y
0
4 + k z
0
4 + o
1 = d x 04 + h y 04 + lz 04 + p
6
5 .6 - P r o je »c ~o e s e P e r s p e c t iv a s
Em computa»c~ao gr¶a¯ca um problema frequente ¶e como representar o ob j eto 3D nos
dispositivos de sa¶³da 2D. A solu»c~ao ¶e pro j etar o ob j eto 3D no plano 2D. Ou sej a o uso de
Pro j e»c~oes e Perspectivas.
Pro j e»c~oes s~ao muito usada em desenho t¶ecnico. Perspectivas s~ao muito usada na repre-
senta»c~ao de cenas real¶³sticas.
A pro j e»c~ao ¶e, matematicamente, uma fun»c~ao ou transforma»c~ao id e m p o t e n t e (isso ¶e,
uma fun»c~ao que repetida produz resultado ide^ntico) :
F : IRn ! IRn
P ! P 0 = F (P ) ; P 0 ! P 00 = F (P 0) = P 0
ou
F (F (P ) ) = F (P )
E x e m p lo : a pro j e»c~ao de um vetor em uma dire»c~ao ¶e obtida pelo p r o d u t o in t e r n o ou
p r o d u t o e s c a la r do vetor com o vetor unit¶ario da dire»c~ao.
Essas opera»c~oes de pro j e»c~ao s~ao executadas por matrizes de¯nidas de acordo com o tipo
de apare^ncia que desej a-se para o ob j eto. Algumas pro j e»c~oes recebem denomina»c~ao especial,
essas s~ao descritas a seguir.
S u m ¶a r io d o s t ip o s d e p r o je »c ~a o p a r a c o m p u t a »c ~a o g r ¶a ¯ c a
p r o je »c ~a o
. &
p a r a le la p e r s p e c t iv a ! 3 pontos de fuga
. # # &
cavaleira à o b liq u a a x o m ¶e t r ic a ! ortogr¶a¯ca 1 2
. . # &
cabinet isom¶etrica dim¶etrica trim¶etrica
7
A p r o je »c ~a o e m p e r s p e c t iv a ¶e obtida pela interse»c~ao de retas (chamadas r a io s p r o -
je t o r e s ) passando pelos v¶ertices do ob j eto a ser pro j etado e pelo c e n t r o d e p r o je »c ~a o , com
o p la n o d e p r o je »c ~a o ou plano de vista. Elas s~ao caracterizadas pelo n¶umero de centro de
pro j e»c~oes ou p o n t o s d e fu g a usados.
As p r o je »c ~o e s p a r a le la s s~ao obtidas de forma ide^ntica, mas com o plano de pro j e»c~ao
no in¯nito (logo todos os raios pro j etores ser~ao retas paralelas) . Se os raios pro j etores s~ao ?
ao p la n o d e v is t a , a pro j e»c~ao p a r a le la ¶e chamada a x o m ¶e t r ic a , caso contr¶ario ¶e chamada
o b liq u a As pro j e»c~oes a x o m ¶e t r ic a s mais importantes s~ao: a isom¶etrica, a dim¶etrica e a
ortogr¶agica.
Na pro j e»c~ao is o m ¶e t r ic a o plano de vista faz o m e s m o a^ n g u lo com os 3 principais eixos
do ob j eto, assim os 3 eixos do ob j eto sofrem a mesma varia»c~ao de comprimento. Na pro j e»c~ao
d im ¶e t r ic a o plano de vista tem mesmo a^ngulo com dois dos eixos principais do ob j eto (assim
2 eixos sofrem mesma varia»c~ao de medida) . Na pro j e»c~ao t r im ¶e t r ic a o plano de vista tem
a^ngulos diferentes com cada eixo principal do ob j eto (ocorrendo 3 varia»c~oes diferentes de
medidas) . Na pro j e»c~ao o r t o g r ¶a ¯ c a o plano de vista tem normal paralela a um dos eixos do
ob j eto.
Na pro j e»c~ao o b liq u a as linhas de pro j e»c~ao te^m a^ngulos 6= 90o como o plano de vista.
Estas pro j e»c~oes se caracterizam pela r e d u »c ~a o que ocasionam nas medidas de um dos eixos
do ob j eto, que ¶e uma consegue^ncia do a^ngulo que as linhas de pro j e»c~ao formam com o plano
de vista. Suas principais classi¯ca»c~oes s~ao:
c a v a le ir a ! quando as linhas de pro j e»c~ao fazem 45 o com o plano de pro j e»c~ao, logo n~ao
ocorre redu»c~ao de medidas.
c a b in e t ! ¶e um caso particular de obliqua, onde o 3o eixo tem suas medidas reduzidas
pela metade. Neste caso demostra-se facilmente que as linhas de pro j e»c~ao fazem aproximada-
mente 63o com o plano de pro j e»c~ao.
5 .6 .1 - D e t e r m in a »c ~a o d a s M a t r iz e s d e P r o je »c ~a o
As matrizes de pro j e»c~ao devem ser tais que, cada ponto P do ob j eto sej a levado no
ponto P 0 da sua imagem, de modo que nesta sej am veri¯cados os efeitos que caracterizam
determinada pro j e»c~ao: P 0 = P :M
(x' , y' , z' , 1 ) = (x, y, z, 1 ) j M j
Veremos a seguir as formas de determinar cada uma dessas pro j e»c~oes.
P r o je »c ~o e s a x o m ¶e t r ic a s :
Nestas pro j e»c~oes o plano de pro j e»c~ao deve ser paralelo aos planos do ob j eto e os raios
pro j etores perpendiculares a este plano. Podem ser dos tipos:
8
1) P r o je »c ~a o o r t o g r ¶a ¯ c a n o p la n o x = 0, todas as coordenadas x do ob j eto pertencem
a este plano (ou sej a ser~ao zero) :
M (ort: planox = 0 ) =
¯¯¯¯
¯¯¯0 0 0 00 1 0 0
0 0 1 0
0 0 0 1
¯¯¯¯
¯¯¯
2) P r o je »c ~a o o r t o g r ¶a ¯ c a n o p la n o y = 0, todas as coordenadas y do ob j eto pertencem
a este plano (ou sej a ser~ao zero) :
M (ort: planoy = 0 ) =
¯¯¯¯
¯¯¯1 0 0 00 0 0 0
0 0 1 0
0 0 0 1
¯¯¯¯
¯¯¯
3) P r o je »c ~a o o r t o g r ¶a ¯ c a n o pla n o z = 0 , todas as coordenadas z do ob j eto pertencem
a este plano (ou sej a ser~ao zero) :
M (ort: planoz = 0 ) =
¯¯¯¯
¯¯¯1 0 0 00 1 0 0
0 0 0 0
0 0 0 1
¯¯¯¯
¯¯¯
4) P r o je »c ~a o p r o je »c ~a o o r t o g r ¶a ¯ c a e m u m p la n o x = P , ¶e obtida pela combina»c~ao
da pro j e»c~ao no plano x = 0, com uma transla»c~ao (concatena»c~ao) .
Assim concatenando a pro j e»c~ao em x = 0, com a transla»c~ao para x = P , tem-se:¯¯¯¯
¯¯¯ 0 1
1
1
¯¯¯¯
¯¯¯
¯¯¯¯
¯¯¯ 1 1
1
P 1
¯¯¯¯
¯¯¯ =
¯¯¯¯
¯¯¯ 0 1
1
P 1
¯¯¯¯
¯¯¯
As posi»c~oes sem valores devem ser consideradas como iguais a zero!
5) As pro j e»c~oes is o m ¶e t r ic a , d im ¶e t r ic a e t r im ¶e t r ic a s (com mudan»cas especi¯cas de
medidas) s~ao obtidas por combina»c~ao de rota»c~ao seguidas de pro j e»c~ao.
Antes da pro j e»c~ao, em z = 0 (por exemplo) , aplica-se a rota»c~ao de ¯ em torno de y
seguida de uma rota»c~ao de ® em torno de x , resultando:¯¯¯¯
¯¯¯c o s ¯ 0 ¡ s e n ¯ 00 1 0 0
s e n ¯ 0 c o s ¯ 0
0 0 0 1
¯¯¯¯
¯¯¯
¯¯¯¯
¯¯¯1 0 0 00 c o s ® s e n ® 0
0 ¡ s e n ® c o s ® 0
0 0 0 1
¯¯¯¯
¯¯¯ = M (¯ e m y ® e m x )
9
¯¯¯¯
¯¯¯c o s ¯ s e n ¯ s e n ® ¡ s e n ¯ c o s ® 00 c o s ® s e n ® 0
s e n ® ¡ s e n ® c o s ¯ c o s ® c o s ¯ 0
0 0 0 1
¯¯¯¯
¯¯¯= M (¯ e m y ® e m x )
Pro j etando em z = 0, tem-se :
M 0(¯ e m y ® e m x ) = M (¯ e m y ® e m x ) :
¯¯¯¯
¯¯¯ 1 1
0
1
¯¯¯¯
¯¯¯
M 0(¯ e m y ® e m x ) =
¯¯¯¯
¯¯¯c o s ¯ s e n ¯ s e n ® 0 00 c o s ® 0 0
s e n ® ¡ s e n ® c o s ¯ 0 0
0 0 0 1
¯¯¯¯
¯¯¯
Para levar em conta a mundan»ca mas medidas do ob j eto, considera-se agora a trans-
forma»c~ao de vetores unit¶arios em x e y. O vetor unit¶ario em x , U x , depois de transformado
ser¶a, U 0x :
U 0x = j1 ; 0; 0; 1 j : M 0( ¯ e m y ® e m x ) = jc o s ¯ ; s e n ¯ s e n ® ; 0; 1 ; j
e o vetor unit¶ario em y , U y , depois de transformado ser¶a , U
0
y :
U 0y = j 0; 1 ; 0; 1 ; j : M 0(¯ e m y ® e m x ) = j0; c o s ® ; 0; 1 ; j
Por de¯ni»c~ao a pro j e»c~ao dim¶etrica e a isom¶etrica devem ter mesma redu»c~ao em U x e
U y assim, os vetores depois de transformados devem ter o mesmo comprimento ou norma (
ja ; b ; c j =
p
a 2 + b 2 + c 2 ) . Calculando esses valores temos:
jU 0x j = jU 0y j ! c o s 2 ¯ + s e n 2 ¯ s e n 2 ® = c o s 2 ®
re-escrevendo a igualdade s¶o em fun»c~ao de \senos" :
(1 ¡ s e n 2 ¯ ) + s e n 2 ¯ s e n 2 ® = (1 ¡ s e n 2 ® )
organizando a express~ao pode-se simpli¯car como:
s e n 2 ¯ (s e n 2 ® ¡ 1 ) = ¡ s e n 2 ®
_:: s e n 2 ¯ = +
s e n 2 ®
1 ¡ s e n 2 ® (A )
s e n 2 ¯ = +
s e n 2 ®
c o s 2 ®
= ta n 2 ® ) s e n ¯ = ta n ®
1 0
Observa-se que tem-se in¯nitos pares de a^ngulos que satisfazem essa rela»c~ao. Assim, para
uma pro j e»c~ao d im ¶e t r ic a , escolhe-se um a^ngulo em torno de x ( ® ) e determina-se ¯ . Por
exemplo se: ® = 30o ent~ao ¯ deve ser: ¯ = 35,26o
de modo que M (35 ; 26oe m y ; 30
o
e m x ) ser¶a:
M (35 ; 26oe m y ; 30
o
e m x ) =
¯¯¯¯
¯¯¯¯
p
6= 3
p
3= 6 0 0
0
p
3= 2 0 0p
3= 3 ¡
p
6= 6 0 0
0 0 0 1
¯¯¯¯
¯¯¯¯ =
¯¯¯¯
¯¯¯0:82 0:29 0 00 0:87 0 0
0:58 ¡ 0:41 0 0
0 0 0 1
¯¯¯¯
¯¯¯
Por exemplo suponha que voce^ queira desenhar um cubo em perspectiva dim¶etrica com
coordenadas: A = j0; 0; 1 ; 1 j
B = j1 ; 0; 1 ; 1 j
C = j1 ; 0; 0; 1 j
D = j0; 1 ; 1 ; 1 j
E = j1 ; 1 ; 1 ; 1 j
F = j1 ; 1 ; 0; 1 j
G = j0; 1 ; 0; 1 j
O cubo depois de pro j etado ter¶a coordenadas P 0 = P :M , dadas pela multiplica»c~ao de
cada ponto pela matriz acima. Fazendo isso tem-se:
A 0 = j0:58; ¡ 0:41 ; 0; 1 j
B 0 = j1 :40; ¡ 0:1 2; 0; 1 j
C 0 = j0:82 ; 0:29; 0; 1 j
D 0 = j0:58; 0:46; 0; 1 j
E 0 = j1 :40; 0:75 ; 0; 1 j
F 0 = j0:82 ; 1 :1 6; 0; 1 j
G 0 = j 0; 0:87; 0; 1 j
Se voce plotar esses pontos em um sistema de eixos x-y e uni-los por linhas retas, obter¶a
o desenho do cubo como visto por essas pro j e»c~oes.
Para uma pro j e»c~ao is o m ¶e t r ic a , por de¯ni»c~ao todos os vetores unit¶arios dever~ao sofrer
a mesma varia»c~ao de comprimento ou sej a jU 0x j = jU 0y j = jU 0z j
Assim tem-se uma outra equa»c~ao al¶em da anterior: c o s 2 ¯ + s e n 2 ¯ s e n 2 ® = c o s 2 ® (1 )
a ser satisfeita , est¶a ser¶a obtida considerando a transforma»c~ao por M ( ¯ e m y ® e m x ) de um
vetor unit¶ario em z :
U 0z = j0; 0; 1 ; 1 j
¯¯¯¯
¯¯¯c o s ¯ s e n ¯ s e n ® ¡ s e n ¯ c o s ® 00 c o s ® s e n ® 0
s e n ¯ ¡ s e n ® c o s ¯ c o s ¯ c o s ® 0
0 0 0 1
¯¯¯¯
¯¯¯
U 0z = js e n ¯ ¡ s e n ® ; cos ¯ ; 0; 1 j
este vetor ter¶a comprimento: jU 0z j = s e n 2 ¯ + s e n 2 ® c o s 2 ¯
1 1
e por de¯ni»c~ao deve ser o mesmo comprimento dos demais vetores unit¶arios:
jU 0z j = jU 0y j ! s e n 2 ¯ + s e n 2 ® c o s 2 ¯ = c o s 2 ® (2)
desenvolvendo (2) como anteriormente, tem-se:
s e n 2 ¯ =
1 ¡ 2 s e n 2 ®
1 ¡ s e n 2 ® (B )
igualando as equa»c~oes (A) e (B) obt¶em-se: c o s ® =
p
6= 3 ¼ 35; 26o
substituindo em (A) :
s e n 2 ¯ =
1 = 3
1 ¡ 1 = 3 =
1
2
! ¯ = 45 o
logo para pro j e»c~oes isom¶etricas, a matriz ser¶a:
M (isometrica) =
¯¯¯¯
¯¯¯
p
2 = 2
p
6= 6 0 0
0
p
6= 3 0 0p
2 = 2 ¡ p 6= 6 0 0
0 0 0 1
¯¯¯¯
¯¯¯=
¯¯¯¯
¯¯¯0:707 0:408 0 00 0:81 7 0 0
0:707 ¡ 0:408 0 0
0 0 0 1
¯¯¯¯
¯¯¯
Por exemplo, o cubo anterior seria descrito pelas coordenadas:
A 0 = j0:707; ¡ 0:408; 0; 1 j
B 0 = j1 :41 4; 0; 0; 1 j
C 0 = j0:707; 0:408; 0; 1 j
D 0 = j0:707; 0:408; 0; 1 j
E 0 = j1 :414; 0:81 7; 0; 1 j
F 0 = j0:707; 1 :225 ; 0; 1 j
G 0 = j0; 0:81 7; 0; 1 j
Desenhe o cubo depois de transformado por pro j e»c~ao isom¶etrica.
P r o je »c ~o e s o b liq u a s :
Nestas pro j e»c~oes os raios pro j etores n~ao est~ao em a^ngulo reto com o plano de pro j e»c~ao.
Se for considerada a pro j e»c~ao no plano z = 0, um vetor unit¶ario na dire»c~ao z , j0; 0; 1 ; 1 j,
n~ao ser¶a mais pro j etado em j0; 0; 0; 1 j e sim em um ponto jP x ; P y ; 0; 1 j dependendo da dire»c~ao
dos raios pro j etores.
Assim a matriz de transforma»c~ao ser¶a:¯¯¯¯
¯¯¯1 0 0 00 1 0 0
P x P y 0 0
0 0 0 1
¯¯¯¯
¯¯¯
O usu¶ario deve ent~ao especi¯car algo al¶em da inclina»c~ao dos raios pro j etores com o plano
de pro j e»c~ao. Esse dado a mais pode ser, por exemplo, para que ponto desej a-se pro j etar o
vetor unit¶ario, isso ¶e: ( P x ; P y ) , ou especi¯camente l e ® , onde l ¶e o comprimento do terceiro
eixo e ® ¶e o a^ngulo que este eixo faz com a horizontal. As duas formas s~ao equivalentes.
1 2
Supondo que o ponto (0, 0, 1 ) sej a pro j etado em (P x ; P y ; 0) isso ¶e o mesmo que pro j etar esse
ponto em (l c o s ® ; l s e n ® ; 0) .
As principais pro j e»c~oes obliquas s~ao: cavalier e cabinet. Na pro j e»c~ao c a v a lie r , o a^ngulo
entre as linhas de pro j e»c~ao e o plano de pro j e»c~ao , (½ ) , deve ser 45 o , logo l = 1. Assim,
½ = 45 o ! l = 1 (n~ao h¶a encurtamento) . O a^ngulo ® neste caso pode ser qualquer.
Mas em desenho t¶ecnico ® ¶e geralmente § 30o ou § 45 o . Com esses dados ¶e contruida a
matriz. Por exemplo para ® = 45 tem-se
¯¯¯¯
¯¯¯ 1 0 0 00 1 0 0p
2= 2
p
2 = 2 0 0
0 0 0 1
¯¯¯¯
¯¯¯
Na pro j e»c~ao c a b in e t o encurtamento do eixo deve ser de 50% : l = 1 = 2 : Assim:
ta n ½ =
1q
P 2x + P
2
y
=
1
1 = 2
= 2
½ = a r c ta n 2 6» 63; 4o
o a^ngulo ® novamente pode ser qualquer, assim se ® = 45 o :
¯¯¯¯
¯¯¯ 1 0 0 00 1 0 0p
2= 4
p
2 = 4 0 0
0 0 0 1
¯¯¯¯
¯¯¯
O cubo do exemplo anterior, transformado por esta pro j e»c~ao, teria coordenadas:
A' = [ 0. 7 , 0. 7, 0, 1 ]
B' = [ 1 . 7 , 0. 7, 0 , 1 ]
C' = [ 1 , 0 , 0 , 1 ]
D' = [ 0. 7 , 1 . 7, 0 , 1 ]
E' = [ 1 . 7 , 1 . 7, 0 , 1 ]
F' = [ 1 , 1 , 0 , 1 ]
G' = [ 0 , 1 , 0 , 1 ]
Desenhe o cubo como visto por essa pro j e»c~ao.
1 3
P e r s p e c t iv a s :
As p e r s p e c t iv a s se caracterizam pelo n¶umero de centros de pro j e»c~ao e suas posi»c~oes.Supondo uma pro j e»c~ao no plano z = 0 com centro de pro j e»c~ao (0; 0; V z ; 1 ) , a pro j e»c~ao
perspectiva do ponto P [x ; y ; z ; 1 ] ser¶a o ponto P 0[x 0; y 0; 0; 1 ] dado pela interse»c~ao das retas
que passam pelo centro de pro j e»c~ao , (0; 0; V z ; 1 ) , com o plano z = 0.
A pergunta ¶e: que matriz M ( p e r s p :) ¶e tal que pro j eta P em P
0, ou sej a que M faz:
P 0 = P :M ( p e r s p :) ? Pela se»c~ao 5. 5, chega-se a:
¯¯¯
x ; y ; 0;
¡ z
V z
+ 1
¯¯¯
=
¯¯¯
x ; y ; z ; 1
¯¯¯¯¯¯¯¯¯¯1 0 0 00 1 0 0
0 0 0 ¡ 1V z
0 0 0 1
¯¯¯¯
¯¯¯
Assim, um ponto situado em sobre o eixo z por exemplo: [0; 0; 1 ; 1 ] (ou qualquer outro
[0; 0; z ; 1] , desde que z 6= V z ) ser¶a levado a (se a matriz perspectiva for aplicada sem a pro j e»c~ao
no plano z = 0) ¯¯¯
0; 0; 0; 1 ¡ 1
V z
¯¯¯
Repare que esse ponto ¶e a origem do sistema de eixos.
J¶a os pontos no mesmo plano do eixo de pro j e»c~ao , [x ; y ; V z ; 1 ] , ser~ao levados a
j1 ; 1 ; 0; 1 ; j = in ¯ n it o !
Note ainda que um ponto pro j etado no in¯nito sobre o eixo z , [0; 0; 1 ; 0] , ser¶a transfor-
mado no ponto: [0; 0; ¡ V z ; 1 ] .
Como retas paralelas ao eixo z se encontam no \in¯nito" na dire»c~ao z , e as retas paralelas
ao eixo z , se encontam depois de pro j etadas, no ponto [0; 0; ¡ V z ; 1 ] . Este ponto ¶e chamado
p o n t o d e fu g a . Isto signi¯ca que todo o dom¶³nio positivo do eixo z (0 · z · 1 ) ¶e pro j etado
no dom¶³nio ¯nito (0 · z ¤ · ¡ V z ) .
Da mesma meneira pode-se ter perspectivas com p o n t o s d e fu g a s o b r e o e ix o x o u
y , (e depois pro j etadas para qualquer plano) . Esses ser~ao dados respectivamente por:¯¯¯¯
¯¯¯1 ¡ 1 = V x1 1
1 1
1
¯¯¯¯
¯¯¯ ou
¯¯¯¯
¯¯¯1 11 ¡ 1 = V y
1 1
1
¯¯¯¯
¯¯¯
Nessas matrizes lugarem em branco correspondem a valores iguais a zero.
Se quizermos que o centro de pro j e»c~ao (correspondente ao eixo z) estej a numa posi»c~ao
qualquer: [V x ; V y ; V z ; 1 ] ent~ao:
1o. translada-se o ponto para a origem;
2o. usa-se M p e r s p ; ;
3o. translada-se de volta a (V x ; V y ; V z ; 1 ) .
A matriz de pro j e»c~ao ser¶a a resultante do produto:
1 4
P 0 = P
¯¯¯¯
¯¯¯ 1 0 0 00 1 0 0
0 0 1 0
¡ V x ¡ V y 0 1
¯¯¯¯
¯¯¯
¯¯¯¯
¯¯¯1 0 0 00 1 0 0
0 0 0 ¡ 1 = V z
0 0 0 1
¯¯¯¯
¯¯¯
¯¯¯¯
¯¯¯ 1 0 0 00 1 0 0
0 0 1 0
V x V y 0 1
¯¯¯¯
¯¯¯
ou sej a a matriz para uma pro j e»c~ao no plano z = 0 , e um ponto de fuga, de coordenada
[V x ; V y ; V z ] ser¶a: ¯¯¯¯
¯¯¯ 1 0 0 00 1 0 0¡ V xV z ¡ V yV z 0 ¡ 1V z
0 0 0 1
¯¯¯¯
¯¯¯
O cubo do exemplo inicial, se visto do ponto[0; 0; V z ] (centro de pro j e»c~ao em : [0; 0; V z ; 1 ] )
ser¶a levado a:
A 0 = [0; 0; 0; 1 ¡ 1V z ]
B 0 = [1 ; 0; 0; 1 ¡ 1V z ]
C 0 = [1 ; 0; 0; 1 ]
D 0 = [0; 1 ; 0; 1 ¡ 1V z ]
E 0 = [1 ; 1 ; 0; 1 ¡ 1V z ]
F 0 = [1 ; 1 ; 0; 1 ]
G 0 = [0; 1 ; 0; 1 ]
Assim linhas que eram originalmente paralelas a z parecer~ao agora passar pelo ponto:
[0 , 0 , -Vz , 1 ] . Este ponto ¶e chamado de ponto de fuga ou \ v a n is h in g p o in t " .
Exempli¯cando, se V z = [1 = 2 1 = 2 2]
M p e r s p :
¯¯¯¯
¯¯¯ 1 0 0 00 1 0 0¡ 1 = 4 ¡ 1 = 4 0 ¡ 1 = 2
0 0 0 1
¯¯¯¯
¯¯¯
e o cubo inicial ter¶a coordenadas:
A' = [ -1 /4 ; -1/4 ; 0 ; 1 /2 ]
B' = [ 3/4 ; -1/4 ; 0 ; 1 /2 ]
C' = [ 1 ; 0 ; 0 ; 1 ]
D' = [ -1 /4 ; 3/4 ; 0 ; 1 /2 ]
E' = [ 3/4 ; 3/4 ; 0 ; 1 /2 ]
F' = [ 1 ; 1 ; 0 ; 1 ]
G' = [ 0 ; 1 ; 0 ; 1 ]
Desenhe o cubo!
1 5
De maneira semelhante tem-se perspectivas com um ponto de fuga sobre e ix o x ou sobre o
y e coordenadas [V x ; V y ; V z ] .
Para perspectivas com d o is p o n t o s d e fu g a , por exemplo para pontos de fuga em
[¡ V x ; 0; 0] [0; ¡ V y ; 0] , tem-se: ¯¯¯¯
¯¯¯¯1 0 0 ¡
1
V x
0 1 0 ¡ 1V y
0 0 1 0
0 0 0 1
¯¯¯¯
¯¯¯¯
Para perspectivas com 3 p o n t o s d e fu g a , por exemplo para pontos de fuga em
[¡ V x ; 0; 0] , [0; ¡ V y ; 0] e [0; 0; ¡ V z ; 0] tem-se:¯¯¯¯
¯¯¯1 ¡ 1 = V x1 ¡ 1 = V y
1 ¡ 1 = V z
1
¯¯¯¯
¯¯¯
Obs. :
1- Nas matrizes acima n~ao ocorreu ainda a pro j e»c~ao em qualquer plano.
2- A transforma»c~ao perspectiva n~ao leva IE ! IE pois as retas paralelas n~ao s~ao
pro j etadas em retas paralelas. (IE = espa»co Euclidiano) .
5 .7 - C a r a c t e r is t ic a s d a s M a t r iz e s d e T r a n s fo r m a »c ~o e s
e m C o o r d e n a d a s H o m o g e^ n e a s
Todas as transforma»c~oes e pro j e»c~oes podem ser representas por uma ¶unica matriz obtida
da concatena»c~ao de todos os efeitos a que o ob j eto estiver submetido.
A matriz ¯nal pode ser dividido em 4 submatrizes.2666664
P E R P e r s p
3 £ 3 3 £ 1
T 1 £ 3 E G 1 £ 1
3777775
As letras querem dizer que efeito cada parti»c~ao representa.
PER { ¶e respons¶avel pelas pro j e»c~oes paralelas, mudan»cas de escala e rota»c~oes,
T { ¶e respons¶avel pelas transla»c~oes,
Persp { ¶e respons¶avel pelas perspectivas,
EG { ¶e respons¶avel pela transforma»c~ao global de escala.
1 6
5 .8 - C o o r d e n a d a s e s f¶e r ic a s e c ilin d r ic a s
Os pontos em 3-D podem ser representados por outros tipos de coordenadas al¶em das
c o o r d e n a d a s r e t a n g u la r e s , como por exemplo as c o o r d e n a d a s e s f¶e r ic a s e a s c ilin d r ia s .
Nas coordenadas cil¶indricas ao inv¶es de 3 posi»c~oes usa-se a dista^ncia do ponto ao centro,
ou r a io , um a^ngulo e uma altura h . O raio e o a^ngulo com o eixo x formam um sistema 2D
de coordenadas polares . Se a altura for na dire»c~ao do eixo z , um ponto ser¶a descrito como:
(R, µ , h) .
Assim os sistemas de coordenadas cartesianos e cilindricos se relacionam por:(
x = R c o s µ
y = R s e n µ
z = h
ou 8<: R =
p
x 2 + y 2
µ = ta n ¡ 1 (y = x )
h = z
Nas coordenadas esf¶ericas ao inv¶es de 3 posi»c~oes usa-se a dista^ncia do ponto ao centro,
ou r a io , e dois a^ngulos: o a^ngulo com o eixo x e o a^ngulo com o eixo z . Um ponto ser¶a
descrito como: (R, µ ; Á ) . Esse sistema de coordenadas se relaciona com o cartesiano por:(
x = R s e n Á c o s µ
y = R s e n Á s e n µ
z = R c o s Á
ou 8<: R =
p
x 2 + y 2 + z 2
µ = ta n ¡ 1 ( y = x )
Á = c o s ¡ 1 (z = R )
Por exemplo, o mesmo ponto do espa»co pode ser descrito como: (4, 2, 3) ou (5. 43, 27o , 56o ) .
B ib lio g r a ¯ a :
(1 ) Yvon Gardan, Mathematics and CAD, Vol. 1 : Numerical Methods for CAD. MIT Press,
Cambridge, Massachusetts, 1 986.
(2) Steven Harrignton, Computer Graphics: a programming approach, 2nd edition, McGraw-
Hill, 1 988
(3) J. D. Foley,A. van Dam,S. K. Feiner, J. F. Hughes. Computer Graphics- Principles and Prac-
tice, Addison-Wesley, 1 990.
(4) Vera B. Anand, Computer Graphics and Geometric Modeling, John-Wiley, 1993.
(5) Alan H. Watt, Fabio Policarpo, The Computer Image , Addison-Wesley Pub Co (Net) ,
1 998.
1 7

Outros materiais