P. 1
Aula 5 - Computacao Grafica - Engenharia

Aula 5 - Computacao Grafica - Engenharia

|Views: 624|Likes:
Publicado porapi-3813652

More info:

Published by: api-3813652 on Oct 19, 2008
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

UNIVERSIDADE ESTADUAL DE PONTA GROSSA DEPARTAMENTO DE INFORMÁTICA

COMPUTAÇÃO GRÁFICA

PROFESSOR : ARIANGELO HAUER DIAS

CADERNO DE ATIVIDADES
Abril - 2007

AULA

5
1. SISTEMA DE COORDENADAS

Podemos utilizar diferentes sistemas de coordenadas para descrever os objetos modelados em um sistema 2D. O sistema de coordenadas serve para nos dar uma referência em termos de medidas do tamanho e posição dos objetos dentro de nossa "área de trabalho". Um determinado sistema de coordenadas é denominado de Sistema de Referência de Coordenadas. Ao definirmos um sistema de referência de coordenadas, devemos especificar dois aspectos principais : a unidade de referência básica e os limites extremos dos valores aceitos para descrever os objetos. Exemplos de sistemas de coordenadas (unidade de trabalho), que podemos utilizar : - Escala em milímetros, - Escala em centímetros, - Escala em kilômetros - Escala em "unidades de medida" (genérica). Neste caso a determinação da unidade real é feita em um momento posterior, o objeto é todo descrito em termos de uma unidade genérica, mas mantendo mesmo assim as suas relações de posição e tamanho

1.01.

Sistema de Referência do Objeto (SRO) :

Neste sistema de referência fazemos com que cada objeto seja um universo individual, ou seja, cada objeto tem suas coordenadas descritas em função de um ponto extremo deste. As coordenadas são relativas ao próprio objeto, são relativas a uma extremidade do objeto. Exemplo:

Sistema de referência do objeto

1.02.

Sistema de Referência do Universo (SRU) ou WCS:

Descrição dos objetos em termos de coordenadas do universo. O universo é o sistema de referência utilizado para descrever os objetos em termos das coordenadas utilizadas pelo usuário. Sendo assim, cada usuário especifica o seu universo (mundo) de trabalho, por exemplo, para sistemas de CAD de arquitetura o universo deverá ser metros ou centímetros e para um CAD de mecânica o universo provavelmente será em milímetros, bem como cada um destes sistemas de CAD deverá ter suas limitações extremas (coordenadas mínimas e máximas do universo).
Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

Computação Gráfica

3

AULA

5
Exemplo : Universo de trabalho --> Escala em milímetros Limites da área de trabalho : X - 0 à 100000 (Valores inteiros) Y - 0 à 100000

Sistema de referência do universo

1.03.

Sistema de Referência Normalizado (SRN) :

Trabalha com as coordenadas normalizadas, onde 0 < X < 1 e 0 < Y < 1, sendo que ambos os eixos tem suas coordenadas expressas por números reais. Serve como um sistema de referência intermediário entre o SRU e o SRD. Sua principal aplicação é tornar a geração das imagens independentes de dispositivo, pois as coordenadas de universo são convertidas para o SRN que é um sistema de coordenadas padrão (normalizado), necessário para as operações.

1.04.

Sistema de Referência do Dispositivo (SRD) :

Utiliza coordenadas que podem ser fornecidas diretamente para um dado dispositivo de saída específico. Usualmente denominamos a saída no vídeo como sendo uma saída que utiliza-se do SRT (sist. de refer. da tela). Exemplos : Vídeo CGA : X = 0 à 639, Y = 0 à 479, numa tela 640 X 480
ywmax WCS NDCS 1 janela ywmin 0 xwmin xwmax 0 1 xvmin xvmax N W yvmin yvmax enquadramento PDCS

2. OPERAÇÕES PARA EXIBIÇÃO DE MODELOS
TRANSFORMAÇÕES : De acordo com Venetianer( 1988, p. 154), todo pacote gráfico
opera três tipos de transformações : As de segmentos ou geométrica, a normalizada e a de estação.

Transformações de segmento ou geométricas: As transformações geométricas
são operações suplementares que podem ser utilizadas visando a alteração de algumas das 4
Computação Gráfica
Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

AULA

5
características - posição, orientação, tamanho - do objeto a ser desenhado. Normalmente são utilizadas quando se trabalha sobre o Sistema de Referência do Objeto - SRO.

Transformação normalizada: converte parâmetros para SRN, guardando características
independentes do dispositivo. Transformação de estação: Estabelecem a visualização da imagem nos dispositivos de visualização, de acordo com imposições físicas dos dispositivos. Os processos de manipulação de imagens apresentados pelos sistemas gráficos devem dar a impressão aos seus usuários de que estes estão observando uma imagem através de uma pequena janela retangular, como uma câmera de TV (aproximando-se, afastando-se ou girando a câmera.

A esta área do universo que delimita a região de interesse do usuário em um dado instante chama-se JANELA DE SELEÇÃO ou WINDOW. Uma window é delimitada pelas coordenadas de seus cantos( inferior-esquerdo e superiordireito), os quais são dados, sempre, em valores que dizem respeito ao Sistema de Referência do Universo (SRU).
Quando há, no universo, objetos (entidades) que ficam, total ou parcialmente, fora da Janela de Seleção (window) definida para visualização é preciso não exibí-los, como mostra a figura a seguir:

De forma análoga ao que foi feito para o Universo quando se delimitou, com a Janela de Seleção, a região de interesse do usuário, é possível definir em que parte da tela deseja-se exibir o que foi delimitado. A esta região dá-se o nome de JANELA DE EXIBIÇÃO OU VIEWPORT. Uma viewport é delimitada pelas coordenadas de seus cantos, os quais são dados, sempre, em valores que dizem respeito ao Sistema de Referência da Tela ( SRT ). RECORTE: Ao processo de retirada dos objetos que não estão dentro da Janela de Seleção dáse o nome de RECORTE. Sendo assim, com a inclusão do procedimento de recorte, o processo de visualização bidimensional fica esquematizado da seguinte maneira: O recorte de pontos, linhas e caracteres para o caso de uma window está ilustrado na figura abaixo:

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

Computação Gráfica

5

AULA

5

Os recortes de pontos, linhas e caracteres são tratados POR ALGORÍTMOS ESPECIAIS, que serão tratados oportunamente na sua forma de implementação..

Diferentes bibliotecas gráficas utilizam esquemas diversos de transformações e mapeamento de coordenadas. No caso de uma biblioteca gráfica que utiliza primitivas gráficas bidimensionais, como o GKS (Graphical Kernel System), por exemplo, o modo de mapeamento é realizado através da definição de duas transformações. No GKS, especificado os limites da área de trabalho do usuário, cujo espaço é denominado de coordenadas de mundo, um retângulo em seu interior define a área de interesse para a visualização. Um segundo retângulo define o espaço das coordenadas normalizadas, na qual o retângulo é mapeado através da transformação de normalização. Nesta etapa pode se habilitar ou não operações de recorte (clipping) bem como de preservação ou não de relações de aspecto (aspect ratio), ou seja, o objeto original a ser exibido pode ser achatado ou esticado ou mantido com suas proporções iniciais inalteradas. A transformação de dispositivo MAPEIA as coordenadas de um retângulo definido no espaço das coordenadas normalizadas no das coordenadas de dispositivo. Nesta fase, não são permitidas operações de recorte e de alteração da relação de aspecto.

MAPEAMENTO: Para permitir então a visualização deste tipo de entidade (modelos) faz-se
necessário realizar CÁLCULOS para conversão dos valores do modelo para valores compatíveis com as dimensões da tela. A esta conversão dá-se o nome de MAPEAMENTO. Um exemplo onde é necessária uma operação de mapeamento pode ser visto na figura a seguir.

6

Computação Gráfica

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

AULA

5

Há, no exemplo acima, dois sistemas de coordenadas distintos, um referente à aplicação e outro referente à tela. O primeiro é dito Sistema de Referência da Aplicação ou do Universo (SRU) e o segundo, Sistema de Referência da Tela ou do Dispositivo (SRT ou SRD). Para se realizar o mapeamento entre estes dois Sistemas de Referência tomamos um ponto Pu de coordenadas (Xu, Yu), no SRU e tentamos obter seu correspondente (Xt, Yt) no SRT, ou seja, na tela. Iniciando pela componente X temos, de acordo com o seguinte diagrama:

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

Computação Gráfica

7

AULA

5
3. COMANDOS BÁSICOS OPENGL
As funções glEnable e glDisable habilitam ou desabilitam funcionalidades do Opn GL. GL_ALPHA_TEST GL_AUTO_NORMAL Permite a utilização de funcionalidades ALFA. Faz os cálculos inerentes aos vetores que constituem uma superfície quando são utilizados tanto GL_MAP2_VERTEX_3 quanto GL_MAP2_VERTEX_4 para gerar vértices. Permite que misturar códigos RGBA com os valores utilizados no buffer de cores. Promove a possibilidade da união do recorte defnido pelo usuário com aquele que foi definido automaticamente pelo plano i. Permite a especificação de um ou mais, para que estes sejam anexados ao esquema atual de cores. Permite que sejam realizadas comparações de profundidade para que desta forma seja possível estabelecer comparações de profundidade entre os vértices. Permite a utilização pulverização de cores. de recursos de

GL_BLEND GL_CLIP_PLANEi

GL_COLOR_MATERIAL

GL_DEPTH_TEST

GL_DITHER GL_FOG GL_LIGHTING

Quando utilizado permite que sejam utilizados recursos de pós-texturização Gera a possibilidade da utilização de fontes de iluminação e respectivas equações de tratamento das mesmas. Quando habilitado permite o desenho das linhas utilizando o filtro correto.

GL_LINE_SMOOTH

A função gluPerspective estabelece a forma de projeção da matriz de perpectiva. void gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar );

8

Computação Gráfica

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

AULA

5
Parâmetros: fovy: aspect: zNear: zFar: especifica o valor em graus com a direção y. determina o aspecto da visualização em relação a direção x. (o aspecto e a relação entre x (largura) e y (altura). especifica a distância entre o observador até o plano de visualização (sempre positivo). especifica a distância entre o observador e o plano mais distante (sempre positivo).

A função glClear limpa o buffer da janela de visualização. void glClear( GLbitfield mask );

Parâmetros: Mask: Mascara de bits que indica como o buffer do desenho será atualizado. Exitem quatro valores possíveis para este gerenciamento. GL_COLOR_BUFFER_BIT: gerencia a cor do BIT. GL_DEPTH_BUFFER_BIT: gerencia a cor da profundidade do BIT. GL_ACCUM_BUFFER_BIT: gerencia a cor do buffer de acumulação. GL_STENCIL_BUFFER_BIT: gerencia a cor do buffer tipo stencil. A função glPolygonMode seleciona o modo de rasterização do polígono que foi desenhado. void glPolygonMode( GLenum face, GLenum mode ); Parâmetros: face: mode: Especifica o modo de como o modo será aplicado ao polígono, pode ser GL_FRONT, GL_BACK ou GL_FRONT_AND_BACK. Especifica a forma de rasterização, os valores aceitos são: GL_POINT, GL_LINE eGL_FILL. O valor default é GL_FILL.

Os procedimentos glPushMatrix e glPopMatrix empilham e desempilham a matriz que representam os polígonos. void glPushMatrix( void ); void glPopMatrix( void ); Os procedimentos glTranslated e glTranslatef multiplicam a matriz de coordenadas do polígono pela matriz de translação. void glTranslated( GLdouble x, GLdouble y, GLdouble z );
Computação Gráfica

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

9

AULA

5
void glTranslatef( GLfloat x, GLfloat y, GLfloat z ); Parâmetros: x, y, z: especificam as coordenadas para a matriz de translação Os procedimentos glRotated e glRotatef multiplicam a matriz de coordenadas do polígono pela matriz de rotação. void glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z ) GLfloat angle, GLfloat x, GLfloat y, GLfloat z )

void glRotatef(

Parâmetros: angle: x, y, z: Especifica o ângulo de rotação em graus. especificam as coordenadas para a matriz de rotação

Os procedimentos glBegin e glEnd delimitam os vértices de uma primitiva ou conjunto de primitivas. void glBegin( GLenum mode ); void glEnd( void ); Parâmetros: mode: As seguintes constantes simbólicas podem ser utilizadas: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_POLYGON. GL_LINE_LOOP, GL_TRIANGLES, GL_QUADS, GL_QUAD_STRIP, e

10

Computação Gráfica

Departamento de Informática Prof. Reinaldo Afonso Mayer Prof. Ariangelo Hauer Dias

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->