1 / 41

Computação Gráfica

Computação Gráfica. Transformações Geométricas Sistemas de Coordenadas. Aula 3. Prof. Leandro Taddeo. Transformações Geométricas. Introdução.

howell
Download Presentation

Computação Gráfica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computação Gráfica • Transformações Geométricas • Sistemas de Coordenadas • Aula 3 Prof. Leandro Taddeo

  2. Transformações Geométricas Introduçã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 • Ex: dado um ponto no plano podemos mudar sua posição através de transformações geométricas T 10 unidades

  3. Transformações Geométricas Matrizes • Todas as transformações geométricas podem ser representadas na forma de equações • Problema: manipulações de objetos gráficos normalmente envolvem muitas operações de aritmética simples • Solução: matrizes são mais fáceis de usar e entender do que as equações algébricas • Padrão de coordenadas: • Pontos no plano (x,y)  Matrizes 2x2 • Pontos no espaço tridimensional (x,y,z)  Matrizes 3x3 • Matriz de transformação: várias transformações combinadas

  4. Transformações Geométricas Representações • Dado um sistema de coordenadas, pode-se definir elementos neste sistema através de suas coordenadas • Caso o sistema seja 2D • Pontos são definidos por 2 coordenadas • Define-se um ponto pela sua distância em relação ao centro dos eixos • (2,1)  2 unidades distante de x=0  1 unidade distante de y=0 y (2,1) 1 x 2

  5. Transformações Geométricas Representações • Convencionalmente, representa-se um ponto na forma de um vetor linha ou vetor coluna • Também corresponde à forma mais simples de representação de uma matriz (linha ou coluna) y A (2,1) 1 x 2 Vetor linha Vetor coluna

  6. Transformações Geométricas Representações • O par pode servir para representar tanto o ponto quanto o vetor em si y A (2,1) 1 x 2 Vetor linha Vetor coluna

  7. Transformações Geométricas Operações • Diversas operações podem ser efetuadas entre pontos e vetores: • Soma e subtração de vetores t = v + u t = v + (- u) y y t=v+u u v x t=v+(-u) -u v x

  8. Transformações Geométricas Operações • Diversas operações podem ser efetuadas entre pontos e vetores: • Soma e subtração de vetores t = v + u Seja u=[1,3] e v=[2,1], o vetor resultante t=v+u será igual a: t=[1+2,3+1] =[3,4] y t=v+u u v x Obs: os vetores precisam ter as mesmas dimensões

  9. Transformações Geométricas Operações • Diversas operações podem ser efetuadas entre pontos e vetores: • Multiplicação de um vetor por um escalar (constante) u = 2v Seja v=[2,1], o vetor resultante u=2v será igual a: u=[2*2,2*1] =[4,2] y v v u=2v x

  10. Transformações Geométricas Operações • Diversas operações podem ser efetuadas entre pontos e vetores: • Soma de um ponto com um vetor Q = P+v Seja P=[2,3] e v=[2,-1], o ponto resultante Q=P+v será igual a: Q=[2+2,3-1] =[4,2] y P Q v x Obs: os vetores e os pontos precisam ter as mesmas dimensões

  11. Transformações Geométricas Operações • Diversas operações podem ser efetuadas entre pontos e vetores: • Transposto de um vetor v t Seja v=[3,1], o vetor transposto resultante vt será igual a: vt=[1,3] y vt v x

  12. Transformações Geométricas Operações em Matrizes • Algumas operações são também aplicadas a matrizes Multiplicação de matriz por escalar Soma de matrizes Transposta de uma matriz Multiplicação de matrizes Obs: Algumas operações são limitadas pelo tamanho das matrizes

  13. Sistemas de Coordenadas Introdução • Podemos utilizar diferentes sistemas de coordenadas para descrever os objetos modelados em um sistema 2D • Serve para nos dar uma referência de tamanho e posição dos objetos

  14. Sistemas de Coordenadas Introdução • Sistema de Referência: sistema de coordenadas cartesianas para alguma finalidade específica • Deve-se especificar: • Unidade de referência básica • Limites extremos dos valores aceitos para descrever os objetos • Sistemas com denominação especial • Sistema de Referência do Universo (SRU) • Sistema de Referência do Objeto (SRO) • Sistema de ReferênciaNormalizado (SRN) • Sistema de Referência do Dispositivo (SRD)

  15. Sistemas de Coordenadas Sistemas com denominação especial

  16. Sistemas de Coordenadas Sistema de Referência do Universo (SRU) • Sistema de referência utilizado para descrever os objetos em termos das coordenadas utilizadas pelo usuário em determinada aplicação • Também chamado de coordenadas do universo, ou do mundo • Ex: • Sistemas CAD de arquitetura  o universo em metros ou centímetros • Sistemas CAD de mecânica de precisão  o universo em milímetros ou nanômetros

  17. Sistemas de Coordenadas Sistema de Referência do Objeto (SRO) • Cada objeto seja (ou possua) um miniuniverso individual • Particularidades dos objetos descritas em função de seu sistema • O centro deste sistema costuma coincidir com o centro de gravidade do objeto • Na modelagem de sólidos, este centro é conhecido como pivô

  18. Sistemas de Coordenadas Sistema de Referência do Normalizado (SRN) • Trabalha com coordenadas normalizadas • Em 2D: • 0 ≤ x ≤ 1 • 0 ≤ y ≤ 1 • Funciona como um sistema de referênciaintermediárioentre o SRU e o SRD • Função principal: tornar a geração das imagens independente do dispositivo • Coordenadas do universo são convertidas para um sistema de coordenadas padrão normalizado

  19. Sistemas de Coordenadas Sistema de Referência do Dispositivo (SRD) • Utiliza coordenadas que podem ser fornecidas diretamente para um dado dispositivo de saída • Ex: número de pixels de monitores • 640×480, 800×600

  20. Sistemas de Coordenadas Exemplos

  21. Sistemas de Coordenadas Exemplos

  22. Sistemas de Coordenadas Exemplos

  23. Aplicação Transformações Geométricas 23 • A habilidade de representar um objeto em várias posições no espaço é fundamental para compreender sua forma • A possibilidade de submetê-lo a diversas transformações é muito importante para aplicações em C.G. • As transformações geométricas podem ser aplicadas em 2D ou 3D e os tipos principais são: • Translação, rotação e escala

  24. Translação Transformações Geométricas 24 • Transladar significa movimentar o objeto, mas como é possível movimentar um objeto completo? • Um objeto é formado pelo que? • Pontos • Então, para movimentar um objeto, basta movimentar os pontos que compõem o mesmo • Como os pontos de um objeto podem ser representados em um sistema de coordenadas, basta adicionar quantidades às suas coordenadas

  25. Translação – Exemplo Transformações Geométricas 25

  26. Translação – Formalização Transformações Geométricas 26 x’ = x + Tx y’ = y + Ty P’ = P + T [x’ y’] = [x y] + [TxTy] ou Representação na forma de vetores (soma de dois vetores) • Imagine um ponto (x,y) que representa um objeto • Pode-se mover este objeto Tx unidades em relação ao eixo x • Pode-se mover este objeto Ty unidades em relação ao eixo y • A nova posição é representada por (x’,y’) e pode ser escrita como

  27. Translação – Formalização Transformações Geométricas 27 x’ = x + Tx y’ = y + Ty z’ = z + Tz P’ = P + T [x’ y’ z’] = [x y z] + [TxTyTz] ou Lembre-se que esta transformação deve ser aplicada a cada um dos pontos (P) que formam um objeto Também é possível representar a translação em um espaço 3D:

  28. Escala Transformações Geométricas 28 • Escalonar significa mudar as dimensões de escala, mas como é possível escalonar um objeto completo? • Basta multiplicar os valores de suas coordenadas por um fator de escala • Cada um dos vetores que compõem o objeto são multiplicados por um mesmo fator de escala

  29. Escala – Exemplo Transformações Geométricas 29

  30. Escala – Formalização Transformações Geométricas 30 x’ = x * Sx y’ = y * Sy ou Representação matricial (multiplicação de vetor e matriz) • Imagine um ponto (x,y) que representa um objeto • Pode-se escalonar um objeto no eixo x aplicando um fator de escala Sx a este ponto • Pode-se escalonar um objeto no eixo y aplicando um fator de escala Sy a este ponto • A novo valor de suas coordenadas é representado por (x’,y’) e pode ser escrito como

  31. Escala – Formalização Transformações Geométricas 31 x’ = x * Sx y’ = y * Sy z’ = z * Sz ou Também é possível representar a escala em um espaço 3D:

  32. Escala – Observações Transformações Geométricas 32 • Para aplicar uma escala em um objeto, é necessário que o objeto esteja na origem dos eixos • Caso contrário, essa operação de multiplicação também fará com que o objeto translade

  33. Transformações Geométricas Rotação 33 • Rotacionar significa girar • Ao lado é mostrado o exemplo de rotação de um único ponto • O ponto P é rotacionado rumo ao ponto P’

  34. Rotação – Exemplo Transformações Geométricas 34 90º

  35. Rotação Transformações Geométricas 35 x’ = r . cos(θ + φ) = r * cos φ * cos θ – r * sen φ * sen θ y’ = r . sen(θ + φ) = r * sen φ * cos θ + r * cos φ * sen θ Que equivale a: x’ = x * cos θ – y * sen θ y’ = y * cos θ + x * sen θ Se um ponto P, distante r=(x2+y2)1/2 for rotacionado de um ângulo θ em torno da origem, suas coordenadas que antes eram definidas por: x=r*cos(φ), y=r*sen(φ), passam a ser dadas por:

  36. Rotação – Formalização Transformações Geométricas 36 x’ = x * cos θ – y * sen θ y’ = y * cos θ + x * sen θ ou • Imagine um ponto (x,y) que representa um objeto • Pode-se rotacionar um objeto no plano xy de um dado ângulo θ utilizando-se as expressões obtidas no slide anterior • A novo valor de suas coordenadas é representado por (x’,y’) e pode ser escrito como

  37. Rotação – Observações Transformações Geométricas 37 • Para aplicar uma rotação em um objeto, é necessário que o objeto esteja na origem dos eixos • Caso contrário, essa operação também fará com que o objeto translade

  38. Rotação em Torno de um Ponto Transformações Geométricas 38 • Como rotacionar um objeto em torno de um dado ponto? • Transladar este ponto para a origem dos eixos • Efetuar a rotação • Transladar o ponto para sua posição original Obs: a mesma idéia é aplicada à escala

  39. Rotação 3D Transformações Geométricas 39 y y y p' p' p p p x x x p' z z z É possível aplicar a rotação em qualquer plano (xy, yz, xz)

  40. Composição de Transformações Geométricas Transformações Geométricas 40 Pode-se criar uma transformação geométrica através da composição de várias outras

  41. Exercício 41 y y x x Aplique transformações geométricas para que o objeto fique como especificado

More Related