Computação Gráfica TeCGraf Marcelo Gattass DI/PUC-Rio Roberto Beauclair LNCC
Áreas da Computação Gráfica processamento de imagens IMAGENS visualização visão DADOS processamento de dados
Profissionais da CG Usuários usam para produzir desenhos e imagens Customizadores adaptam programas existentes Programadores de aplicações desenvolvem AutoCAD, Corel,... Desenvolvedores de ferramentas desenvolvem OpenGL, DirectX,...
O curso Objetivo Apresentar a Computação Gráfica para alunos que pretendam desenvolver ferramentas e programas técnico-científicos Programa resumido Sistemas de interface com usuários, sistemas gráficos, curvas, transformações geométricas, rasterização, clipping, pick, imagens, ray tracing, projeções, modelo de câmera, iluminação, visibilidade.
Modelos Quantitativos Inflação ICV/DIEESE 6 4 0 2 4 2 0 Mar Abr Mai Jun Indices de Inflação em Jul95 6 IPC-r IBGE IPC-r IBGE ICV DIEESE IGPM FGV Destino do R$ da Gasolina Distribuidor Refinador Revendedor Subsídios Impostos
Modelos Discretos Organogramas Classes de OO Geometry Area Curve Point Petrox Polygonal Arc Bezier...
Modelos Geométricos MG RECON
Com que programar???? Delphi VisualBasic Java GDI VisualC++ DirectX PHIGS CanvasDraw RenderWare IUP/lua ToolBook Motif HOOPS Xlib GKS OpenGL QuickDraw
Histórico das ferramentas 1985-GKS 1988-PHIGS 1990-PEX 1991-GL 1993-OpenGL 1996-Direct 3D 1984-Macintosh 1987-XWindow v.11 1988-Motif 1990-Windows 3.0 1993-Visual Basic v.3 1996-Java
Requisitos das ferramentas Fáceis para programadores leigos Facilitem a comunicação entre programas Acesso a diferentes bancos de dados Gerem programas eficientes Gerem programas portáteis
Ferramentas atuais Visual Basic, Delphi,... Fáceis para programadores leigos Facilitem a comunicação entre programas Acesso a diferentes bancos de dados Gerem programas eficientes Gerem programas portáteis
Modelo do Programador I 1985 Sistema Gráfico Programa Técnico- Científico Usuário Dispositivos MetaFile Computador
Programas da década passada Título ou Mensagens ÁREA DE TRABALHO Captura de Dados Menu Opção 1 Opção 2 Opção 3 Opção 4 Opção 5 Opção 6 Opção 7 Opção 8 Retorne
Editor Gráfico de Reticulados
Meta-arquivos CGM DXF (AutoDesk) DGN (Intergraph) Postscript WMF
Modelo do Programador II 1990 Sistema de Interface Sistema Gráfico Programa Técnico- Científico Usuário Dispositivos MetaFile Computador
Programa do início dos anos 90 File New Open ^F12 Save shf12 Exit Interactive FEA - Dam Geometry Mesh Analysis Result alf4 Dialog Box Label: Label: xxx yyy xxx yyy zzz Ok Cancel Help Área de Trabalho Área de mensagens
Building Editor
Modelo do Programador III (IUP/CD) 1993 Sistema de Interface Nativo Sistema Gráfico Programa Técnico- Científico Usuário Dispositivos Filtros clipboard ger. de impres. MetaFile Imagens
Solução do TeCGraf para IU CENPES/ SEPROC Programa de Aplicação IUP.lib CD.lib IUP.lib CD.lib IUP.lib CD.lib IUP.lib CD.lib Motif e X11 Windows e GDI Macintosh e QuickDraw otk e DOS Software Practice & Experience, Jul96
AnaSeTe Análise Sequencial de Testemunhos (versões Mac, Win95 e Motif do editor)
Análise Sequêncial de Testemunhos (versão Mac)
Filtro de imagens BMP PCX GIF TIF RGB (SGI) RAS (SUN)
1993 Modelo do Programador IV (G3d) Usuário Dispositivos Sistema de Interface Nativo Sistema Gráfico 3D/2D Programa Técnico- Científico Filtros clipboard ger. de impres. MetaFile Imagens
G3d biblioteca de funções 3D OpenGL like usa bibliotecas nativas implementa 3D sobre CanvasDraw Zbuffer e Gouraud shading BSP para exportação e impressão
Solução do TeCGraf para 3D G3d.lib OpenGL Programa de Aplicação G3d.lib Direct3D vesa X11 G3d.lib 3DR QuickDraw GDI G3d.lib CD meta-arquivo imagem CENPES/SEPROC clipboard
Modelo do Programador V Sistema de Interface Sistemas Gráficos Programa Técnico- Científico Usuário Dispositivos SGED Filtros clipboard ger. de impres. MetaFile Imagens Computador
HED/HPS-tree Gerenciadores de estruturas de dados que representam sub-divisões do espaço regiões, faces, arestas, vértices Garantem consistência Consultas topológicas eficientes Consultas geométricas eficientes
Multi-resolução de modelos geometria sub-regiões subdivisões malha
Multi-resolução geométrica
Modelo do Programador VI Sistema de Interface Sistemas Gráficos Programa Técnico- Científico Usuário Dispositivos SGED SGBD Filtros clipboard ger. de impres. MetaFile BD Imagens Computador
Motivação Associar informações contidas em bancos de dados (via ODBC), com dados espaciais. DB Informações
DBGraf Acesso a bancos de dados Baseado em ODBC Simples (6 rotinas em C) Camada que abstrai o BD Pode ser implementado em qualquer BD/SQL
Modelo do Programador VII Sistema de Interface Sistemas Gráficos Outros Programas (ex. XY++, Editor, V3d ) dados Programa Técnico- Científico textos... figuras imagens sons Usuário Dispositivos SGED SGBD Filtros clipboard ger. de impres. MetaFile BD Imagens Rede Heterogênea
Modelo de Programação VIII Outros Programas (ex. XY++) dados textos figuras imagens Sistema de Interface Interact Sistemas Gráficos Programa Técnico- Científico... sons Rede Heterogênea Usuário Dispositivos SGED SGBD Filtros clipboard ger. de impres. MetaFile BD Imagens
Customização de programas Hoje até carro tem que vir no gosto do freguês (ditado popular) VBA Tcl/tk
Modelo do Programador IX Customização Outros Programas (ex. XY++) dados textos figuras imagens ling. config.... sons Sistema de Interface Interact Sistemas Gráficos Programa Técnico- Científico Usuário Dispositivos clipboard ger. de impres. MetaFile SGED SGBD BD Filtros Imagens
Customização no TeCGraf Linguagem Lua Embutida Extensível Software Practice & Experience, Jun96 Jun96 DrDobb s, Dez96 Dez96 Sintaxe simples e clara (Pascal like ) Alto poder de descrição de dados Suporta OO Especializações de lua para as ferramentas Especializações para as aplicações
Modelo do Programador X Customização Outros Programas (ex. XY++) dados textos figuras imagens Sistema de Interface Interact Sistemas Gráficos Objetos Visuais ling. config. Programa Técnico- Científico... sons Rede Heterogênea Usuário Dispositivos SGED SGBD Filtros clipboard ger. de impres. MetaFile BD Imagens
Modelo do Programador Customização Outros Programas (ex. XY++) dados textos figuras imagens sons Sistema de Interface Interact Sistemas Gráficos Objetos Visuais ling. config. Programa Técnico- Científico... Sistema de Objetos Distribuidos Rede Heterogênea Usuário Dispositivos SGED SGBD Filtros clipboard ger. de impres. MetaFile BD Imagens