Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D

Documentos relacionados
Introdução à Computação Gráfica

Transformações Geométricas

A RV e RA e suas aplicações na TVD 23/04/2012

Transformações Geométricas Grafos de Cena

4. Curvas Paramétricas e Transformações 2D

Transformações Geométricas. Transformações Geométricas. Sistemas de Coordenadas. Translação: M.C.F. de Oliveira Rosane Minghim 2006

Visualização por Computador: Teoria, Prática e Aplicações

Transformações Geométricas

Transformações de Pontos. Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Aluna: Karina da Silva Salles

aula9 Coordenadas homogêneas e projeções 2016/2 IC / UFF

Transformações (Cap 4.3, 4.4 e 4.6 a 4.10)

aula6 Projeções Planas 2017/2 IC / UFF

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

Translação. Sistemas de Coordenadas. Translação. Transformações Geométricas 3D

Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D

Sistemas de Referência

Curso de CG 2019/1 IC / UFF

Transformações Geométricas

aula8 Transformações Geométricas no Plano e no Espaço 2016/2 IC / UFF

Transformações Geométricas

Curso de CG 2018/2 IC / UFF

Conceitos de vetores. Decomposição de vetores

Transformações Geométricas em C.G.

1. Considere a seguinte matriz dos vértices dum triângulo D = 0 2 3

Modelos Geométricos Transformações

ESCOLA SECUNDÁRIA COM 2º E 3º CICLOS ANSELMO DE ANDRADE

1º Teste de Computação Gráfica 3º Ano

Lista de Exercícios de Cálculo 3 Primeira Semana

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. ramal 5981

Mudança de Coordenadas

Isometrias ESCOLA SECUNDÁRIA ANSELMO DE ANDRADE

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Visualização 3D

Computação Gráfica. Prof. MSc. André Yoshimi Kusumoto

Escola Secundária com 3º ciclo D. Dinis 11º Ano de Matemática A Tema I Geometria no Plano e no Espaço II. 2º Teste de avaliação.

Modelagem Cinemática de Robôs Industriais. Prof. Assoc. Mário Luiz Tronco

Transformações Geométricas

Escola Secundária com 3º ciclo D. Dinis 11º Ano de Matemática A Tema I Geometria no Plano e no Espaço II. 2º Teste de avaliação.

Aula9 e 10. Projeções Planas. Como representar objetos 3D em dispositivos 2D? 2019/1 IC / UFF. Paginas 91 a 101 livro texto de computacao grafica

Determinação da Visibilidade

Departamento de Matemática e Ciências Experimentais FÍSICA 12.º Ano

Exame de Época Especial Computação Gráfica

CAPÍTULO 2 CÁLCULO VECTORIAL Grandezas escalares e vectoriais. Noção de Vector. As grandezas físicas podem ser escalares ou vectoriais.

Câmara Virtual Simples

Agrupamento de Escolas da Senhora da Hora

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Visualização 3D

Perspectivas Cap 2 (do livro texto) Aula 7 UFF

Prof. Fernando V. Paulovich 3 de maio de SCC Computação Gráca

2.1 Translação, rotação e deformação da vizinhança elementar Variação relativa do comprimento (Extensão)

Programa Princípios Gerais Forças, vetores e operações vetoriais

Animação por Computador. Sólidos Transformações lineares Hierarquia de movimento Parametrização da orientação Interpolação da orientação

ROBÓTICA TRANSFORMAÇÕES MATRICIAIS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

CAPíTULO 1. Vetores e tensores Notação indicial

Transformações 2D. Prof. Márcio Bueno Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof.

Aula de Problemas 1. Problema 1. Demonstre o teorema de Pitágoras (geometria euclidiana):

Transformações Geométricas em C.G. Claudio Esperança Paulo Roma Cavalcanti

ROBÓTICA (ROB74) AULA 2. TRANSFORMAÇÕES GEOMÉTRICAS E COORDENADAS HOMOGÊNEAS PROF.: Michael Klug

Física I 2010/2011. Aula 16. Momento de uma Força e Momento Angular

Instituto de Física Universidade Federal do Rio de Janeiro. Cap. 1 - Vetores. Prof. Elvis Soares - Física I

1 Vetores no Plano e no Espaço

Coordenadas Homogêneas

Cap. 0. Cálculo tensorial

Transformações de Visualização 2D: Clipping. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

1 Espaços Vectoriais

Transformações Geométricas

Descrições Espaciais e Transformações

GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 2018

1º Teste de Computação Gráfica

Coordenadas Homogêneas no Plano e no Espaço

Aulas práticas de Álgebra Linear

Escola Básica Integrada c/ Jardim de Infância da Malagueira SÍNTESE DO TÓPICO ISOMETRIAS. rotaçã

Modelagem Cinemática de Robôs Industriais. Prof. Assoc. Mário Luiz Tronco

Introdução: A necessidade de ampliação dos conjuntos Numéricos. Considere incialmente o conjunto dos números naturais :

Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006

Vectores e Geometria Analítica

Álgebra Linear e Geometria Anaĺıtica. Matrizes e Sistemas de Equações Lineares

Chamaremos AC de vetor soma (um Vetor resultante) dos vetores AB e BC. Essa soma não é uma soma algébrica comum.

Chamamos de grandezas coisas que podem ser medidas. Por exemplo, tempo, área, volume, temperatura, velocidade, aceleração, força, etc..

Preparar o Exame Matemática A

Fundamentos Matemáticos de Computação Gráfica

CAPÍTULO 11 ROTAÇÕES E MOMENTO ANGULAR

Universidade Federal de Alagoas UFAL Centro de Tecnologia - CTEC Programa de Pós-Graduação em Engenharia Civil - PPGEC

Mecânica e Ondas fascículo 4

aula6 2018/2 IC / UFF Como representar objetos 3D em dispositivos 2D?

Curso de Computação Gráfica (CG) 2014/2- Cap 2 parte 2 Transformações no espaço e projeções Trabalho 5 (individual) - Gabarito

Ficha de Exercícios nº 3

Sistemas de coordenadas Transformação entre sistemas

Geometria e Programação Geométrica

que transforma A em F. T (A) = F significa que a imagem do ponto A pela translação associada ao vetor é o ponto F. Assim o vetor =.

aula9 Perspetivas 2018/2 IC / UFF Sempre mais real Projetar em Perspectivas

TRANSFORMAÇÕES GEOMÉTRICAS

Gabarito - P1 de CG 2019 /1

Pontifícia Universidade Católica do Rio de Janeiro / PUC-Rio Departamento de Engenharia Mecânica. ENG1705 Dinâmica de Corpos Rígidos.

J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial

Vetores de força. Objetivos da aula. Mostrar como adicionar forças e decompô-las em componentes usando a lei do paralelogramo.

ALGA /09 - Geometria Analítica 78. Geometria Analítica

Universidade Federal do Rio de Janeiro Instituto de Física. Física I IGM1 2014/1. Cap. 1 - Vetores. Prof. Elvis Soares

Produto Misto, Determinante e Volume

Aula 5 - Produto Vetorial

Transcrição:

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática Transformações 2D Computação Visual Beatriz Sousa Santos, Joaquim Madeira

Transformações 2D Posicionar, orientar e escalar objectos no plano XOY Transformações básicas Translação Rotação relativamente à origem Mudança de escala relativamente à origem Representação matricial Coordenadas homogénas Transformações mais complexas Decompor numa sequência de transformações básicas 2

Visualização 2D É preciso usar transformações 2D para mostrar diferentes cenas (ou partes de cenas) em diferentes zonas do ecrã 3

Visualização 2D 4

Transformações 2D básicas p = (x, y) ponto original p = (x, y ) ponto transformado As transformações básicas são: - Translação - Mudança de escala - Rotação Notação vectorial Nota: alguns livros e packages gráficos mais antigos usam uma notação em que cada ponto é um vector linha e não um vector coluna: P = [ x y ] 5

Translação Para fazer uma translação é necessário especificar deslocamentos em x e y 6

Translação A translação desloca um objecto sem o deformar: é uma transformação de corpo-rígido Para aplicar uma translação a um segmento de recta, transformam-se os extremos e unem-se os pontos transformados Para aplicar uma translação a um polígono, transformam-se os vértices 7

Rotação Para efectuar uma rotação é necessário especificar: - um ponto em torno do qual se vai efectuar a rotação (x r,y r ) ( intersecção entre o eixo de rotação e o plano XOY ) - um ângulo de rotação θ (positivo no sentido anti-horário) Rotação positiva 8

Rotação em torno da origem Por facilidade, calculemos em 1º lugar a matriz de transformação correspondente a uma rotação em torno da origem: x = r cos (Φ + θ) = r cos Φ cos θ r sin Φ sin θ y = r sin (Φ + θ) = r cos Φ sin θ + r sin Φ cos θ As coordenadas originais do ponto em coordenadas polares são: r sin (Φ + θ) x = r cos Φ y = r sin Φ Substituindo nas expressões anteriores temos: x = x cos θ y sin θ r cos (Φ + θ) y = x sin θ + y cos θ 9

Rotação em torno da origem Nota: quando se usa a notação em que cada ponto é uma matriz linha, altera-se a ordem da multiplicação de matrizes e as matrizes de transformação são as transpostas: P = P. R T com TPC: verificar Matriz de rotação de um ângulo θ em torno da origem 10

Rotação em torno de um ponto arbitrário Usando a relação trigonométrica indicada pelos dois triângulos da figura podemos generalizar a expressão das coordenadas x,y Nota: um método alternativo x = x r + ( x - x r ) cos θ ( y - y r ) sin θ consiste em considerar esta transformação como composta de transformações elementares y = y r + ( x - x r ) sin θ + ( y - y r ) cos θ (ver mais à frente) As rotações são também transformações de corpo rígido Tal como na translação, para rodar um segmento de recta, transformam-se os extremos e unem-se os pontos transformados Para rodar um polígono, transformam-se os vértices 11

Nota: Obtenção do valor de x x = r cos (θ + Φ) + x r x = r cos Φ + x r y = r sen (θ + Φ) + y r y = r sen Φ + y r x = r cos θ cos Φ r sen θ sen Φ + x r y = r cos θ sen Φ + r sen θ cos Φ + y r exprimindo em função de x e y: x = (x x r ) cos θ (y - y r ) sen θ + x r x = x r + ( x - x r ) cos θ ( y - y r ) sin θ TPC: obter o valor de y 12

Mudança de escala em torno da origem Para modificar o tamanho de um objecto aplica-se uma mudança de escala, sendo s x e s y factores de escala: x = x. s x y = y. s y matriz de transformação P = S. P Transformação de um quadrado num quadrado maior através de uma mudança de escala, s x =2, s y =2 13

Mudança de escala Podem-se usar valores de s >0 Transformação de um quadrado num quadrado maior através de uma mudança de escala, s x =2, s y =2 x = x. s x y = y. s y s x = s y mudança de escala uniforme s x = s y mudança de escala não uniforme Transformação de um quadrado num rectângulo através de uma mudança de escala, s x =2, s y =1 14

Mudança de escala Os objectos transformados pela transformação S são também reposicionados: s < 1 objecto aproxima-se da origem s > 1 objecto afasta-se da origem Um segmento de recta diminui em tamanho e aproxima-se da origem quando se aplica uma mudança de escala s x = s y = 0,5 TPC: verificar 15

Mudança de escala com um ponto fixo Mas podemos controlar a posição de um objecto, escolhendo um ponto fixo, (x f, y f ) que permanece inalterado: x x f = (x x f ). s x y y f = (y y f ). s y Mudança de escala relativa a um ponto fixo (x f, y f ) x = x. s x + x f (1 s x ) y = y. s y + y f (1 s y ) Const. para todos os pontos do objecto Nota: é possível realizar esta transformação e a rotação em torno de um ponto arbitrário na forma matricial multiplicando cada ponto apenas por uma matriz como veremos mais à frente 16

Coordenadas homogéneas A maioria das aplicações gráficas envolvem sequências de transformações Por exemplo: - as transformações de visualização envolvem sequências de translações e rotações para gerar uma imagem de uma cena - uma animação pode requerer que um objecto sofra uma translação e uma rotação entre cada dois frames consecutivos Vejamos como se podem representar as transformações anteriores para que se possam realizar sequências de transformações de forma eficiente 17

Vimos que as três transformações básicas 2D podem ser expressas na forma geral: P = M 1. P + M 2 M 1 é uma matriz 2x2 contendo factores multiplicativos M 2 é uma matriz coluna com dois elementos: os dois termos de translação Uma abordagem mais eficiente consiste em ter uma única matriz que: - represente todas as transformações de uma sequência - possa ser aplicada uma única vez a cada ponto Isto consegue-se usando coordenadas homogéneas 18

É possível combinar numa única matriz os termos multiplicativos e os aditivos se utilizarmos matrizes de 3x3 Todas as transformações podem ser representadas por multiplicações de matrizes Podemos usar a terceira coluna para os termos aditivos É necessário passar a representar cada ponto por três coordenadas: ( x, y ) (x h, y h, h), h = 0 x = x h / h y = y h / h ( x.h, y.h, h) 19

Uma escolha que facilita é: plano h =1 O que resulta em: ( x, y ) (x, y, 1) Existe uma infinidade de pontos P h no espaço tridimensional das coordenadas homogéneas que correspondem a um único ponto (x,y) 20

Transformações 2D em coordenadas homogéneas Quando se usam coordenadas homogéneas podemos realizar todas as transformações geométricas por multiplicação de matrizes Translação 2D: TPC: verificar 21

Rotação 2D: Mudança de escala 2D: 22

Transformações inversas A transformação inversa de uma translação: é uma translação com parâmetros simétricos em x e y: 23

Uma rotação inversa obtém-se substituindo o ângulo de rotação pelo seu simétrico: Podemos calcular a inversa de qualquer matriz de rotação calculando a transposta; Isto deve-se ao facto de apenas o seno ser afectado pela mudança de sinal do ângulo TPC: verificar 24

Uma mudança de escala inversa obtém-se substituindo os factores de escala pelos seus recíprocos: Mudança de escala s x =2, s y =1 O produto de uma qualquer matriz M correspondente a uma transformação pela matriz correspondente à sua transformação inversa produz uma matriz identidade: M. M -1 = I Mudança de escala s x =1/2, s y =1 25

Transformações compostas Usando a representação matricial podemos gerar uma matriz correspondente a uma sequência de transformações calculando o produto das transformações individuais O produto de matrizes de transformação chama-se concatenação ou composição de matrizes A concatenação de duas matrizes calcula-se como: Segunda transformação a ser aplicada P = M 2. M 1. P = M. P Primeira transformação a ser aplicada Nota: A aplicação das matrizes de transformação faz-se multiplicando da direita para a esquerda (nesta notação) As coordenadas do ponto transformado P são calculadas através da multiplicação de uma única matriz 26

Composição de duas translações sucessivas TPC: verificar 27

Composição de duas mudanças de escala sucessivas 28

Rotação em torno de um ponto arbitrário (x r, y r ) Posição original do objecto e do ponto (x r, y r ) 1- Aplicar a translação que leva (x r, y r ) para a origem 2- Rodar em torno da origem 3- Aplicar translação por forma a levar o ponto arbitrário a (x r, y r ) 29

Rotação em torno de um ponto arbitrário É necessário aplicar uma: 1 - uma translação por forma a que o ponto arbitrário coincida com a origem 2 - uma rotação em torno da origem 3 - uma translação por forma a levar o ponto arbitrário para a posição original 3- Translação do ponto arbitrário para a posição original 2- Rotação de θ 1- Ponto arbitrário para a origem TPC: verificar 30

Mudança de escala mantendo um ponto fixo (x f, y f ) Posição original do objecto e do ponto ( x f, y f ) 1- Aplicar a translação que leva ( x f, y f ) para a origem 2- Aplicar a mudança de escala 3- Aplicar translação por forma a levar o ponto fixo a ( x f, y r ) 31

Propriedades de concatenação de matrizes A multiplicação de matrizes é associativa Dadas quaisquer três matrizes M 1, M 2, M 3, o seu produto pode ser obtido multiplicando em primeiro lugar M 3 por M 2, ou multiplicando primeiro M 2 e M 1 M 3. M 2. M 1 = (M 3. M 2 ). M 1 = M 3. (M 2. M 1 ) Mas os produtos de transformações em geral não são comutativos: M2. M1 = M1. M2 Por exemplo, quando se pretender aplicar uma rotação e uma translação a um objecto, é necessário ter cuidado com a ordem em que se aplicam as transformações 32

Por exemplo, quando se pretender aplicar uma rotação e uma translação a um objecto, é necessário ter cuidado com a ordem em que se aplicam as transformações A alteração da ordem de uma sequência de transformações pode afectar o resultado final. Em a) é aplicada a translação na direcção x e depois a rotação de 90º no sentido anti-horário. Em b) o objecto é rodado e depois aplicada a translação Em alguns casos particulares a multiplicação de duas matrizes de transformação é comutativa (duas rotações ou duas mudanças de escala ou duas translações sucessivas) 33

Concatenação de transformações e eficiência computacional Uma transformação bidimensional representando uma combinação de transformações (translações, rotações, mudanças de escala) pode ser representada como: termos multiplicativos correspondentes às rotações e mudanças de escala termos correspondentes a distâncias de translação e centro de rotação ou ponto fixo na mudança de escala 34

Por exemplo: se um objecto tiver que sofrer uma mudança de escala e uma rotação em torno do seu centróide (x c, y c ) e depois sofrer uma translação, temos: As coordenadas transformadas são dadas por: TPC: verificar 35

Assim, para qualquer sequência de transformações, depois de concatenadas numa única matriz, são necessárias apenas: - 4 multiplicações - 4 adições Se não se calcular uma única matriz, cada uma das transformações tem que ser aplicada individualmente, sendo o número de operações muito superior Deve-se, portanto, usar uma única matriz de transformação resultante das várias transformações a aplicar Note-se que os coeficientes dessa matriz apenas têm que ser calculados uma única vez 36

Outras transformações Além das transformações básicas (translação, rotação e mudança de escala) alguns packages gráficos fornecem outras transformações que podem ser úteis, como: - reflexão - shearing Shearing na direcção x: Quadrado unitário Paralelogramo resultante de um shear na direcção x 37

Reflexão Uma reflexão é uma transformação que produz uma imagem num espelho Uma reflexão em torno do eixo dos xx (y=0) obtém-se multiplicando por -1 as coordenadas y Reflexão em torno do eixo dos xx Uma reflexão em torno do eixo dos yy (x=0) obtém-se multiplicando por -1 as coordenadas x TPC: verificar Reflexão em torno do eixo dos yy 38

Questões Como se efectua o shearing nas duas direcções? E as reflexões em torno de eixos paralelos aos eixos coordenados? Ou em torno de eixos que passam pela origem? Bissectores dos quadrante pares ou impares Com qualquer declive Ou mesmo em torno de um eixo qualquer? 39

Principal bibliografia D. Hearn and M. P. Baker, Computer Graphics with OpenGL, 3 rd Ed., Addison-Wesley, 2004 E. Angel and D. Shreiner, Introduction to Computer Graphics, 6 th Ed., Pearson Education, 2012 J. Foley et al., Introduction to Computer Graphics, Addison-Wesley, 1993 40