O documento discute transformações geométricas em computação gráfica, incluindo translação, escala e rotação. Explica como matrizes são usadas para representar essas transformações e como elas afetam os pontos e objetos. Também aborda conceitos como sistemas de coordenadas, câmera virtual, frustum e suas implementações em OpenGL.
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
Computação Gráfica - Transformações Geométricas no Plano e no Espaço
1. Computação Gráfica Aula 6 – Transformações Geométricas no Plano e no Espaço Prof. Tony Alexander Hild Documento licenciado por Creative Commons - http://creativecommons.org/licenses/by-nc-sa/2.5/br/
2.
3.
4. O problema é que manipulações de objetos gráficos normalmente envolvem muitas operações de aritmética simples;
5. As matrizes são muito usadas nessas manipulações porque são mais fáceis de usar e entender do que as equações algébricas, o que explica por que programadores e engenheiros as usam extensivamente. Matrizes em Computação Gráfica
8. Para objetos tridimensionais ou pontos no espaço, três coordenadas são necessárias para definir seu posicionamento;
9. Assim, dado um sistema de coordenadas, cada ponto pode ser associado às suas coordenadas no sistema. Por exemplo:
10.
11.
12.
13. O sistema de coordenadas serve para nos dar uma referência em termos de medidas do tamanho e posição dos objetos dentro de nossa área de trabalho. Sistemas de Coordenadas
14.
15. A possibilidade de submetê-lo a diversas transformações é importante em diversas aplicações da computação gráfica;
16. As operações lineares de rotação e translação de objetos são chamadas operações de corpos rígidos;
19. É possível efetuar a translação de pontos no plano (x,y) adicionando quantidades às suas coordenadas;
20. Assim, cada ponto em (x,y) pode ser movido por Tx unidades em relação ao eixo x , e por Ty unidades em relação ao eixo y;
21. Logo, a nova posição do ponto (x,y) passa a ser (x’,y’).
22. Transformação de Translação Translação de um triângulo de três unidades na horizontal e –4 na vertical. Repare que se teria o mesmo efeito transladando a origem do sistema de coordenadas para o ponto (–3, 4) na primeira figura.
23.
24. Para fazer com que uma imagem definida por um conjunto de pontos mude de tamanho, teremos de multiplicar os valores de suas coordenadas por um fator de escala;
25. Transformar um objeto por alguma operação nada mais é do que fazer essa operação com todos os seus pontos. A mesma figura antes e depois de uma mudança de escala genérica, de ½ na horizontal e 1/4 na vertical. Repare que esse mesmo efeito relativo seria conseguido mudando a escala do sistema de eixos para uma outra que fosse o dobro da primeira na horizontal e quatro vezes maior na vertical.
26. Transformação de Rotação Rotação de um ponto P em torno da origem, passando para a posição P’. Repare que se chegaria a esse mesmo ponto através de uma rotação de – no sistema de eixos XY.
27.
28.
29.
30.
31. Então abra o polegar para a direita, mantenha o indicador para cima, e aponte o dedo médio apontando para você;
32. Seu dedo indicador aponta para y positivo, seu dedo médio aponta para z positivo, e o polegar para x positivo;
38. Da mesma forma que no mundo real, a imagem que se obtém da cena sintética depende de vários fatores que determinam como esta é projetada em um plano para formar a imagem 2D exibida em algum dispositivo, como, por exemplo, o vídeo.
39. Ao gerar imagens de cenas 3D em computação gráfica, é comum fazermos uma analogia com uma máquina fotográfica;
40. Nessa analogia, imaginamos um observador que, posicionado em um ponto de observação, vê a cena através das lentes de uma câmera virtual que pode ser posicionada de forma a obter a imagem da cena, e onde pode-se definir, além da posição da câmera, sua orientação e foco, o tipo de projeção usada e a posição dos planos que limitam a visibilidade da cena, os chamados clipping planes. Câmera Virtual
41. Câmera Virtual Coordenadas da posição da câmera, e seus 7 graus de liberdade: localização no espaço (x,y,z), ângulos de rotação em torno de cada um dos eixos (setas curvas) e foco.
42. Em computação gráfica, o volume de visão ou view frustum é a região do espaço no mundo modelado que aparecerá na tela. É o campo de visão da câmera O formato exato desta região varia dependendo do tipo de lentes simuladas pela câmera, mas tipicamente é um volume de uma piramide retangular. Os planos que cortam o frustum perpendicularmente a direção da visão são chamados de plano próximo (near plane) e plano distante (far plane). Objetos mas próximos a câmera do que o plano próximo ou depois do plano distante não são desenhados. Geralmente, o plano distante é localizado infinitamente distante da câmera então todos os objetos do frustum são desenhados independentemente da distância da câmera. Frustum
44. Viewing Frustum Culling Viewing frustum culling é o processo de remover totalmente do processo de renderização os objetos que se encontram fora do viewing frustum. Renderizar estes objetos seria uma perda de tempo visto que eles não são diretamente visíveis. Em ray tracing, viewing frutum culling não pode ser executado por que objetos fora do viewing frustum podem ser visíveis quando refletidos em um objeto dentro do frustum.
45.
46.
47.
48. O comando glScale é relativamente simples mas a utilização do fator de escala não-uniforme afetará os objetos desenhados;
49. Por exemplo, para triplicar a altura de um objeto usa-se: glScalef(1.0f,3.0f,1.0f);
50.
51. Para a rotação ser feita em torno de um dos eixos principais, deve-se definir x, y e z apropriadamente como os vetores unitários nas direções destes eixos. Por exemplo, a rotação do ponto de visão de 30º em torno do eixo x pode ser definida como: glRotatef(30.0f,1.0f,0.0f,0.0f);