computação gráficaprof. luis retondaro aula 3 transformações geométricas no plano e no espaço...

42
CC BY-SA 2017 Engenharia de Computação CEFET/RJ – campus Petrópolis Prof. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica

Upload: others

Post on 18-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

CC BY-SA 2017

Engenharia de Computação

CEFET/RJ – campus Petrópolis

Prof. Luis Retondaro

Aula 3

Transformações Geométricas

no plano e no espaço

Computação Gráfica

Page 2: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

2

Introdução

(Geometria)

Page 3: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

3

Pontos, Vetores e Matrizes

Dado um sistema de coordenadas, é possível definir pontos e objetos neste sistema pelas suas coordenadas.

– Nos espaços bidimensionais ou nos objetos planos, duas coordenadas caracterizam um ponto.

– Para objetos tridimensionais ou pontos no espaço, três coordenadas são necessárias para definir seu posicionamento.

Assim, dado um sistema de coordenadas, cada ponto pode ser associado às suas coordenadas no sistema.

Page 4: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

4

Pontos, Vetores e Matrizes

Por exemplo:

– A convenção usada é que ao definir um ponto, usa-se a sua distância em relação a cada um dos eixos do sistema de coordenadas. Essas representações também podem ser chamadas de vetores linhas, ou vetores colunas, respectivamente.

– São ainda chamadas de arranjos (arrays) ou matrizes.

Page 5: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

5

Geometria Afim

Composta dos elementos básicos– escalares– pontos - denotam posição– vetores - denotam deslocamento (direção e

magnitude)

Operações– escalar · vetor = vetor– vetor + vetor ou vetor – vetor = vetor– ponto – ponto = vetor– ponto + vetor ou ponto – vetor = ponto

Page 6: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

6

Combinações Afim

Maneira especial de combinar pontos

Para 2 pontos P e Q poderíamos ter uma combinação afim

Page 7: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

7

Combinações Convexas

* Combinações afim onde se garante que todos os coeficientes são positivos (ou zero)

* Usa-se esse nome porque qualquer ponto que é uma combinação convexa de n outros pontos pertence à envoltória convexa desses pontos

Page 8: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

8

Pontos, Vetores e Matrizes

Diferença entre ponto e vetor

Page 9: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

9

Operações com vetores (2D)

Page 10: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

10

Operações com matrizes

– Soma e subtração– Multiplicação por escalar– Inversa– Transposta– Multiplicação de matrizes

Uma propriedade interessante é que (A B) T = B T A T

– Lembre-se de usá-la sempre que comparar resultados de diferentes fontes da literatura, principalmente vetores linhas ou vetores colunas nas multiplicações.

Page 11: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

11

Operações com matrizes

(A B) T = B T A T – O uso da transposta torna sempre possível a

multiplicação de dois vetores. – Se for feita a multiplicação de forma que o

resultado seja um número, ela é denominada de produto interno ou produto escalar de dois vetores• tem muitas aplicações importantes e é

simbolizada por um “•”.

– Assim podemos dizer que o produto interno entre dois vetores (V1 • V2) é um número (ou escalar)

Page 12: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

12

Geometria Euclideana

* Extensão da geometria afim pela adição do operador produto interno

* Produto interno mapeia um par de vetores em um escalar. Tem as seguintes propriedades:

Page 13: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

13

Geometria Euclideana

Operador de produto interno

O comprimento de um vetor é definido como:

Vetor unitário (normalizado)

Page 14: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

14

Geometria Euclideana

Distância entre dois pontos P e Q |P – Q |

O ângulo entre dois vetores pode ser determinado por:

Page 15: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

15

Geometria Euclideana

Projeção ortogonal: – dados dois vetores u e v, deseja-se

decompor u na soma de dois vetores u1 e u2 • tais que u1 é paralelo a v e

• u2 é perpendicular a v

Page 16: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

16

Produto Vetorial (3D)

* Permite achar um vetor perpendicular a outros dois dados

* Útil na construção de sistemas de coordenadas

* Propriedades (assume-se u, v linearmente independentes):

Page 17: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

17

Transformações

Page 18: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

18

Transformações Geométricas

Transformações geométricas são operações que podem ser utilizadas para alterar algumas características como posição, orientação, forma ou tamanho do objeto a ser desenhado.

– Para executar uma transformação podemos usar operações algébricas (caras computacionalmente).

– O uso de matrizes é mais interessante para esse objetivo

– As matrizes podem fazer as transformações e combiná-las de forma mais eficiente.

– Elas também são mais eficientes na armazenagem das figuras presentes no seu cenário

Page 19: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

19

Transformações Geométricas

Transformação é uma função que mapeia pontos de um espaço Euclidiano em outros (ou possivelmente os mesmos) pontos do mesmo espaço.

– Se uma transformação é linear, então• Se um conjunto de pontos está contido em uma reta, depois de

transformados eles também estarão contidos sobre uma reta.

– Se um ponto P guarda uma relação de distância com dois outros pontos Q e R, então essa relação de distância é mantida pela transformação.

Transformação mapeia origem na origem?– Sim: Transformação Linear– Não: Transformação Linear Afim: Translações são

permitidas

Page 20: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

20

Transformações Geométricas

Uma transformação linear

Uma transformação linear afim

Page 21: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

21

Forma Matricial

Mais conveniente para uso em computador

– Sejam:

– Então uma transformação linear afim pode ser escrita T (P) = P’ , onde

P’ = A x P + D

Page 22: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

22

Transformando Vetores

* Um vetor não está atrelado a um ponto no espaço

* Uma transformação linear afim aplicada a um vetor não inclui translação

Prova: Seja V um vetor e V’ sua imagem sob a transformação linear afim, então:

Page 23: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

23

Coordenadas Homogêneas

A transformação de vetores é operacionalmente diferente da de pontos

Coordenadas homogêneas permitem unificar o

tratamento

Problema é levado para uma dimensão superior:

– Coordenada extra w= 0 para vetores e =1 p/ pontos

– Termos independentes formam uma coluna extra na matriz de transformação

Page 24: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

24

Modelando Transformações

Uma t.l.a. em 2D pode ser definida se dispusermos da imagem de 3 pontos do domínio

Page 25: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

25

Sistemas de Coordenadas

Um sistema de coordenadas para Rn é definido por

um ponto (origem) e n vetores– Ex. Seja um sistema de coordenadas para R2

definido pelo ponto O e os vetores X e Y. Então,• Um ponto P é dado por coordenadas xP e yP tais que

• Um vetor V é dado por coordenadas xv e yv tais que

Page 26: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

26

Mudança de Sistemas de Coordenadas

Se estabelecemos um outro sistema (ex.: Q/T/U), como computar as novas coordenadas dadas as antigas?

Page 27: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

27

Mudança de Sistemas de Coordenadas

Page 28: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

28

Mudança de Sistemas de Coordenadas

Page 29: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

29

Orientação

Page 30: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

30

Orientação

Regra da mão direita:– Dedo polegar posicionado no sentido

do eixo x– Dedo indicador apontando para o eixo y– Dedo médio apondando para o terceiro

eixo z,

Se isto acontecer, significa que as três direções formam um sistema de eixos

positivos

Page 31: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

31

Orientação

Page 32: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

32

Computando Orientação

Page 33: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

33

Transformações em 3D

Page 34: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

34

Transformações Rígidas

Page 35: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

35

Translação

Page 36: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

36

Rotação em torno do eixo Z

Page 37: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

37

Rotação em torno do eixo Z

Page 38: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

38

Rotação em torno dos eixos coordenados

Page 39: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

39

Rotações em geral

Page 40: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

40

Inclinação (“shear”)

Page 41: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

41

Escala

Page 42: Computação GráficaProf. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Computação Gráfica 2 Introdução (Geometria) 3 Pontos, Vetores e Matrizes Dado

42

Composição de transformações em 3D