www.dca.ufrn.br/~lmarcos/courses/compgraf computação gráfica geometria de transformações luiz...
TRANSCRIPT
![Page 1: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/1.jpg)
www.dca.ufrn.br/~lmarcos/courses/compgraf
Computação GráficaGeometria de Transformações
Luiz M. G. Gonçalves
![Page 2: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/2.jpg)
Transformações
Vetores, bases e matrizesTranslação, rotação e escalaCoordenadas homogêneasRotações e translações 3DComposição de transformações
![Page 3: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/3.jpg)
Uso de transformações
Construir modelos complexos a partir de componentes simples
Transformar coordenadas de câmera em mundo, objeto e imagem e vice-versa
Analisar efeitos de transformações rígidas e não rígidas em objetos
xo
zoyo
yc
xc
zc
xwzw
yw
yimxim
![Page 4: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/4.jpg)
Cinemática
![Page 5: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/5.jpg)
Vetores
Noção da Física: comprimento, direção, sentido
Exemplos: velocidade, força, deslocamento
Representação matemática: tuplas ordenadas v = (v1,v2,…,vn)
v
u
![Page 6: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/6.jpg)
Vetores
Definições: Produto escalar: u.v = u1v1+u2v2+…
+unvn
Norma: ||v ||= (v12+v2
2+…+vn2)1/2
Unitário: ||v ||= 1 Ângulo: (u,v) = acos-1[(u.v) / (||u|| ||v)] Ortogonalidade: u.v = 0 ((u,v)=90o)
v
u
0
![Page 7: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/7.jpg)
Combinação linear
Dados dois vetores v1 e v2,ande uma distância qualquer na direção de v1 e então ande outra distância na direção de v2
O conjunto de todos os lugares (vetores, pontos) que podem ser atingidos é dado pelas combinações lineares possíveis entre v1 e v2
![Page 8: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/8.jpg)
Combinação linear
V = k1V1+k2V2
v1
v2
k1V1
k2V2
V = k1V1+k2V2
![Page 9: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/9.jpg)
Independência Linear
Um conjunto de vetores é dito linearmente independente se nenhum dos vetores pode ser escrito como uma combinação linear dos outros
Exemplo de 3 vetores LI: e1 = (1,0,0)
e2 = (0,1,0)
e3 = (0,0,1)
![Page 10: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/10.jpg)
Base vetorialUma base vetorial é um conjunto de
vetores linearmente independentes entre si, cuja combinação linear leva a qualquer lugar do espaço considerado, isto é, varre o espaço.
Significa: para varrer um espaço n-dimensional, são necessários n vetores
![Page 11: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/11.jpg)
Base vetorial
Se os vetores da base possuem todos norma 1 e se são mutuamente ortogonais, a base é dita ser ortonormal
Exemplo: vetores da base canônica de R3: e1 = (1,0,0)
e2 = (0,1,0)
e3 = (0,0,1)
Obviamente, há muito mais que uma base possível para um dado espaço vetorial.
![Page 12: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/12.jpg)
Representação de vetores
Todo vetor tem uma representação única numa dada base Os multiplicadores pelos vetores da base
são chamados de componentes ou coordenadas
Mudando a base, muda os componentes, mas não o vetor
V= v1E1+v2E2+...+vnEn
Os vetores E1, E2, ..., En são vetores da base
Os escalares v1, v2 , ..., vn são os componentes de v com respeito à base.
![Page 13: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/13.jpg)
Transformação LinearUma função (ou mapeamento ou
ainda transformação) F é linear se, para todos os vetores u e v e todos escalares k:
F(u+v) = F(u) + F(v)F(kv) = kF(v)
Ou F(ku+lv) = kF(u)+lF(v)Qualquer mapeamento linear é
completamente especificado pelo seu efeito numa base vetorial
![Page 14: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/14.jpg)
Efeito na base
v = v1E1+ v2E2+ v3E3
F(v) = F(v1E1+v2E2+v3E3)=
= F(v1E1)+F(v2E2)+F(v3E3)= = v1F(E1) + v2F(E2)+v3F(E3)
Obs: uma função F é afim se ela é linear mais uma translação Ex: y = mX+b não é linear, mas é afim
![Page 15: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/15.jpg)
Transformando um vetor
As coordenadas do vetor da base transformado (em termos dos vetores da base original):
F(E1) = f11E1 +f21E2+f31E3
F(E2) = f12E1 +f22E2+f32E3
F(E3) = f13E1 +f23E2+f33E3
O vetor geral V transformado torna-se:F(V) = v1F(E1) + v2F(E2)+v3F(E3) =v1(f11E1+f21E2+f31E3)+v2(f12E1+f22E2+f32E3)+v3(f13E1+f23E2+f33E
3)=(f11v1+f12v2 +f13v3)E1+(f21v1+f22v2+f23v3)E2+
(f31v1+f32v2+f33v3)E3
![Page 16: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/16.jpg)
Transformando um vetor
Suas coordenadas ainda em referência a E tornam-se:
v1t= f11v1 +f12v2+f13v3
v2t= f21v1+f22v2+f23v3
v3t= f31v1+f32v2+f33v3
Ou simplesmentevi = fijvj
que é a fórmula de multiplicação matricial
![Page 17: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/17.jpg)
Multiplicação de matrizes!
Uma matriz F de dimensões nxn representa uma função linear em n dimensões A i-ésima coluna mostra o que a função
faz ao vetor de base correspondenteTransformação é uma combinação
linear das colunas de F Primeiro componente do vetor de
entrada escala a primeira coluna da matriz
acumula no vetor de saída repete para cada coluna e componente
![Page 18: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/18.jpg)
Multiplicação matricial
Usualmente calcula-se de modo diferente faça o produto interno da coluna i da
matriz com o vetor de entrada para conseguir componente i do vetor de saída:
v1t f11 f12 f13 v1
v2t = f21 f22 f23 v2
v3t f31 f32 f33 v3
![Page 19: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/19.jpg)
![Page 20: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/20.jpg)
Translação
![Page 21: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/21.jpg)
Rotação
![Page 22: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/22.jpg)
Matriz de rotação possui vetores unitários
![Page 23: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/23.jpg)
Representação da rotação
![Page 24: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/24.jpg)
Exemplo de rotação
![Page 25: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/25.jpg)
![Page 26: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/26.jpg)
![Page 27: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/27.jpg)
![Page 28: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/28.jpg)
![Page 29: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/29.jpg)
![Page 30: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/30.jpg)
Relações espaciais
Representação em relação a um frame (sistema de coordenadas)
P (X,Y,Z)
![Page 31: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/31.jpg)
Orientação
![Page 32: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/32.jpg)
Orientação
![Page 33: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/33.jpg)
Matriz de orientação
![Page 34: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/34.jpg)
Propriedade elementar (unitária)
![Page 35: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/35.jpg)
Juntando orientação e posição
![Page 36: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/36.jpg)
Coordenadas Homogêneas
![Page 37: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/37.jpg)
Juntar rotação e translação
![Page 38: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/38.jpg)
Coordenadas homogêneas
Translação não é linear. Como representar em forma de matriz? Adiciona uma coordenada extra a cada vetor
x´ 1 0 0 tx xy´ = 0 1 0 ty yz´ 0 0 1 tz z1 0 0 0 1 1
Coordenada extra é chamada de homogênea (ou w)
Transformação denominada homogênea
![Page 39: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/39.jpg)
Translação pura
![Page 40: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/40.jpg)
Transformação Homogênea
![Page 41: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/41.jpg)
![Page 42: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/42.jpg)
Transformações Homogêneas 3D
São muito similar ao 2DCoordenadas homogêneas requerem
matrizes 4x4Matrizes de translação e escala são:
![Page 43: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/43.jpg)
Operador de Translação
![Page 44: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/44.jpg)
Transformação Homogênea 3D
Rotação é um pouco mais complicado
Sistema de coordenadas de mão direita ou esquerda afeta direção de rotação
Sistema de mão direita
Sistema de mão esquerda
x
y
z
x
y z
![Page 45: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/45.jpg)
Produto Cruzado (Vetorial)
Eixo Z é determinado a partir dos eixos X e Y pelo produto vetorial
Produto vetorial segue regra da mão direita em um sistema de mão direita e regra da mão esquerda em um sistema de mão esquerda
Estaremos trabalhando quase sempre com sistema de mão direita
![Page 46: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/46.jpg)
![Page 47: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/47.jpg)
Roll, Pitch, Yaw
![Page 48: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/48.jpg)
![Page 49: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/49.jpg)
Rotação em torno de cada eixo
![Page 50: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/50.jpg)
Generalização da Rotação
![Page 51: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/51.jpg)
Exemplo de rotação + translação
![Page 52: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/52.jpg)
Exemplo: continuação
![Page 53: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/53.jpg)
Transformações homogêneas em cadeias
![Page 54: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/54.jpg)
![Page 55: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/55.jpg)
![Page 56: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/56.jpg)
![Page 57: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/57.jpg)
![Page 58: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/58.jpg)
![Page 59: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/59.jpg)
![Page 60: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/60.jpg)
![Page 61: Www.dca.ufrn.br/~lmarcos/courses/compgraf Computação Gráfica Geometria de Transformações Luiz M. G. Gonçalves](https://reader031.vdocuments.mx/reader031/viewer/2022020919/552fc111497959413d8c6081/html5/thumbnails/61.jpg)
Invertendo a transf. homogênea