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

Visão Computacional Geometria de Transformações

  • Upload
    renate

  • View
    55

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

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