Guia Essencial de Computação Gráfica e Processamento de Imagens
Classificado em Tecnologia
Escrito em em português com um tamanho de 13,21 KB
Representação e Modelagem de Objetos
Conceitos Fundamentais de Representação
Unicidade
Uma representação é única quando o modelo associado possui uma única representação.
Ambiguidade
Uma representação é ambígua quando pode representar mais de um modelo. Representações ambíguas são catastróficas (ex: wireframe).
Modelagem por Wireframe
Objetos descritos por um conjunto de arestas que definem as bordas do objeto.
- Vantagens: Velocidade na exibição dos modelos, sendo necessário apenas exibir um conjunto de linhas.
- Desvantagens: Gera uma representação ambígua com margem para várias interpretações.
Modelagem por Faces
- Vantagens: As interseções estão representadas explicitamente e é mais fácil exibir um ponto sobre a superfície do objeto.
- Desvantagens: É difícil determinar, dado um ponto, se ele está no interior, fronteira ou exterior do objeto. Operações booleanas são complicadas.
Modelagem de Superfície
Fornece a descrição matemática das superfícies que delimitam o objeto.
- Vantagens: Poucos testes de integridade do modelo; economia de espaço de armazenamento.
- Desvantagens: Nenhuma representação atual é capaz de lidar de maneira ótima com todos os aspectos envolvidos.
Modelagem de Sólido
Implícita ou explicitamente contém informações do fechamento e conectividade dos objetos.
Funções Básicas de Modelagem
- União
- Interseção
- Diferença
Operação de Varredura
Método matemático de modelagem que usa uma descrição matemática e algoritmos para gerar um objeto.
Varredura Translacional (Extrusão)
Um objeto "O" definido por varredura translacional é obtido pela translação de uma curva C ao longo de um vetor V, por uma distância D. Exemplos: a varredura translacional de um retângulo gera um paralelepípedo; de uma circunferência gera um cilindro.
Varredura Rotacional
Neste tipo de modelagem por varredura, a superfície do objeto é descrita por uma curva que gira em torno de um eixo.
Modelos de Subdivisão do Espaço
Voxel
Espaço subdividido em cubos chamados voxels, formando uma grade tridimensional.
- Vantagens: Fácil determinar se dois objetos se interferem (se tocam); facilita a realização de operações de união, interseção e diferença entre sólidos.
- Desvantagens: Uma representação detalhada necessita de muita memória devido ao alto custo de armazenamento.
Octree
Baseada na divisão recursiva de um objeto em oito octantes de tamanhos iguais; o nó raiz representa o objeto completo.
- Vantagens: Possui as mesmas vantagens da Enumeração Espacial; permite uma representação mais detalhada com um gasto menor de memória.
- Desvantagens: São mais trabalhosas de manipular.
Operações Booleanas
União
Todos os trechos OUT (Fora) e ON (Dentro) com o mesmo sentido.
Interseção
Todos os trechos IN (Dentro) e ON (Sobre - Contorno) com o mesmo sentido.
Diferença
Todos os trechos OUT (Fora) do primeiro elemento, todos os trechos IN (Dentro) do segundo elemento e todos os trechos ON (Sobre - Contorno) com sentidos diferentes.
Projeções
Projeção Paralela
Raios de projeção paralelos entre si; emanam do infinito e vão para o infinito.
Projeção Perspectiva
Raios de projeção emanam de um ponto finito e vão para o infinito.
Viewport
Região limitada onde o desenho é exposto, ou seja, a região retangular da janela onde a imagem é desenhada, também chamada de janela de exibição ou visualização.
Matrizes OpenGL
GL_MODELVIEW
Responsável pela modelagem e visualização da cena.
GL_PROJECTION
Responsável pela projeção utilizada na cena.
Comandos Comuns OpenGL
glLoadIdentity()
glLoadMatrix()
glPopMatrix()
glMultMatrix()
glPushMatrix()
Modelview Matrix
Matriz onde estão armazenadas todas as informações das mudanças feitas no sistema de coordenadas de um objeto.
Etapas do Pipeline Gráfico
Instanciação
Permite criar cópias de um modelo. A partir de uma mesma entidade, diversas cópias podem ser geradas alterando em cada uma apenas as propriedades necessárias. A estas cópias dá-se o nome de Instâncias.
Recorte (Clipping)
Permite definir qual a região do desenho se deseja exibir.
Mapeamento (Viewport Transformation)
Permite exibir em uma tela, ou em outro dispositivo, um conjunto de Instâncias com coordenadas totalmente diferentes daquelas nas quais a tela estão definidas.
Enumeração Espacial
Também conhecidos como Modelos de Subdivisão (ou Decomposição) do Espaço, esta classe de formas de armazenamento decompõe o sólido em "pedaços".
- Vantagens: Fácil determinar se dois objetos se interferem (se tocam); facilita a realização de operações de união, interseção e diferença entre sólidos.
- Desvantagens: Uma representação detalhada necessita de muita memória.
CSG (Constructive Solid Geometry)
Método que consiste em construir um objeto a partir da combinação operatória (união, interseção e diferença) de dois ou mais sólidos.
- Vantagens: Caracteriza-se por uma representação com alta precisão, pois os objetos não são mais definidos por primitivas (cubos), e sim por equações.
Geometria e Pipeline Gráfico OpenGL
Geometrias Fundamentais
Geometria Euclidiana
Duas retas paralelas não se encontram.
Geometria Projetiva
Não existe paralelismo.
Pipeline de Transformação OpenGL
Matriz de Modelagem e Visualização > Matriz de Projeção > Divisão Perspectiva > Transformação Viewport.
Sistemas de Coordenadas
- Sistema de Coordenadas do Objeto: Usado para modelar o objeto (
glVertex
) /GL_MODELVIEW
. - Sistema de Coordenadas da Cena (ou do Mundo): Usado para instanciar objetos.
- Sistema de Coordenadas da Câmera (ou do Olho): Origem na câmera /
GL_PROJECTION
. - Sistema de Coordenadas Normalizadas de Dispositivo: Após projeção /
GL_VIEWPORT
. - Espaço da Imagem: O que "sai" na foto.
Manipulação OpenGL por Pilhas (Matrizes)
- GL_MODELVIEW: Responsável pela modelagem e visualização da cena.
- GL_PROJECTION: Responsável pela projeção utilizada na cena.
Escolha da Pilha
glMatrixMode()
A Transformação Viewport
Mapeia o quadrado -1 ≤ x,y ≤ 1 (em coordenadas normalizadas de dispositivo) na superfície total da janela.
Especificação de Área
glViewport (x0, y0, largura, altura)
Seleção da Pilha
glMatrixMode(GL_MODELVIEW ou GL_PROJECTION)
Funções com Pilha Corrente
glLoadIdentity()
glMultMatrix()
glLoadMatrix()
glPushMatrix()
glPopMatrix()
Multiplicar o Topo das Pilhas
glTranslatef (x,y,z)
glRotatef(ângulo,x,y,z)
glScale(x,y,z)
Projeções em OpenGL
Projeção Paralela
glOrtho (left, right, bottom, top, near, far)
Projeção Perspectiva
São mais complexas e exibem concorrência das projetantes ou raios visuais.
Volume de Visão
glFrustum(left, right, bottom, top, near, far)
Projeção Perspectiva (Alternativa)
gluPerspective (fovy, aspect, near, far)
Transformações de Visualização
gluLookAt( eyex, eyey, eyez, aimx, aimy, aimz, upx, upy, upz)
Processamento Digital de Imagens (PDI)
Áreas da Computação Gráfica
- Síntese de Imagens: Área que se preocupa com a produção de representações visuais a partir das especificações geométricas e visuais de seus componentes.
- Processamento de Imagens: Envolve técnicas de transformação de imagens, em que tanto a imagem original quanto a imagem resultado apresentam-se sob uma representação visual. Estas transformações visam melhorar as características visuais da imagem (aumento de contraste, foco, redução de ruídos e distorções).
- Análise de Imagens: Área que busca obter a especificação dos componentes de uma imagem a partir de sua representação visual.
Etapas Fundamentais do PDI
- Aquisição: Capturar a imagem e deixá-la disponível para ser processada.
- Pré-processamento: Transformação da imagem para melhorar a qualidade ou ressaltar informações relevantes ao propósito desejado. Etapas: realce, restauração, domínio espacial e espectral, pontual, filtragem.
- Segmentação: Separar objetos importantes da imagem.
- Representação: Extração de características a partir do objeto segmentado ou da imagem como um todo.
- Reconhecimento: A partir das características, identificar o objeto que se encontra na imagem.
O pré-processamento visa melhorar a imagem para possibilitar maior sucesso nos processos seguintes.
Seleção de Características
Processo de descrição e extração de atributos que busca extrair características que resultem em informações quantitativas de interesse.
Reconhecimento
Processo que atribui um rótulo a um objeto, baseado na informação fornecida pelo seu descritor.
Interpretação
Envolve a atribuição de significado a um conjunto de objetos reconhecidos.
Tipos de Sinais
- Sinal Digital Discreto no Tempo: Existem em momentos específicos do tempo com intensidades finitas.
- Sinal Digital Contínuo no Tempo: Existem em variações infinitesimais, mas com intensidades finitas.
- Sinal Analógico (Contínuo): Infinitos valores de intensidade em variações infinitesimais.
Fundamentos de Computação Gráfica e Dispositivos
Computação Gráfica
É um conjunto de ferramentas e técnicas para converter dados para ou de um dispositivo gráfico através do computador.
Dispositivos de Exibição
Tubo de Raios Catódicos (CRT)
Usam um feixe de elétrons emitido por um cátodo aquecido dentro de um tubo de vácuo.
- Componentes: Cátodo, Camada Condutiva, Ânodo, Fósforo, Feixe de Elétrons, Máscara.
Cristal Líquido (LCD)
- Consome pouca energia.
- Boa resolução.
- Baixo custo.
- Pouco ângulo de visibilidade.
Plasma
- Esquentam muito.
- Alto consumo de energia.
- Bom ângulo de visão.
Comparativo CRT
- Consumo médio de energia.
- Excelente cor, brilho e contraste.
- Bom ângulo de visão.
Monitores Vetoriais
Imagens desenhadas reta a reta, redesenhadas várias vezes na tela.
- Vantagens: Pouca memória para armazenar pontos.
Storage Tube
Permite permanência da imagem sem necessidade de hardware (HW) complexo para refresh.
Dispositivos de Entrada
Entrada Vetorial
Teclado, mouse, caneta luminosa.
Entrada Matricial
Pontuais, Linear, Matricial.
Z-Buffer
Um método eficiente de cálculo de visibilidade e coloração de faces 3D.
Imagens Vetoriais
São desenhadas a partir de definições matemáticas, interligando vários pontos por linhas.
- Vantagens: Permitem uma série de operações sem perda de precisão. Ao alterar o formato de um objeto vetorial, ele é recalculado matematicamente para o novo formato.
- Aplicações: Ilustrações e modelagem 3D.
- Transformações Comuns: Translação, rotação e zoom.
- Exemplos de Software: AutoCAD, Visio, Corel.
Imagens Matriciais
São formadas por uma matriz de pontos, onde cada ponto possui um determinado valor de cor.
- Vantagens: O barateamento do custo da memória torna os monitores matriciais bastante populares; representação flexível; amostragem em grandes retangulares.
- Desvantagens: Perda de qualidade.
Modelo de Cor RGB
A cor é expressa por quantidades de vermelho, verde e azul, tipicamente em 24 bits.