Computação Gráfica definição e histórico Maria Alice Grigas Varella Ferreira Escola Politécnica da Universidade de São Paulo maria.alice.ferreira@poli.usp.br
Definições Computação gráfica - é a criação, armazenamento e manipulação de modelos de objetos e de suas figuras, via computador Computação gráfica interativa - é a Computação Gráfica, onde o usuário controla as figuras dinamicamente Computação Visual - é uma área mais vasta, que engloba a Computação Gráfica, a Visão Computacional e o Processamento de Imagens (Zuffo et al, 1990) Objeto CG Imagem PI VC MAGVF - EP -USP 2
Histórico 1950 - Eram usadas impressoras e plotters MIT 1950 WHIRLWIND COMPUTER - aparecimento do terminal de vídeo (somente saída) SAGE AIR DEFENSE SYSTEM - meados de 1950 - vídeo com console para controle e comando e uso de LIGHT PEN para entrada gráfica MAGVF - EP -USP 3
Histórico SKETCHPAD A Man-Machine Graphical Comm. System - 1963 - Ivan Sutherland (tese de Doutorado): Princípios da computação gráfica interativa Introdução de estruturas de dados para armazenamento de dados gráficos Desenvolvimento de técnicas interativas para uso de LIGHT PEN (caneta ótica) e console Introdução das transformações geométricas sobre os objetos: rotação, translação e escala MAGVF - EP -USP 4
Histórico 1965 primeiro sistema CAD General Motors CAD - Computer-Aided Design CAM - Computer-Aided Manufacture Aparecimento de produtos comerciais para a indústria automobilística e aeroespacial General Motors - consoles gráficas em timesharing - projetos de automóveis Digigraphic Design System - (ITEC - CDC) - projeto de instrumentos óticos MAGVF - EP -USP 5
Histórico 1970 várias pesquisas algoritmos 1975 primeiro computador com interface visual 1980 busca pelo fotorealismo; tentativas de padronização diversas 1990 firma-se como base da indústria cinematográfica; disseminam-se os jogos de computador; firmam-se as interfaces H-M gráficas (GUIs); início da Realidade Virtual MAGVF - EP -USP 6
Dificuldades no desenvolvimento custo do hardware, quando não produzido em grande escala necessidade de recursos capazes de suportar: grandes bases de dados manipulação de figuras, interativamente pós-processamento de programas de aplicação, com entrada proveniente da fase de projeto gráfico MAGVF - EP -USP 7
Dificuldades no desenvolvimento dificuldades de escrita de programas interativos para ambientes de time-sharing, quando os conceitos de computação gráfica ainda eram novos para programadores orientados para processamento de lote ( batch ) software não portável entre as várias plataformas, orientado para determinado tipo de vídeo e produzido sem emprego de princípios de Engenharia de Software, programação modular ou estruturada. MAGVF - EP -USP 8
Necessidades de portabilidade PORTABILIDADE DE PROGRAMAS - Capacidade de transpor um programa de uma instalação para outra, com um mínimo de alterações. PORTABILIDADE DE PROGRAMADORES - Simplificação da tarefa de treinamento de programadores para se adaptarem às novas características particulares de uma nova instalação gráfica. Pacote de rotinas dependente de dispositivo Pacote de rotinas independente de dispositivo FABRICANTE SOFTWARE HOUSE A interface necessita ser padronizada MAGVF - EP -USP 9
Esforços para a padronização 1974 - Formação do GRAPHICS STANDARD PLANNING COMMITTEE - com a finalidade de estabelecer as regras principais para os pacotes gráficos futuros (padronizados) 1976 - Atenção para o fato de que era necessário estabelecer uma metodologia de projeto gráfico (IFIP WG5.2 GRAPHICS SUBCOMMITTEE) Estudo da estrutura dos programas de aplicação Separação das funções de geração de figuras ( CORE ), das funções de modelagem (aplicações propriamente ditas: estruturas de dados e funções aplicativas) 1977 - CORE GRAPHICS SYSTEMS (THE CORE) - produzido pela ACM SIGGRAPH COMMITTEE - inclui conceitos e práticas comuns em computação gráfica - serve como base para a maturação de idéias para a padronização 1979 - É apresentada uma nova versão do CORE. MAGVF - EP -USP 10
Esforços para a padronização 1979 - Os esforços são transferidos para a ANSI (AMERICAN NATIONAL STANDARDS INSTITUTE) - ANSI X3 - COMMITTEE ON COMPUTERS - ANSI x3h3 ( Computer Graphics Programming Languages) 1976 a 1979 - são desenvolvidos esforços paralelos na Europa (Alemanha Ocidental) - ISO (ISO/TC97/SC5/WG2) - definindose as bases do sistema que mais tarde seria conhecido com GKS - Graphical Kernel System. 1981 - é publicada a versão 7.0 do GKS 1982 - novas alterações da norma GKS - versão 8.0 1982 - ANSI apresenta uma série de extensões ao sistema CORE: interface programador-sistema, Metafiles, Virtual Device Interface (VDI-CGI), sistema 3D. MAGVF - EP -USP 11
Esforços para a padronização 1983-1984 - nova versão do GKS é apresentada ao público para sugestões e revisões e o grupo de controle do GKS se reúne para responder a perguntas da comunidade sobre o sistema 1985 - ANSI padroniza o GKS como sistema americano, antes mesmo de qualquer resolução da ISO daí em diante - imposição das normas pelas agências regulamentadoras empresas continuam utilizando seus próprios pacotes HOJE - grande variedade de pacotes diferentes. Normas convivem em paralelo. MAGVF - EP -USP 12
Normas gráficas GKS - Graphical Kernel System - interface gráfica para programas aplicativos GKS++ - para objetos GKS-3D - Graphical Kernel System for 3 Dimensions proposta CGI - Computer Graphical Interface - especificação de técnicas de interfaceamento para uso de dispositivos gráficos (tornam-se virtuais) CGM - Computer Graphics Metafile - mecanismo de transferência e armazenamento de informações de descrição de figuras (ANSI) IGES - Initial Graphics Exchange Standards - especificação de formatos de arquivos e linguagem para transmissão e armazenamento de dados de definição de produto (v. 1.0 - ANSI - 1981) MAGVF - EP -USP 13
Normas gráficas PHIGS - Programming Hierarchical Interactive Graphics System (PHIGS++/PEX) - interface gráfica bi e tridimensional, para programas aplicativos - talvez, até mais difundida que a GKS, da qual foi originada; permite hierarquia de objeto, o que facilita a modelagem. NAPLPS - North American Presentation Level Protocol Syntax - Interface de transmissão de texto e gráficos para dispositivos de exibição ou armazenamento com inteligência local (ANSI - 1983) (vídeo-texto) X-Windows - norma para interfaces homem-máquina, com janelas; existem várias implementações: X-Windows, Open-windows, MS-Windows, etc. X-lib - toolkit de rotinas do sistema Windows. MAGVF - EP -USP 14
Abrangência das normas IGES Programa aplicativo GKS/PHIGS Driver de dispositivo Pacote gráfico(interface) Driver de dispositivo Driver de dispositivo CGI CGM MAGVF - EP -USP 15
Aplicações principais Interfaces homem-máquina Arte e comércio (multimídia) Entretenimento (jogos) Traçado de Gráficos Cartografia Automação de Processos e Editoração Eletrônica CAD/CAM/CAE/CASE/CAI/CAL Simulação e Animação Controle de Processos Robótica Medicina MAGVF - EP -USP 16
Referências Foley et al. Fundamentals of Interactive Computer Graphics. Cap. 1 Foley et al. Fundamentals of Interactive Computer Graphics. Cap. 3 - (3.1 a 3.3) Foley et al. Fundamentals of Interactive Computer Graphics. Cap. 26 Cunha, G. et al. Computação Gráfica e suas aplicações em CAD. Introdução e padronização. Editora Atlas, 1987. Cap. 8. (disponível na biblioteca EP- Elétrica) MAGVF - EP -USP 17