Transformações Geométricas no Plano e no Espaço

Slides:



Advertisements
Apresentações semelhantes
Continuidade: sem interrupções
Advertisements

SLIDE 1 – Transformações - Translação
Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro Conteúdo: - Transformações geométricas no plano.
Computação Gráfica I Conteúdo: Professor:
Sistema de Computação Gráfica
Paulo Sérgio Rodrigues PEL205
Sistema de coordenadas utilizando a regra da mão direita
Matrizes especiais Matriz linha Matriz do tipo 1 x n, ou seja, com uma única linha. Por exemplo, a matriz A =[ ], do tipo 1 x 4. Matriz coluna.
Aula de Física Fevereiro de 2013
The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Departamento de Informática e Estatística - INE/CTC/UFSC Computação Gráfica:
Computação Gráfica Geometria de Transformações
Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Geometria
Transformações Geométricas em C.G.
Transformações Geométricas
Transformações Geométricas Coordenadas Homogêneas e Rotações.
MGattass Rotações e Quatérnios. MGattass Objetos compostos hierarquicamente.
Transformações Geométricas na Imagem Amostragem e Reconstrução.
Transformações Geométricas Coordenadas Homogêneas e Rotações.
Linguagem Orientada a Matrizes COB 727
Computação Gráfica Teórica
TE804 Eletrodinâmica Computacional
Computação Gráfica Geometria de Transformações
V E T O R E S b a + b = c a (3) Prof. Cesário.
UNIFESO – CURSO DE MATEMÁTICA
ROBÓTICA Helder Anibal Hermini.
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Números Complexos Definição: Um número complexo z pode ser definido como um par ordenado (x, y) de números reais x e y, z = (x, y) (1) sujeito.
Computação Gráfica – Transformações Geométricas
Grandezas Físicas Prof. Climério Soares.
ROBÓTICA Helder Anibal Hermini.
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Introdução à Computação Gráfica Projeções
Matemática para Economia III
Aula - 2 Escalares e Vetores
Grandezas Vetoriais & Operações com Vetores
Animações Independentes na Mesma Cena
estão igualmente distantes
Aula prática 6 Vetores e Matrizes
Vetores Grandeza escalar: grandeza física descrita por um número e obedecem as leis da aritmética e da álgebra elementar. Ex: temperatura, 25º. Grandeza.
Matemática e Computação
UNIFESO – NAI PROF. ILYDIO SÁ
Computação Gráfica Aula 3 Transformações Geométricas
TRANSFORMAÇÕES GEOMÉTRICAS
Professor: Fábio Raimundo Disciplina: Física Semi - Extensivo Espelhos
Grandezas Escalares e Vetoriais
Campus de Caraguatatuba
Realidade Virtual Aula 4
Capítulo 4 Resultantes de um sistema de forças
Capítulo 2 Vetores de força
Professor: Diones Charles
CINEMÁTICA DIRETA DE MANIPULADORES SERIAIS PROF.: Leo Schirmer
Matemática Discreta 1 – MD 1
Desenhos Tridimensionais
Computação Gráfica – Transformações Geométricas
Realidade Virtual Aula 5
Profa. Mercedes Gonzales Márquez
Campus de Caraguatatuba
Introdução à Computação Gráfica
Computação Gráfica – Transformações Geométricas Profa. Mercedes Gonzales Márquez.
Álgebra Linear e Geometria Analítica
©Prof. Lineu MialaretAula 4 - 1/27Matemática Discreta I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba.
Simetrias Trabalho realizado por: Daniel Calado n.º8 João Mendes n.º17
Computação Gráfica IGCE – Instituto de Geociências e Ciências Exatas
Transformações Geométricas
GEOMETRIA ANALITICA VETORES.
Revisão Matemática II Profa. Mercedes Gonzales Márquez.
Transformações Geométricas
Transcrição da apresentação:

Transformações Geométricas no Plano e no Espaço COMPUTAÇÃO GRÁFICA Transformações Geométricas no Plano e no Espaço

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

Matrizes Para executar uma transformação podemos usar operações algébricas. Operações algébricas são caras computacionalmente Por isso 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 de figuras presentes num sistema de coordenadas

Pontos, vetores e matrizes Nos espaços bidimensionais, duas coordenadas caracterizam um ponto. Nos espaços tridimensionais, três coordenadas caracterizam um ponto. A = [2, 3]: ponto em duas dimensões. B = [20,2,0]: ponto em três dimensões. Uma matriz quadrada de três dimensões pode ser usada para descrever pontos no espaço

Aritmética de vetores e matrizes Soma e subtração: os dois operandos devem ter a mesma dimensão Multiplicação por escalar. Transposta de uma matriz [2,3]T = 2 3 Multiplicação de matrizes O número de linhas da primeira deve ser igual ao número de colunas da segunda

Transformações lineares São transformações aplicadas aos objetos ou ao universo como um todo. Podem ser Translação Escala Rotação Reflecção Cisalhamento

Translação Significa movimentar o objeto Todos os pontos do objeto devem ser movidos para a nova posição. Um ponto p(x,y) é movido para a posição p(x’,y’). Para isso somamos Tx e Ty às coordenadas de cada ponto a ser transladado. x’ = x + Tx y’ = y + Ty Ou usando um vetor T de deslocamento. P’ = P + T  [x’ y’] = [x y] + [Tx Ty]

Translação (11,9) (4,5) (7,5) (3,-4) (14,5) (7,1) (10,1)

Translação No espaço (x, y, z)  (x’, y’, z’) x’ = x + Tx y’ = y + Ty z’ = z + Tz [x’ y’ z’] = [x y z]+[Tx Ty Tz] Transladar todos os pontos ou somente pontos chave da figura

Escala Mudar as dimensões do Objeto Multiplicar os valores das coordenadas por um valor de escala. Isso deve afetar todos os pontos de uma dimensão do objeto na mesma proporção. Em 2D: x’ = x.Sx y’ = y.Sy Em 3D z‘ = z.Sz Sx 0 0 Sy ou [x y] Sx 0 0 0 Sy 0 0 0 Sz ou [x y z] = [xSx ySy zSz]

Escala *Obs: se o objeto escalonado não estiver definido com relação a origem ocorrerá, também, uma translação [3,1/2] (1,2) (3,1) (1,1) (2,1) (6,0.5) (3,0.5)

Rotação Girar o objeto em um ângulo em torno de um ponto. x’ = xcos(θ)-ysen(θ) y’ = ycos(θ)+xsen(θ) [x’ y’] = [x y] *Obs: se o objeto não estiver definido na origem do sistema de coordenadas ocorrerá também uma translação cosθ senθ -senθ cosθ

Rotação em torno de um eixo Ângulos de Euler Regra da mão direita Dedão esticado no sentido do eixo (eixo x) Dedo indicador apontando para segundo eixo (eixo y) Feixe a mão e veja se ela aponta no sentido do terceiro eixo, se isto acontecer significa que as três direções formam um sistema de eixos positivos

Rotação em 3D Eixo z => [x’ y’ z’] = [x y z] [xcos(α)–ysen(α) xsen(α)+ycos(α) z ] Eixo x => [x’ y’ z’] = [x y z] [x ycos(β)-zsen(β) ysen(β)+zcos(β) ] Eixo y => [x’ y’ z’] = [x y z] [xcos(δ)+zsen(δ) y -sen(δ)+zcos(δ) ] cos(α) sen(α) 0 -sen(α) cos(α) 0 0 0 1 1 0 0 0 cos(β) sen(β) 0 -sen(β) cos(β) cos(δ) 0 -sen(δ) 0 1 0 sen(δ) 0 cos(δ)

Reflexão A reflexão em torno de um eixo (flip) faz com que um objeto seja reproduzido como se ele fosse visto dentro de um espelho. 0 -1 y [x’ y’] = [x y] x

Reflexão Em 3D a reflexão pode ser em torno de um dos planos. Ex. Reflexão em torno de x e y: -1 0 0 0 -1 0 0 0 1

Transformações com OpenGL Translação glTranslatef(float x,float y,float z); Escala glScalef(float x,float y,float z); Rotação Angulos de Euler em torno de um dos eixos glRotatef(float anglo, float x,float y,float z); Ex: glRotatef(30.0,1.0,0.0,0.0);

glMatrixMode() glLoadIdentity() ModelView – matriz de transformação para aplicação sobre os objetos ou cena Projection ViewPoint glLoadIdentity() Faz com que a matriz de transformação corrente seja inicializada com a matriz identidade, ou seja, sem nenhuma transformação

Escopo de Transformações A restrição do escopo de transformações é feita através de uma pilha de matrizes de transformação glPushMatrix(); Guarda a matriz de transformação corrente na pilha glPopMatrix(); Recupera a matriz de transformação do topo da pilha fazendo com que esta passe a ser a corrente

Coordenadas Homogêneas Reflexão, rotação e escala podem ser executadas com o uso de matrizes, a transformação de translação não. Para solucionar esse e outros problemas é recomendado o uso de coordenadas homogêneas para todas as operações.

Coordenadas Homogêneas O sistema de coordenadas homogêneas (SCH) utiliza quatro valores para representar um ponto P no espaço, que será descrito por (x’, y’, z’, M). A transformação do SCH para o cartesiano se dá pela relação (x, y, z) = (x’/M, y’/M, z’/M) Os pontos onde M=0 estão fora do espaço dimensional. O uso de coordenadas homogêneas é importante para permitir a representação de reais por inteiros Quando M=1 a representação é a mesma do espaço cartesiano.

Matrizes e coordenadas homogêneas Matriz de rotação Escala [x y 1]. cosθ senθ 0 0 -senθ cosθ 0 0 0 0 1 0 0 0 0 1 [x y 1 ]. Sx 0 0 0 0 Sy 0 0 0 0 1 0 0 0 0 1 [x y z ] . Sx 0 0 0 0 Sy 0 0 0 0 Sz 0 0 0 0 1

Translação Pode ser representada por operações com matrizes quando usamos coordenadas homogêneas, uniformizando as transformações geométricas [x y z 1]. 1 0 0 0 0 1 0 0 0 0 1 0 Tx Ty Tz 1

Matriz de Transformação Transformações geométricas correspondem a operações matemáticas de soma e multiplicação nas coordenadas que compõem o objeto Para evitar que diversas operações matemáticas sejam feitas individualmente em cada vértice é criada uma matriz de transformação com coordenadas homogêneas a qual é aplicada todas as transformações Esta matriz é denominada matriz de transformação corrente e é utilizada para transformação de todos os objetos