Anotações
Apresentação de slides
Estrutura de tópicos
1
Computação Gráfica
Módulo III – Geometria
  • UniverCidade - Prof. Ismael H F Santos


2
Considerações Gerais
  • Objetivo: Discutir os principais conceitos eos princípios básicos dos Sistemas Gráficos e a Programação em OpenGL.
  • A quem se destina : Alunos e Profissionais que desejem aprofundar seus conhecimentos sobre Computação Grafica e suas aplicações.


3
Bibliografia
  • Computação Gráfica Volume 1. Jonas Gomes e Luiz Velho. Instituto de Matemática Pura e Aplicada – IMPA.
  • Introdução a Computação Gráfica - Paulo Roma
    •  http://www.lcg.ufrj.br/compgraf1/downloads/apostila.pdf
    • http://www.lcg.ufrj.br/compgraf1/downloads/apostila.ps.gz
  • Notas do Curso ministrado na Universidade de Maryland pelo Prof. David Mount
    • ftp://ftp.cs.umd.edu/pub/faculty/mount/427/427lects.ps.gz
    • http://www.lcg.ufrj.br/~esperanc/CG/427lects.ps.gz
  • Apostila Fundamentos da Imagem Digital – Antonio Scuri
  • Computer Graphics: Principles and Practice, Second Edition. James Foley, Andries van Dam, Steven Feiner, John Hughes. Addison-Wesley.
  • OpenGL Programming Guide, 2nd Edition. Mason Woo, Jackie Neider, Tom Davis. Addison Wesley.
4
Bibliografia OpenGL
  • OpenGL® Programming Guide, 2nd Edition. Mason Woo, Jackie Neider, Tom Davis. Addison Wesley.
    • http://www.lcg.ufrj.br/redbook
  • Manual de referência online
    • http://www.lcg.ufrj.br/opengl
  • Sítio oficial do OpenGL
    • www.opengl.org


5
Ementa
  • Introdução ao OpenGL
    • Geometria
      • Exemplos de Transformações 2D
      • Fórmulas e cálculos das transformações 2D
      • Usando matriz de transformação (por que?)
      • Coordenadas Homogêneas
      • Concatenação de transformações
      • Transformações 3D
    • Projeções


    • Histórico
6
CG – CO023
7
Transformações Geométricas
8
CG – CO023
9
Exemplos de Transformações 2D
  • Translação
  • Escala
    • uniforme
    • não uniforme
  • Rebatimento por um eixo (espelhamento)
  • Troca de eixos
  • Rotação pela origem
10
Translação
11
Escala
12
Rebatimento por um eixo
(espelhamento)
13
Troca de Eixos
14
Rotação pela Origem
15
Por que usar Matriz nas Transformações?
  • Todas as transformações podem ser efetuadas através da multiplicação de matrizes (usando coordenadas homogêneas).
  • As transformações podem ser aninhadas e resolvidas de modo a haver apenas uma matriz de multiplicação a ser aplicada.
  • A característica descrita acima se torna muito importante quando a mesma seqüência de transformações deve ser aplicada para diversos pontos.
16
Multiplicação de Matrizes
17
Uniform Scaling
18
Non-uniform Scaling
19
Non-uniform Scaling
20
Flip an Axis...
21
Swap Axes
22
Rotate by q
23
Transformações Geométricas (Translação)
24
Vantagens das coordenadas homogêneas (Translação)
25
Coordenadas homogêneas
26
Vantagens das coordenadas homogêneas (pontos no infinito)
27
Vantagens das coordenadas homogêneas (pontos no infinito, exemplo)
28
Efeito de profundidade
29
Simplificação da projeção cônica
30
Concatenação
31
Concatenação de Transformações
32
Composição com sistema local/móvel
33
Geometria Projetiva e
 Coordenadas Homogêneas em 3D
34
Transformações em 3D (translações e escalas)
35
Transformações em 3D (Rotações)
36
Transformações em 3D
(rotação em torno de um eixo qualquer)
37
CG – CO023
38
Projeções Planas Cônicas
39
Projeções Planas Paralelas
40
Classificação das projeções planas
  • Paralelas
    • ortográficas               dp // n
      • plantas
      • elevações
      • iso-métrica
    • oblíquas                   dp não é paralela a n
      • cavaleiras
      • cabinet
  • Cônicas
    • 1 pto de fuga
    • 2 ptos de fuga
    • 3 ptos de fuga
41
Projeções de um cubo
42
Projeção plana é uma transformação linear?
43
Projeção plana paralela é uma transformação linear?
44
Matrizes de projeções Cavaleiras e Cabinetes
45
Matrizes de projeções pseudo-isométricas
46
Projeção cônica simples
47
Projeção cônica simples
48
Simplificação da projeção cônica
49
Distorce o frustum de visão para o
espaço da tela
50
Uma equação para profundidade
51
Translada o paralelepípedo de
visão para origem
52
Escala o paralelepípedo de visão no
cubo [-1,1]x[-1,1]x[-1,1]
53
Matriz Frustum do OpenGL
54
Projeção Cônica (Frustum)
55
Projeção Cônica (Perspective)
56
Matriz Ortho do OpenGL
57
Projeção Paralela (Ortho)
58
Glu Look At
59
Calcula o sistema  -  xe ye ze
60
Calcula o sistema  -  xe ye ze
61
Translada o eye para origem
62
Roda  xe ye ze  para xo yo zo
63
Matriz Look At  do OpenGL
64
Concatenação das transformações
65
CG – CO023
66
Simplificação da projeção cônica
67
Problema do clipping
68
Clipping em coordenadas homogêneas
69
Clipping em coordenadas homogêneas
70
Clipping em coordenadas homogêneas
71
Equação de um plano
72
Distância de um ponto a um plano
73
Interseção de reta com plano
74
Cálculo das distâncias
75
Transformação para o Viewport
76
Transformações de um vértice
77
Modelo do Pintor
78
Problemas na ordenação de faces
79
BSP trees: Binary Space Partion Trees
80
Exibição de uma BSP
81
BSP trees: Dois exemplos de exibição
82
ZBuffer: idéia básica
83
Rasterização de Polígonos e Linhas
84
ZBuffer - pseudo-código