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.

Entradas relacionadas: