A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Transformações geométricas no plano.

Apresentações semelhantes


Apresentação em tema: "Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Transformações geométricas no plano."— Transcrição da apresentação:

1 Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Transformações geométricas no plano.

2 Instituto de Computação - UFF 2 Transformações geométricas: Introdução Na Computação Gráfica é essencial poder movimentar e deformar objetos.Na Computação Gráfica é essencial poder movimentar e deformar objetos. Casos particulares: transformações geométricas.Casos particulares: transformações geométricas.

3 Instituto de Computação - UFF 3 Uma transformação T no plano é uma função que associa a cada ponto p do plano euclidiano um ponto p em. Conveniente introduzir um sistema de coordenadas. Transformações geométricas: Introdução p p

4 Instituto de Computação - UFF 4 Referencial no plano –( O, e 1, e 2 ), onde O é um ponto escolhido como origem e ( e 1, e 2 ) forma uma base do R 2. –OP = xe 1 + ye 2 –x e y são as coordenadas de p no referencial ( O, e 1, e 2 ). –Coordenadas da origem O: (0,0). Transformações geométricas: transformações no plano (2D) O e1e1e1e1 e2e2e2e2p

5 Instituto de Computação - UFF 5 Um referencial estabelece uma correspondência entre o plano euclidiano e R 2 = {(x,y) | x, y R}. Permite estudar transformações do plano a partir de transformações em R 2. Ponto de partida: estrutura de espaço vetorial do R 2 (logo, do plano). Transformações geométricas: transformações no plano (2D)

6 Instituto de Computação - UFF 6 Uma transformação L:R 2 R 2 é dita linear quandoUma transformação L:R 2 R 2 é dita linear quando L( p 1 + p 2 )= L(p 1 )+ L(p 2 ), L( p 1 + p 2 )= L(p 1 )+ L(p 2 ), onde p 1, p 2 R 2 e a, b R. onde p 1, p 2 R 2 e a, b R. Obs: L (0, 0) = (0, 0) (ou seja, a origem O do referencial é mantida fixa por uma transformação linear).Obs: L (0, 0) = (0, 0) (ou seja, a origem O do referencial é mantida fixa por uma transformação linear). Transformações geométricas: transformações lineares

7 Instituto de Computação - UFF 7 Uma transformação linear L:R 2 R 2 fica completamente determinada quando se conhecem L(e 1 ) e L(e 2 ), onde (e 1, e 2 ) formam uma base do R 2.Uma transformação linear L:R 2 R 2 fica completamente determinada quando se conhecem L(e 1 ) e L(e 2 ), onde (e 1, e 2 ) formam uma base do R 2. L(e 1 ) = ae 1 + be 2, L(e 2 ) = ce 1 + de 2 p = xe 1 + ye 2 L(p) = xL(e 1 )+yL(e 2 ) = = x(ae 1 +be 2 )+y(ce 1 +de 2 ) = (ax+cy)e 1 + (bx+dy)e 2 Transformações geométricas: transformações lineares Matriz da transformação L(e 1 ) L(e 2 )

8 Instituto de Computação - UFF 8 O mais comum é representar uma transformação linear com respeito à base canônica do R 2 : e 1 = (1, 0), e 2 = (0,1). Transformações lineares preservam elementos lineares (retas, planos, etc) Transformações geométricas: transformações lineares e1e1e1e1 e2e2e2e2 L(e1)L(e1)L(e1)L(e1) L(e2)L(e2)L(e2)L(e2)

9 Instituto de Computação - UFF 9 Algumas transformações lineares correspondem a transformações geométricas importantes.Algumas transformações lineares correspondem a transformações geométricas importantes. –Escalas. –Reflexões. –Rotações. –Cisalhamento. Transformações geométricas: transformações lineares

10 Instituto de Computação - UFF 10 Transformações geométricas: transformações lineares Redução (0< s x <1), Aumento (s y >1) x y c b

11 Instituto de Computação - UFF 11 Transformações geométricas: transformações lineares x´ = -1.x y´ = y x y Espelhamento em relação ao eixo y

12 Instituto de Computação - UFF 12 Transformações geométricas: transformações lineares x y rrr

13 Instituto de Computação - UFF 13 Transformações geométricas: transformações lineares x y x y

14 Instituto de Computação - UFF 14 Não: mantêm a origem invariante. Logo, não podem representar translações. Considerar uma classe mais ampla: transformações afins. Transformações geométricas: transformações lineares x y p p'

15 Instituto de Computação - UFF 15 Uma transformação T:R 2 R 2 é dita afim quandoUma transformação T:R 2 R 2 é dita afim quando T(ap 1 + (1-a) p 2 )=aT(p 1 )+(1-a)T(p 2 ), T(ap 1 + (1-a) p 2 )=aT(p 1 )+(1-a)T(p 2 ), onde p 1, p 2 R 2 e a R. onde p 1, p 2 R 2 e a R. Transformações geométricas: transformações afins p1p1p1p1 p2p2p2p2 T(p 1 ) T(p2)T(p2)T(p2)T(p2) ap 1 + (1-a) p 2 aT(p 1 )+(1-a)T(p 2 ),

16 Instituto de Computação - UFF 16 Uma transformação T é afim se e somente se é da forma T(p) = L(p) + t, onde L é linear. Transformações geométricas: transformações afins

17 Instituto de Computação - UFF 17 Preservam retas, razão de seção e coordenadas baricêntricas. Se p = 1 v 1 + 2 v 2 + 3 v 3, com 1 + 2 + 3 = 1, então T(p) = 1 T(v 1 ) + 2 T(v 2 ) + 3 T(v 3 ). Transformações geométricas: transformações afins v3v3 v1v1 v2v2 T(v 1 ) T(v 2 ) T(v 3 ) p T(p)

18 Instituto de Computação - UFF 18 Uma transformação afim fica determinada quando se conhece T(v 1 ), T(v 2 ) e T(v 3 ), onde v 1, v 2, v 3 formam um triângulo. Caso particular: referencial (O, e 1, e 2 ) Transformações geométricas: transformações afins e1e1e1e1 e2e2e2e2 T(e1)T(e1)T(e1)T(e1) T(e2)T(e2)T(e2)T(e2) O O

19 Instituto de Computação - UFF 19 Podemos tratar todas as transformações de forma unificada se representarmos os pontos do espaço em coordenadas homogêneas.Podemos tratar todas as transformações de forma unificada se representarmos os pontos do espaço em coordenadas homogêneas. Em coordenadas homogêneas, um ponto do plano é representado por uma tripla [ x,y,w ] ao invés de um par ( x,y ).Em coordenadas homogêneas, um ponto do plano é representado por uma tripla [ x,y,w ] ao invés de um par ( x,y ). Duas coordenadas homogêneas [ x,y,w ] e [ x,y,w ] representam o mesmo ponto se uma é um múltiplo da outra.Duas coordenadas homogêneas [ x,y,w ] e [ x,y,w ] representam o mesmo ponto se uma é um múltiplo da outra. Transformações geométricas: Coordenadas Homogêneas

20 Instituto de Computação - UFF 20 Se w 0 podemos dividir as coordenadas homogêneas por w.Se w 0 podemos dividir as coordenadas homogêneas por w. ( x, y, w ) representa o mesmo ponto que ( x/w, y/w,1). Se w =0, então ( x, y, w ) é um ponto no infinito e representa uma direção do plano (mais sobre isto depois...)Se w =0, então ( x, y, w ) é um ponto no infinito e representa uma direção do plano (mais sobre isto depois...) Transformações geométricas: Coordenadas Homogêneas

21 Instituto de Computação - UFF 21 O uso de coordenadas homogêneas consiste em representar um espaço 2D imerso em um espaço 3D.O uso de coordenadas homogêneas consiste em representar um espaço 2D imerso em um espaço 3D. Se tomarmos todas as triplas ( tx, ty, tw ), w 0, que representam um mesmo ponto, temos uma reta no espaço 3D.Se tomarmos todas as triplas ( tx, ty, tw ), w 0, que representam um mesmo ponto, temos uma reta no espaço 3D. Transformações geométricas: Coordenadas Homogêneas y x w (tx,ty,tw) (x,y,w)

22 Instituto de Computação - UFF 22 Os pontos da forma [ x, y, 1 ] formam um plano com coordenadas w = 1 no espaço ( x, y, w ).Os pontos da forma [ x, y, 1 ] formam um plano com coordenadas w = 1 no espaço ( x, y, w ). Transformações geométricas: Coordenadas Homogêneas y x w w=1 (x,y,w) (x/w,y/w,1)

23 Instituto de Computação - UFF 23 Pontos são representados em coordenadas homogêneas por vetores de 3 componentes.Pontos são representados em coordenadas homogêneas por vetores de 3 componentes. Logo, as matrizes de transformação devem ser representadas por matrizes 3x3.Logo, as matrizes de transformação devem ser representadas por matrizes 3x3. Transformações geométricas: Coordenadas Homogêneas

24 Instituto de Computação - UFF 24 Transformações geométricas: translações em coordenadas homogêneas y x w w=1 t

25 Instituto de Computação - UFF 25 Transformações geométricas: matrizes de transformação em coordenadas homogêneas Escala Rotação Cisalhamento

26 Instituto de Computação - UFF 26 Transformações geométricas: Composição de transformações 2D x y x0x0x0x0 y0y0y0y0 x y x yx y x0x0x0x0 y0y0y0y0

27 Instituto de Computação - UFF 27 A OpenGL trata objetos planares como sendo objetos tridimensionais com uma das coordenadas constante.A OpenGL trata objetos planares como sendo objetos tridimensionais com uma das coordenadas constante. Logo, todas as transformações são realizadas no R 3 (de fato no espaço homogêneo 3d).Logo, todas as transformações são realizadas no R 3 (de fato no espaço homogêneo 3d). TranslaçãoTranslação –glTranslate{fd}(TYPE x, TYPE y, TYPE z); Rotação de angle graus em torno de um eixo ( x, y, z ).Rotação de angle graus em torno de um eixo ( x, y, z ). –glRotate{fd}(TYPE angle,TYPE x, TYPE y, TYPE z); EscalaEscala –glScale{fd}(TYPE sx, TYPE sy, TYPE sz); Transformações geométricas: OpenGL

28 Instituto de Computação - UFF 28 A exibição de objetos gráficos é uma aplicação importante de mudança de sistema de coordenadas.A exibição de objetos gráficos é uma aplicação importante de mudança de sistema de coordenadas. Os dispositivos gráficos de saída possuem uma superfície planar onde a representação de objetos gráficos é materializada.Os dispositivos gráficos de saída possuem uma superfície planar onde a representação de objetos gráficos é materializada. Denominamos esta superfície de superfície de suporte.Denominamos esta superfície de superfície de suporte. Transformações geométricas: transformações de tela

29 Instituto de Computação - UFF 29 A superfície de suporte possui um sistema de coordenadas denominado sistema de coordenadas do dispositivo.A superfície de suporte possui um sistema de coordenadas denominado sistema de coordenadas do dispositivo. Exemplo: monitorExemplo: monitor –A tela do monitor é a materialização de uma superfície retangular com um sistema de coordenadas ortogonais com origem em algum ponto da tela. Transformações geométricas: transformações de tela

30 Instituto de Computação - UFF 30 Um objeto gráfico possui um sistema de coordenadas no qual as coordenadas dos seus pontos são especificadas.Um objeto gráfico possui um sistema de coordenadas no qual as coordenadas dos seus pontos são especificadas. Esse sistema de coordenadas é denominado sistema de coordenadas do objeto.Esse sistema de coordenadas é denominado sistema de coordenadas do objeto. Para exibirmos um objeto gráfico precisamos fazer uma mudança de sistema de coordenadas do objeto para o sistema do dispositivo.Para exibirmos um objeto gráfico precisamos fazer uma mudança de sistema de coordenadas do objeto para o sistema do dispositivo. Transformações geométricas: transformações de tela

31 Instituto de Computação - UFF 31 Na transformação de tela é feita através do mapeamento entre dois retângulos.Na transformação de tela é feita através do mapeamento entre dois retângulos. –A janela (window), definida no sistema de coordenadas do objeto, e a moldura (viewport), é definida no sistema de coordenadas do dispositivo. janela Sistema de coordenadas do objeto moldura Sistema de coordenadas da janela Coordenadas máximas da janela Transformações geométricas: transformações de tela

32 Instituto de Computação - UFF 32 A janela é especificada através de um par de pontos (x 0,y 0 ) e (x 1,y 1 ) e a viewport por um outro par (u 0,v 0 ) e (u 1,v 1 ).A janela é especificada através de um par de pontos (x 0,y 0 ) e (x 1,y 1 ) e a viewport por um outro par (u 0,v 0 ) e (u 1,v 1 ). As mudanças de coordenadas são realizadas através da sequinte sequência de transformações:As mudanças de coordenadas são realizadas através da sequinte sequência de transformações: 1.Translada-se o ponto (x 0,y 0 ) para a origem do sistema de coordenadas do mundo. 2.Aplica-se uma mudança de escala para transformar o novo retângulo da janela num retângulo congruente ao retângulo da moldura. 3.Translada-se o ponto da origem do sistema do dispositivo para o ponto (u 0,v 0 ) da moldura. Transformações geométricas: transformações de tela

33 Instituto de Computação - UFF 33 (x 0,y 0 ) x x (x 1,y 1 ) (u 1,v 1 ) (u 0,v 0 ) x x y y v v 1 2 3 Transformações geométricas: transformações de tela

34 Instituto de Computação - UFF 34 Rastreio: processo através do qual primitivas geométricas como, por exemplo, linhas e polígonos, são transformadas em imagens digitais.Rastreio: processo através do qual primitivas geométricas como, por exemplo, linhas e polígonos, são transformadas em imagens digitais. Composto de duas etapas:Composto de duas etapas: –Determinar quais células da imagem são ocupadas pela primitiva. –Atribuir os respectivos atributos(cor, profundidade, etc.) a cada uma dos elementos ocupados. Algoritmos para rastreio: introdução


Carregar ppt "Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Transformações geométricas no plano."

Apresentações semelhantes


Anúncios Google