Top Banner
www.dca.ufrn.br/~lmarcos/courses/visao Visão Computacional Geometria de Transformações Luiz M. G. Gonçalves
45

Visão Computacional Geometria de Transformações

Jan 20, 2016

Download

Documents

renate

Luiz M. G. Gonçalves. Visão Computacional Geometria de Transformações. Transformações. Vetores, bases e matrizes Translação, rotação e escala Coordenadas homogêneas Rotações e translações 3D. Uso de transformações. Construir modelos complexos a partir de componentes simples - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Visão Computacional Geometria de Transformações

www.dca.ufrn.br/~lmarcos/courses/visao

Visão ComputacionalGeometria de Transformações

Luiz M. G. Gonçalves

Page 2: Visão Computacional Geometria de Transformações

Transformações

Vetores, bases e matrizesTranslação, rotação e escalaCoordenadas homogêneasRotações e translações 3D

Page 3: Visão Computacional Geometria de Transformações

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: Visão Computacional Geometria de Transformações

Cinemática

Page 5: Visão Computacional Geometria de Transformações

Combinação linearDados 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

Um conjunto de vetores é dito linearmente independentes se nenhum deles pode ser escrito como uma combinação linear dos outros

Page 6: Visão Computacional Geometria de Transformações

Combinação linear

V = k1V1+k2V2

v1

v2

k1V1

k2V2

V = k1V1+k2V2

Page 7: Visão Computacional Geometria de Transformações

Bases vetoriaisUma base vetorial é um conjunto de

vetores linearmente independentes entre si, cuja combinação linear leva a qualquer lugar dentro do espaço, isto é, varre o espaço.

Para varrer um espaço n-dimensional, são necessários n vetores

Se a base é normalizada e os vetores mutu-amente ortogonais, ela é dita ser ortonormal

Obviamente, há muito mais que uma base possível para um dado espaço vetorial.

Page 8: Visão Computacional Geometria de Transformações

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 a base

Os escalares v1, v2 , ..., vn são os componentes de v com respeito à base.

Page 9: Visão Computacional Geometria de Transformações

Transformação Linear e AfimUma função (ou mapeamento ou

ainda transformação) F é linear se, para todos os vetores v1 e v2 e todos escalares k:

F(V1+V2) = F(V1) + F(V2)

F(kV1) = kF(V1)Qualquer mapeamento linear é

completamente especificado pelo seu efeito numa base vetorial

Page 10: Visão Computacional Geometria de Transformações

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)

Uma função F é afim se ela é linear mais uma translação Então a função y = mX+b não é linear,

mas é afim

Page 11: Visão Computacional Geometria de Transformações

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 12: Visão Computacional Geometria de Transformações

Transformando um vetor

Suas coordenadas ainda em referência a E tornam-se:

v1´= f11v1 +f12v2+f13v3

v2´= f21v1+f22v2+f23v3

v3´= f31v1+f32v2+f33v3

Ou simplesmentevi = fijvj

que é a fórmula de multiplicação matricial

Page 13: Visão Computacional Geometria de Transformações

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 14: Visão Computacional Geometria de Transformações

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:

v1´ f11 f12 f13 v1

v2´ = f21 f22 f23 v2

v3´ f31 f32 f33 v3

Page 15: Visão Computacional Geometria de Transformações
Page 16: Visão Computacional Geometria de Transformações

Translação

Page 17: Visão Computacional Geometria de Transformações

Rotação

Page 18: Visão Computacional Geometria de Transformações

Matriz de rotação possui vetores unitários

Page 19: Visão Computacional Geometria de Transformações

Representação da rotação

Page 20: Visão Computacional Geometria de Transformações

Exemplo de rotação

Page 21: Visão Computacional Geometria de Transformações

Relações espaciais

Representação em relação a um frame (sistema de coordenadas)

P (X,Y,Z)

Page 22: Visão Computacional Geometria de Transformações

Orientação

Page 23: Visão Computacional Geometria de Transformações

Orientação

Page 24: Visão Computacional Geometria de Transformações

Matriz de orientação

Page 25: Visão Computacional Geometria de Transformações

Propriedade elementar (unitária)

Page 26: Visão Computacional Geometria de Transformações

Juntando orientação e posição

Page 27: Visão Computacional Geometria de Transformações

Coordenadas Homogêneas

Page 28: Visão Computacional Geometria de Transformações

Juntar rotação e translação

Page 29: Visão Computacional Geometria de Transformações

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 30: Visão Computacional Geometria de Transformações

Transformação Homogênea

Page 31: Visão Computacional Geometria de Transformações
Page 32: Visão Computacional Geometria de Transformações
Page 33: Visão Computacional Geometria de Transformações

Translação pura

Page 34: Visão Computacional Geometria de Transformações

Roll, Pitch, Yaw

Page 35: Visão Computacional Geometria de Transformações

Rotação em torno de cada eixo

Page 36: Visão Computacional Geometria de Transformações

Generalização da Rotação

Page 37: Visão Computacional Geometria de Transformações

Exemplo de rotação + translação

Page 38: Visão Computacional Geometria de Transformações

Exemplo: continuação

Page 39: Visão Computacional Geometria de Transformações
Page 40: Visão Computacional Geometria de Transformações
Page 41: Visão Computacional Geometria de Transformações
Page 42: Visão Computacional Geometria de Transformações
Page 43: Visão Computacional Geometria de Transformações
Page 44: Visão Computacional Geometria de Transformações
Page 45: Visão Computacional Geometria de Transformações

Invertendo a transf. homogênea