Aula 4 - Computacao Grafica - Engenharia

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Aula 4 - Computacao Grafica - Engenharia as PDF for free.

More details

  • Words: 1,323
  • Pages: 7
UNIVERSIDADE ESTADUAL DE PONTA GROSSA DEPARTAMENTO DE INFORMÁTICA

COMPUTAÇÃO GRÁFICA

PROFESSOR :

Ariangelo Hauer Dias

CADERNO DE ATIVIDADES Abril - 2007

AULA

4 7. COMPOSIÇÃO DE TRANSFORMAÇÕES Para a Translação, Escala e Rotação, as matrizes de transformação são respectivamente: Ø P' = T + P Ø P' = S · P Ø P' = R · P Infelizmente, a translação é tratada de forma diferente (como uma soma) das outras - Rotação e Escala - que são tratadas através de multiplicações. Para que possamos combinar facilmente essas transformações, devemos poder tratar do mesmo modo todas as 3 transformações de uma forma consistente. Se os pontos são expressos em Coordenadas Homogêneas, todas as 3 transformações podem ser tratadas como multiplicações. Para obter coordenadas homogêneas, adicionamos uma terceira coordenada ao ponto. Logo, em vez de um ponto ser representado por um par de valores (x,y), ele é representado por uma tripla (x,y,W). Dizemos que 2 conjuntos de coordenadas homogêneas (x,y,W) e (x',y',W') representam o mesmo ponto se e somente se um é múltiplo do outro. Assim, (2,3,6) e (4,6,12) é o mesmo ponto representado por diferentes triplas. Isto é, cada ponto tem muitas diferentes representações homogêneas. Também, pelo menos uma das coordenadas homogêneas precisa ser diferente de zero, assim (0,0,0) não é permitido. Se W é a coordenada não zero, podemos dividir (x,y,W) por ela, obtendo o mesmo ponto (x/W, y/W, 1). Os números x/W e y/W são chamados de Coordenadas Cartesianas do ponto homogêneo. Usualmente, triplas representam pontos em um espaço 3D, mas agora estão sendo usadas para representar pontos em 2D. Observemos que, se tomarmos todas as triplas que representam o mesmo ponto, isto é, todas as triplas da forma (tx,ty,tW) com t diferente de 0, obtemos uma linha no espaço 3D. Se homogeneizamos o ponto (dividimos por W), obtemos um ponto da forma (x,y,1). Logo, os pontos homogeneizados formam o plano definido pela equação W=1 no espaço (x,y,W). Como agora os pontos são vetores de 3 elementos, as matrizes de transformações que multiplicam um ponto por outro também precisam ser de 3x3. A equação de Translação (1) para coordenadas homogêneas fica:

 x' 1 0 dx   y ' = 0 1 dy  (1)      1  0 0 1  Assim, a equação (1) pode ser representada como: Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

Computação Gráfica

3

AULA

4 P'= T (dx, dy ).P (2) onde: 1 0 dx  T (dx, d ) = 0 1 dy  (3) 0 0 1  O que acontece se um ponto P é transladado por T (dx1, dy1) para P' e então transladado por T (dx 2, dy 2) para P''? Intuitivamente esperamos que essas translações sejam equivalentes a T (dx1 + dx 2, dy1 + dy 2) . Ou seja, se:

P' = T (dx1, dy1).P (4) P' ' = T (dx 2, dy 2).P' (5) Substituindo (4) em (5), temos:

P' ' = T (dx 2, dy 2).(T (dx1, dy1).P) = (T (dx 2, dy 2).T (dx1, dy1)).P (6) produto das matrizes T (dx 2, dy 2) . T (dx 2, dy 2) , é:

e

a

matriz

1 0 dx 2 1 0 dx1 1 0 dx1 + dx 2  0 1 dy 2.0 1 dy1 = 0 1 dy1 + dy 2 (7) e vemos que a Translação é aditiva.       0 0 1  0 0 1  0 0 1 Essa transformação expressa pelas duas transformações, é chamada de Transformação de Composição. Podemos mostrar similarmente que podemos realizar Composições também com a Escala e a Rotação. Assim, as equações de Escala (4), são representadas matricialmente:

 x'  sx 0 0  x   sx 0 0  y ' =  0 sy 0. y  (8) e definindo, S ( sx, sy ) =  0 sy 0 (9), temos         1   0 0 1   1   0 0 1 P'= S ( sx1, sy1).P (10) P' ' = S ( sx 2, sy 2).P' (11), e substituindo: P' ' = S ( sx 2, sy 2).( S ( sx1, sy1).P) = ( S ( sx 2, sy 2).S ( sx1, sy1)).P .

4

Computação Gráfica

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

AULA

4 A matriz produto S ( sx 2, sy 2) . S ( sx1, sy1) é:

0 0  sx 2 0 0  sx1 0 0  sx1.sx 2  0 sy 2 0. 0 sy1 0 =  0 sy1.sy 2 0 (12),      0 0 1   0 0 1  0 0 1 e temos que a Escala é multiplicativa. Finalmente, verifiquemos como ficam as equações de rotação:

 x' Cos (θ ) − Sin(θ ) 0  x   y ' =  Sin(θ ) Cos (θ ) 0. y  (13)       1   0 0 1  1  Cos (θ ) − Sin(θ ) 0   Definindo: R (θ ) = Sin(θ ) Cos (θ ) 0 (14), temos que: P ' = R (θ ).P (15).    0 0 1  Uma seqüência arbitrária de rotações, translações e escalas, são chamadas de transformações afins. As Transformações afins preservam paralelismo de linhas, mas não comprimentos e ângulos.

Composição de Transformações Usaremos composição como uma combinação de matrizes de transformação R, S e T. O propósito de compor-se transformações, é o ganho de eficiência que se obtém ao aplicar-se uma transformação composta a um ponto em vez de aplicar-lhe uma série de transformações, uma após a outra. Considerando a rotação de um objeto em torno de um ponto arbitrário P1. Mas sabemos apenar rotacionar um ponto em relação a origem. Assim, podemos dividir este problema de rotação em 3 problemas simples, ou seja: para rotacionar em relação a P1, pode-se usar a seguinte seqüência de transformações fundamentais: Efetuar uma translação, levando P1 à origem. Efetuar a Rotação desejada. Efetuar uma Translação oposta à realizada em 1., levando P1 a posição anterior.

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

Computação Gráfica

5

AULA

4

Figura 1 - Rotação em relação ao Ponto P1, por um ângulo teta. Esta sequência é ilustrada na figura 1, onde a casa é rotacionada em relação a P1(x1,y1). A primeira translação é por (-x1,-y1), e a última translação (oposta a primeira) é por (x1,y1). A transformação em sequência é:

Esse procedimento pode ser usado de forma similar para se efetuar a Escala de um objeto em relação a um ponto arbitrário P1. Primeiramente o ponto P1 é transladado para a origem, então é feita a escala desejada, e então o ponto P1 é transladado de volta. Dessa forma, a transformação em seqüência é:

6

Computação Gráfica

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

AULA

4 Suponhamos que desejamos escalar, rotacionar e posicionar a casa mostrada na figura 10.10, com o ponto P1(x1,y1) como o centro da rotação e da escala. A sequência de transformações fica a seguinte: Transladar P1(x1,y1) para a origem; Efetuar a escala e a rotação desejadas; Efetuar a translação da origem para a nova posição P2(x2,y2). T(x2,y2) . R(0) . S(sx,sy) . T(-x1,-y1) é a matriz da Transformação composta.

Figura 1.1 - Escala e rotação de uma casa em relação ao ponto P1. Se M1 e M2 representam duas transformações fundamentais (translação, rotação ou escala), em que casos M1 . M2 = M2 . M1? Isto é, quando suas matrizes de transformação comutam? Sabemos que geralmente a multiplicação de matrizes não é comutativa.

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

M1

M2

Translação

Translação

Escala

Escala

Rotação

Rotação

Escala (com sx=sy)

Rotação

Computação Gráfica

7

Related Documents

Engenharia
November 2019 48
Grafica
November 2019 36
Grafica
November 2019 38