Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B....
Transcript of Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B....
![Page 1: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/1.jpg)
Alberto Raposo – PUC-Rio
INF 1366 – Computação Gráfica Interativa
Transformações
Alberto B. Raposo
http://www.tecgraf.puc-rio.br/~abraposo/INF1366
![Page 2: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/2.jpg)
Alberto Raposo – PUC-Rio
Sistemas de Coordenadas
• Objetos em Computação Gráfica possuem descrições numéricas (modelos) que caracterizam suas formas e dimensões.
• Esses números se referem a um sistema de coordenadas, normalmente o sistema Cartesiano de coordenadas: x, y e z.
• Em alguns casos, precisamos de mais de um sistema de coordenadas:– Um sistema local para descrever partes individuais de uma
máquina, por exemplo, que pode ser montada especificando-se a relação de cada sistema local das várias peças.
John Dingliana, 2004
![Page 3: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/3.jpg)
Alberto Raposo – PUC-Rio
Transformações• Em alguns casos, objetos exibem simetrias, de modo
que apenas parte deles precisa ser descrita, pois o resto pode ser construído por reflexão, rotação e/ou translação do pedaço original.
• Um projetista pode querer visualizar um objeto sob vários pontos de vista, rotacionando-o ou movendo uma câmera virtual.
• Em animação, um ou mais objetos podem precisar se mover em relação ao outro, de modo que seus sistemas de coordenadas locais devam ser transladados e rotacionados ao longo da animação.
John Dingliana, 2004
![Page 4: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/4.jpg)
Alberto Raposo – PUC-Rio
etc...
Exemplo 1
• Partes do objeto definidas em sistemas de coordenadas locais:
• Objeto “montado” por meio de transformação das partes constituintes:
John Dingliana, 2004
![Page 5: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/5.jpg)
Alberto Raposo – PUC-Rio
5 etapas de uma animação de um cubo girando
Exemplo 2
• A cada quadro da animação, o objeto é transformado (rotação, nesse caso).
• O objeto também poderia ser transformado pela mudança de tamanho (escalamento), sua forma (deformação), ou sua localização (translação).
• Outros efeitos de animação são obtidos sem alterar o objeto em si, mas a forma como ele é visualizado (transformação window to viewport) a cada quadro (por exemplo, um zoom).
John Dingliana, 2004
![Page 6: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/6.jpg)
Alberto Raposo – PUC-Rio
Transformações• Há 2 formas de se enxergar uma transformação
– Uma Transformação de Objeto altera as coordenadas de cada ponto de acordo com alguma regra, mantendo o sistema de coordenadas inalterado.
– Uma Transformação de Coordenadas produz um sistema de coordenadas diferente, e então representa todos os pontos originais nesse novo sistema.
• Cada maneira tem suas vantagem, e são intimamente relacionadas.
John Dingliana, 2004
![Page 7: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/7.jpg)
Alberto Raposo – PUC-Rio
1,1
.4, 2
TRANSFORMAÇÃO DE OBJETO
(1,1)
(1,1)
TRANSFORMAÇÃO DE COORDENADAS
John Dingliana, 2004
![Page 8: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/8.jpg)
Alberto Raposo – PUC-Rio
Classes de Transformações
• Euclidianas / Corpos Rígidos
• de Similaridade
• Lineares
• Afins
• Projetivas
![Page 9: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/9.jpg)
Alberto Raposo – PUC-Rio
Transformações Euclidianas
• Preservam distâncias
• Preservam ângulos
Translação
Rotação
Corpos Rígidos / Euclidianas
Identidade
Identidade
Translação
Rotação
MIT EECS 6.837, Durand and Cutler
![Page 10: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/10.jpg)
Alberto Raposo – PUC-Rio
Transformações de Similaridade
• Preservam ângulos
TranslaçãoRotação
Euclidianas
Similaridades
EscalamentoIsotrópico
Identidade
MIT EECS 6.837, Durand and Cutler
EscalamentoIsotrópico
![Page 11: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/11.jpg)
Alberto Raposo – PUC-Rio
Transformações Lineares
TranslaçãoRotação
EuclidianasLinear
Similaridades
EscalaentoIsotrópico
IdentidadeEscalamento
Shear
Reflexão
Escalamento Reflexão Shear
MIT EECS 6.837, Durand and Cutler
![Page 12: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/12.jpg)
Alberto Raposo – PUC-Rio
Transformações Lineares
• L(p + q) = L(p) + L(q)
• L(ap) = a L(p)
MIT EECS 6.837, Durand and Cutler
![Page 13: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/13.jpg)
Alberto Raposo – PUC-Rio
Transformações Afins
• Preservam linhas paralelas Afins
TranslaçãoRotação
EuclidianasLinear
Similaridades
EscalaentoIsotrópico
IdentidadeEscalamento
Shear
Reflexão
![Page 14: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/14.jpg)
Alberto Raposo – PUC-Rio
TransformaçõesProjetivas
• preservam linhas Projetivas
Perspectiva
Afins
TranslaçãoRotação
EuclidianasLinear
Similaridades
EscalaentoIsotrópico
IdentidadeEscalamento
Shear
Reflexão
![Page 15: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/15.jpg)
Alberto Raposo – PUC-Rio
Perpectiva
Perspectiva é um dos fatoresque dá “aparência 3D” às cenas
![Page 16: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/16.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D
EscalamentoRotação
Translação
EscalamentoTranslação
x
y
Coordenadas do mundo
Coordenadas de modelagem
D. Brogan, Univ. of Virginia
![Page 17: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/17.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D
x
y
Coordenadas de modelagem
Localizaçãoinicial em(0, 0) comeixos x e yalinhados
D. Brogan, Univ. of Virginia
![Page 18: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/18.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D
x
y
Coordenadas de modelagem
Scale .3, .3Rotate -90
Translate 5, 3
D. Brogan, Univ. of Virginia
![Page 19: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/19.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D
x
y
Coordenadas de modelagem
Scale .3, .3Rotate -90
Translate 5, 3
D. Brogan, Univ. of Virginia
![Page 20: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/20.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D
x
y
Coordenadas de modelagem
Scale .3, .3Rotate -90
Translate 5, 3
D. Brogan, Univ. of Virginia
![Page 21: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/21.jpg)
Alberto Raposo – PUC-Rio
VRML: Nó Transform
![Page 22: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/22.jpg)
Alberto Raposo – PUC-Rio
Exemplo em VRML
The Annotated VRML Reference
![Page 23: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/23.jpg)
Alberto Raposo – PUC-Rio
Exemplo em VRML
![Page 24: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/24.jpg)
Alberto Raposo – PUC-Rio
X3D – Nó Transform
![Page 25: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/25.jpg)
Alberto Raposo – PUC-Rio
Exemplo em X3D
![Page 26: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/26.jpg)
Alberto Raposo – PUC-Rio
A ordem das transformações faz diferença!
![Page 27: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/27.jpg)
Alberto Raposo – PUC-Rio
Escalamento• Escalar uma coordenada significa multiplicar cada
um de seus componentes por um valor escalar• Escalamento isotrópico significa que esse valor
escalar é o mesmo para todos os componentes
2
D. Brogan, Univ. of Virginia
![Page 28: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/28.jpg)
Alberto Raposo – PUC-Rio
• Escalamento não-isotrópico: valores escalares diferentes por componente:
• Como representar o escalamento na forma de matrizes?
Escalamento
X 2,Y 0.5
D. Brogan, Univ. of Virginia
![Page 29: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/29.jpg)
Alberto Raposo – PUC-Rio
Escalamento
• Operação de escalamento:
• Na forma matricial:
by
ax
y
x
'
'
y
x
b
a
y
x
0
0
'
'
Matriz de escalamento
D. Brogan, Univ. of Virginia
![Page 30: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/30.jpg)
Alberto Raposo – PUC-Rio
Rotação 2D
cos ( ) cos cos sin sin ( ) ( ) ( ) ( )
sin ( ) sin cos cos sin ( ) ( ) ( ) ( )P
Q
R PX
PY
[1][2]
[3][4]
[1] )( )( )( )( sinsincoscos RRxQ
Substituindo de [3] e [4]…
)( )( sincos yPxPxQ
Similarmente, a partir de [2]…
)( )( sincos xPyPyQ
)Rcos( QX )Rsin( Qy
)(cosR PX )(sinR Py
John Dingliana, 2004
![Page 31: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/31.jpg)
Alberto Raposo – PUC-Rio
Rotação 2D
(x, y)
(x’, y’)
x’ = x cos() - y sin()y’ = x sin() + y cos()
D. Brogan, Univ. of Virginia
![Page 32: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/32.jpg)
Alberto Raposo – PUC-Rio
Rotação 2D• Na forma matricial:
• Embora sin() e cos() sejam funções não-lineares de ,– x’ é combinação linear de x e y– y’ é combinação linear de x e y
y
x
y
x
cossin
sincos
'
'
D. Brogan, Univ. of Virginia
![Page 33: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/33.jpg)
Alberto Raposo – PUC-Rio
Translação 2D
y
x
y
x
tytx
tt
yx
yx
''
y
xx
y
y
x
t
tt
M. Gattass, PUC-Rio
![Page 34: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/34.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D Básicas• Translação:
– x’ = x + tx
– y’ = y + ty
• Escalamento:– x’ = x * sx – y’ = y * sy
• Rotação:– x’ = x*cos - y*sin – y’ = x*sin + y*cos
Podem ser combinadascom álgebra simples
D. Brogan, Univ. of Virginia
![Page 35: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/35.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D Básicas
• Translação:– x’ = x + tx
– y’ = y + ty
• Escalamento:– x’ = x * sx – y’ = y * sy
• Rotação:– x’ = x*cos - y*sin – y’ = x*sin + y*cos
D. Brogan, Univ. of Virginia
![Page 36: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/36.jpg)
Alberto Raposo – PUC-Rio
• Translação:– x’ = x + tx
– y’ = y + ty
• Escalamento:– x’ = x * sx – y’ = y * sy
• Rotação:– x’ = x*cos - y*sin – y’ = x*sin + y*cos
x’ = x*sx
y’ = y*sy
(x,y)
(x’,y’)
Transformações 2D Básicas
D. Brogan, Univ. of Virginia
![Page 37: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/37.jpg)
Alberto Raposo – PUC-Rio
x’ = (x*sx) *cos - (y*sy) * siny’ = (x*sx) * sin + (y*sy) * cos
(x’,y’)
• Translação:– x’ = x + tx
– y’ = y + ty
• Escalamento:– x’ = x * sx – y’ = y * sy
• Rotação:– x’ = x*cos - y*sin – y’ = x*sin + y*cos
D. Brogan, Univ. of Virginia
Transformações 2D Básicas
![Page 38: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/38.jpg)
Alberto Raposo – PUC-Rio
• Translação:– x’ = x + tx
– y’ = y + ty
• Escalamento:– x’ = x * sx – y’ = y * sy
• Rotação:– x’ = x*cos - y*sin – y’ = x*sin + y*cos
x’ = ((x*sx)*cos - (y*sy)*sin) + tx
y’ = ((x*sx)*sin + (y*sy)*cos) + ty
(x’,y’)
D. Brogan, Univ. of Virginia
Transformações 2D Básicas
![Page 39: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/39.jpg)
Alberto Raposo – PUC-Rio
Representação Matricial
• Representar transformação 2D por uma matriz
• Multiplicar matriz por vetor-coluna aplicar transformação a um ponto
yx
dcba
yx''
dcba
dycxy
byaxx
'
'
D. Brogan, Univ. of Virginia
![Page 40: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/40.jpg)
Alberto Raposo – PUC-Rio
Representação Matricial
• Transformações são combinadas por multiplicação de matrizes
yx
lkji
hgfe
dcba
yx
''
Matrizes são uma forma conveniente e eficiente de representar uma seqüência de transformações
D. Brogan, Univ. of Virginia
![Page 41: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/41.jpg)
Alberto Raposo – PUC-Rio
Produto de Matrizes
q
kkjikij bac
1
qmqq
m
m
nqnn
q
q
bbb
bbb
bbb
aaa
aaa
aaa
21
22221
11211
21
22221
11211
ABC
100
010
001
Ineutro:M. Gattass, PUC-Rio
![Page 42: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/42.jpg)
Alberto Raposo – PUC-Rio
Matrizes 2x2
• Que transformações planares podem ser representadas com uma matriz 2x2?
Identidade 2D?
yyxx
''
yx
yx
1001
''
Escalemento 2D em torno de (0,0)?
ysy
xsx
y
x
*'
*'
y
x
s
s
y
x
y
x
0
0
'
'
D. Brogan, Univ. of Virginia
![Page 43: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/43.jpg)
Alberto Raposo – PUC-Rio
Matrizes 2x2
• Que transformações planares podem ser representadas com uma matriz 2x2?
D. Brogan, Univ. of Virginia
Rotação 2D em torno de (0,0)?
yxyyxx
*cos*sin'*sin*cos'
y
x
y
x
cossin
sincos
'
'
![Page 44: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/44.jpg)
Alberto Raposo – PUC-Rio
Matrizes 2x2
• Que transformações planares podem ser representadas com uma matriz 2x2?
D. Brogan, Univ. of Virginia
Espelhamento 2D em torno de Y?
yyxx
''
yx
yx
1001
''
Espelhamento 2D em torno de (0,0)?
yyxx
''
yx
yx
1001
''
![Page 45: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/45.jpg)
Alberto Raposo – PUC-Rio
Matrizes 2x2
• Que transformações planares podem ser representadas com uma matriz 2x2?
D. Brogan, Univ. of Virginia
Translação 2D?
y
x
tyy
txx
'
'NÃO!
![Page 46: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/46.jpg)
Alberto Raposo – PUC-Rio
Coordenadas Homogêneas
• Como representar uma translação como matriz 3x3?
y
x
tyy
txx
'
'
![Page 47: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/47.jpg)
Alberto Raposo – PUC-Rio
Coordenadas Homogêneas
•Coordenadas homogêneas– representam
coordenadas em 2 dimensões com vetor 3
1
homogêneas coord. yx
yx
• Coordenadas Homogêneas parecem pouco intuitivas, mas elas simplificam muito as operações gráficas
D. Brogan, Univ. of Virginia
![Page 48: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/48.jpg)
Alberto Raposo – PUC-Rio
Coordenadas Homogêneas
• Como representar uma translação como matriz 3x3?
y
x
tyy
txx
'
'
Resp: Usando a terceiracoluna da matriz
1001001
y
x
tt
Translação
D. Brogan, Univ. of Virginia
![Page 49: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/49.jpg)
Alberto Raposo – PUC-Rio
Translação
•Exemplo
111001001
1''
y
x
y
x
tytx
yx
tt
yx
tx = 2ty = 1
•Coordenadas Homogêneas
D. Brogan, Univ. of Virginia
![Page 50: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/50.jpg)
Alberto Raposo – PUC-Rio
Coordenadas Homogêneas
• Coloca uma 3a coordenada para cada ponto 3D– (x, y, w) representa um ponto em (x/w, y/w)
– (x, y, 0) representa um ponto no infinito
– (0, 0, 0) não é permitido
Sistema conveniente para representar muitas transformações úteis em CG
1 2
1
2(2,1,1) or (4,2,2) or (6,3,3)
x
y
D. Brogan, Univ. of Virginia
![Page 51: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/51.jpg)
Alberto Raposo – PUC-Rio
Transformações 2D Básicas
• Representação em matrizes 3x3
1100
0cossin
0sincos
1
'
'
y
x
y
x
1100
10
01
1
'
'
y
x
t
t
y
x
y
x
1100
01
01
1
'
'
y
x
sh
sh
y
x
y
x
Translação
RotaçãoCisalhamento (Shear)
1100
00
00
1
'
'
y
x
s
s
y
x
y
x
Escalamento
![Page 52: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/52.jpg)
Alberto Raposo – PUC-Rio
Cisalhamento (Shear)
yxshy
yshxx
y
x
*'
*'
x
y
x
y
11000100tan1
1
tan
1
''
yx
yyx
yx
M. Gattass, PUC-Rio
![Page 53: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/53.jpg)
Alberto Raposo – PUC-Rio
Concatenação de Transformações
x
y
x
y
x
y
x
y
x
y
x
yT1
R1
E
R2
T2
P’= T2 R2 E R1 T1 PP’= T2 R2 E R1 T1 PM. Gattass, PUC-Rio
![Page 54: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/54.jpg)
Alberto Raposo – PUC-Rio
Composição de Matrizes
• Transformações podem ser combinadas pela multiplicação de matrizes
w
y
x
sy
sx
ty
tx
w
y
x
100
00
00
100
0cossin
0sincos
100
10
01
'
'
'
p’ = T(tx,ty) R() S(sx,sy) p
D. Brogan, Univ. of Virginia
![Page 55: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/55.jpg)
Alberto Raposo – PUC-Rio
Composição de Matrizes
• Atenção: ordem das transformações faz diferença– Multiplicação de matrizes não é comutativa
p’ = T * R * S * p
“Global” “Local”
![Page 56: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/56.jpg)
Alberto Raposo – PUC-Rio
Ordem das Transformações
x
y
y
xp
R x
y
2
22 y
xp
T
x
y
1
11 y
xp
R x
y
y
x1p
x
y
2
22 y
xp
T
(a)
(b)M. Gattass, PUC-Rio
![Page 57: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/57.jpg)
Alberto Raposo – PUC-Rio
Ordem das Transformações
• Ex: rotacionar segmento em 45 graus em torno da extremidade a
a a
Resultado esperado
D. Brogan, Univ. of Virginia
![Page 58: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/58.jpg)
Alberto Raposo – PUC-Rio
Ordem das Transformações
• Erro: aplicar a rotação de 45o, R(45), afeta as duas extremidades– Pode-se tentar fazer a rotação e depois retornar o ponto
a à sua posição original, mas quanto ele precisaria ser transladado?
Errado!R(45)
aa
CorretoT(-3) R(45) T(3)
a
D. Brogan, Univ. of Virginia
Como trazer o ponto a devolta à posição original??
?
![Page 59: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/59.jpg)
Alberto Raposo – PUC-Rio
Ordem das Transformações
• Correto: isolar ponto a dos efeitosda rotação
1. Transladar a linha para colocar a na origem: T (-3)
2. Rotacionar linha em 45o: R(45)
3. Transladar a de volta: T(3)
a
a
a
a
D. Brogan, Univ. of Virginia
![Page 60: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/60.jpg)
Alberto Raposo – PUC-Rio
Composição de Matrizes
1''
1
100010301
1000)45cos()45sin(0)45sin()45cos(
100010301
y
x
y
x
aa
aa
T(3) R(45) T(-3)
A multiplicação começa da última para a primeira transformação
![Page 61: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/61.jpg)
Alberto Raposo – PUC-Rio
Composição de Matrizes
•Depois de ordenar as matrizes corretamente:– Multiplicá-las– Guardar resultado em uma só matriz– Usar essa matriz para realizar a transformação
composta em cada um dos pontos que definem o objeto transformado (vértices, por exemplo)
Todos os vértices podem ser transformados com uma simples multiplicação de vetor por matriz.
![Page 62: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/62.jpg)
Alberto Raposo – PUC-Rio
Exercício 2D
• Considere o triângulo com os seguintes vértices em coordenadashomogêneas– Rotacione o triângulo
de 90o (sentido anti-horário) em relação aoponto P = (6,5)
y
x
C
BA
P
![Page 63: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/63.jpg)
Alberto Raposo – PUC-Rio
Etapas da Solução
1. Definir matriz para transladar o triângulo de modo que o centro de rotação se mova para a origem do sistema de coordenadas
2. Definir matriz para rotacionar o triângulo3. Definir matriz para transladar o triângulo
de volta4. Gerar matriz combinada da transformação5. Transformar os vértices do triângulo
![Page 64: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/64.jpg)
Alberto Raposo – PUC-Rio
Etapas da Solução
1. Definir matriz para transladar o triângulo de modo que o centro de rotação se mova para a origem do sistema de coordenadas
– Centro de rotação: P = (6,5)– Translação de -6 unidades em x e -5 unidades
em y
![Page 65: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/65.jpg)
Alberto Raposo – PUC-Rio
Etapas da Solução
2. Definir matriz para rotacionar o triângulo• O ângulo de rotação é medido no sentido anti-
horário: R(+90o)• cos(90o) = 0 e sin(90o) = 1
![Page 66: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/66.jpg)
Alberto Raposo – PUC-Rio
Etapas da Solução
3. Definir matriz para transladar o triângulo de volta
• Translação de 6 unidades em x e 5 unidades em y
![Page 67: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/67.jpg)
Alberto Raposo – PUC-Rio
Etapas da Solução
4. Gerar matriz combinada da transformação
=
![Page 68: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/68.jpg)
Alberto Raposo – PUC-Rio
Etapas da Solução
5. Transformar os vértices do triângulo
y
x
C
BA
P
B’
= A’
C’
![Page 69: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/69.jpg)
Alberto Raposo – PUC-Rio
Transformações em 3D
• Mesma idéia que em 2D:– Coordenadas homogêneas: (x,y,z,w) – Matrizes de trasnformação 4x4
wzyx
ponmlkjihgfedcba
wzyx
''''
![Page 70: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/70.jpg)
Alberto Raposo – PUC-Rio
Transformações 3D Básicas
wzyx
wzyx
1000010000100001
'''
w
z
y
x
t
t
t
w
z
y
x
z
y
x
1000
100
010
001
'
'
'
w
z
y
x
s
s
s
w
z
y
x
z
y
x
1000
000
000
000
'
'
'
IdentidadeEscalamento
TranslaçãoD. Brogan, Univ. of Virginia
![Page 71: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/71.jpg)
Alberto Raposo – PUC-Rio
Transformações 3D Básicas
wzyx
wzyx
1000010000100001
'''
Espelhamento em torno doplano YZ
wzyx
wzyx
1000010000100001
'''
Espelhamento em torno doplano XZ
wzyx
wzyx
1000010000100001
'''
Espelhamento em torno doplano XY
![Page 72: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/72.jpg)
Alberto Raposo – PUC-Rio
Transformações 3D Básicas
wzyx
wzyx
1000010000cossin00sincos
'''
Rotação em torno de Z:
w
z
y
x
w
z
y
x
1000
0cos0sin
0010
0sin0cos
'
'
'
wzyx
wzyx
10000cossin00sincos00001
'''
Rotação em torno de Y:
Rotação em torno de X:
![Page 73: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/73.jpg)
Alberto Raposo – PUC-Rio
Rotações Reversas
• Como desfazer uma rotaçãoR()?– Aplicar o inverso da rotação: R(-)
•Construindo R(-) :– cos(-) = cos()
– sin (-) = - sin ()
• Assim: R(-) = RT()
10000cos0sin00100sin0cos
10000cos0sin00100sin0cos
T
![Page 74: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/74.jpg)
Alberto Raposo – PUC-Rio
Exercício 3D
• Encontre as respectivas matrizes de transformação para os seguintes casos
a) Translação que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
b) Escalamento que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
c) Rotação em torno do eixo z que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
• Qual o ângulo dessa rotação?
![Page 75: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/75.jpg)
Alberto Raposo – PUC-Rio
Solução
a) Translação que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
Matriz de translação
![Page 76: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/76.jpg)
Alberto Raposo – PUC-Rio
Solução
b) Escalamento que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
Matriz de escalamento
![Page 77: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/77.jpg)
Alberto Raposo – PUC-Rio
Solução
c) Rotação em torno do eixo z que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
Para rotação em torno de z:
(2) – (1):
![Page 78: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/78.jpg)
Alberto Raposo – PUC-Rio
Solução
c) Rotação em torno do eixo z que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
Matriz de rotação
Substituindo em (1) ou (2):
![Page 79: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/79.jpg)
Alberto Raposo – PUC-Rio
Solução
c) Rotação em torno do eixo z que leva o ponto p1 = (a1, b1, c1) para o ponto p2 = (a2, b2, c2)
• Qual o ângulo dessa rotação?
![Page 80: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/80.jpg)
Alberto Raposo – PUC-Rio
Ângulos de Euler
Fundamentos da Comp. GráficaJonas Gomes, Luiz Velho
![Page 81: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/81.jpg)
Alberto Raposo – PUC-Rio
Ângulos de Euler
1000
0
0
0
yxzxzyxzxzyx
yxzxzyxzxzyx
yzyzy
cccssscsscsc
csccssssccss
ssccc
xx
y
z
y
x
y
z
z
x
y
z
M. Gattass, PUC-Rio
Notação: cx = cos(x); sx = sin(x) e assim por diante
![Page 82: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/82.jpg)
Alberto Raposo – PUC-Rio
ox 90o
z 90
ox 90 o
z 90
![Page 83: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/83.jpg)
Alberto Raposo – PUC-Rio
Demo: Ângulos de Euler
http://prt.fernuni-hagen.de/lehre/KURSE/PRT001/course_main/node10.html
![Page 84: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Transformações Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366.](https://reader035.fdocument.pub/reader035/viewer/2022062312/552fc10b497959413d8c25bc/html5/thumbnails/84.jpg)
Alberto Raposo – PUC-Rio
Bibliografia Adicional
• Peter Shirley, Fundamentals of Computer Graphics, A K Peters, Ltd., Natick, MA, USA, 2002.
• Foley, J. D., Van Dam, A., Feiner, S. K., e Huhes, J. F., Phlips, L. R., Introduction to Computer Graphics, Addison-Wesley, 1995.
• Foley, J. D., Van Dam, A., Feiner, S. K., e Huhes, J. F., Computer Graphics: Principles and Practices, (Systems Programming), 2nd edition in C, Addison-Wesley, 1995.
• Brutzman, D. e Daly, L., Extensible 3D Graphics for Web Authors, Morgan Kaufmann, 2007.
• The Annotated VRML 97 Reference: http://accad.osu.edu/~pgerstma/class/vnv/resources/info/AnnotatedVrmlRef/Book.html