You are on page 1of 20

UNIVERSIDADE INDEPENDENTE DE ANGOLA

FACULDADE DE CIÊNCIAS DE ENGENHARIA E


TECNOLOGIAS (FCET)
CURSO DE ENGENHARIA INFORMÁTICA

Trabalho Prático
Titulo: Bibliotecas Gráficas opengl(2D), Modelo
Cliente-Servidor “Array Vertex: Display Lists” &
Figuras Geométricas Regulares 3D

Laurindo António Cassule


Ricardo Zango

LUANDA- ANGOLA
2017

1
UNIVERSIDADE INDEPENDENTE DE ANGOLA
FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIAS
CURSO DE ENGENHARIA INFORMÁTICA

Trabalho Prático
Titulo: Bibliotecas Gráficas opengl(2D), Modelo
Cliente-Servidor “Array Vertex: Display Lists” &
Figuras Geométricas Regulares 3D

Laurindo António Cassule


Ricardo Zango

Docente: Eng.º Nelson de Jesus Adão José


(nels230@hotmail.com)

Turma-C1
3º Ano

LUANDA- ANGOLA
2017

2
AGRADECIMENTOS

Agradecemos sempre à Deus pelo dom da Vida que Ele


concedeu-nos, por todas as bênçãos que nos proporcionou
para prosseguirmos e terminar este trabalho. Agradecemos as
nossas famílias, especialmente os nossos Pais que com muitos
carinhos е apoios, não mediram esforços para chegarmos até
esta etapa das nossas vidas. Agradecemos o nosso professor
Engº Nelson de Jesus, pela paciência, pelas palavras de
sabedorias e ensinamentos que guiou-nos nesta trajectória.
Agradecemos à todos os Amigos que foram tão importantes
na elaboração do mesmo. Agradecemos a todos os colegas,
pela convivência, amizade e companheirismo. E, agradecemos
também à todos que contribuíram, mesmo indirectamente para
a conclusão deste Trabalho.

3
OBJECTIVO

Objectivo Geral

O objectivo desse trabalho é abordar as principais características da Computação


Gráfica bem como o estudo em profundidade das duas bibliotecas gráficas escolhidas,
exercendo uma comparação entre elas baseada na norma ABNT (1996) e entre outras.

Objectivos Específicos

A computação gráfica é uma área bastante ampla, e portanto existe muita coisa a ser
estudada e desenvolvida. Algumas sugestões para trabalhos:

 Dominar os conceitos básicos de Computação Gráfica 2D e 3D.

 Dominar os conceitos básicos de Processamento de Imagens e Visão


Computacional.

 Um protótipo que converta arquivos do 3D Studio (ou qualquer outro aplicativo


de modelagem) em código OpenGL ou Direct3D.

 Um jogo, dando a possibilidade do usuário escolher entre utilizar OpenGL ou


Direct3D.

4
Introdução

A computação gráfica é a área da computação destinada à geração de imagens em geral-


em forma de representação de dados e informação, ou em forma de recriação do mundo
real. Ela pode possuir uma infinidade de aplicações para diversas áreas, desde a própria
informática, ao produzir interfaces gráficas para software, sistemas operacionais e sites
na Internet, quanto para produzir animações e jogos.

A Computação Gráfica (CG) é uma área da Ciência da Computação que se dedica ao


estudo e desenvolvimento de técnicas e algoritmos para a geração (síntese) de imagens
através do computador. Actualmente, a CG está presente em quase todas as áreas do
conhecimento humano, desde o projecto de um novo modelo de automóvel até o
desenvolvimento de ferramentas de entretenimento, entre as quais os jogos electrónicos.

5
Áreas relacionadas
Há duas áreas que têm uma relação bastante próxima com a CG: Processamento
de Imagens (PI) e Visão Computacional. A área PI abrange o estudo e a pesquisa de
técnicas para realizar a manipulação de imagens, tais como ajustes de cor, brilho,
contraste ou aplicação de filtros, entre outras. Sistemas de PI são encontrados
atualmente, por exemplo, em consultórios de cirurgiões plásticos e salões de beleza.
Neste caso, uma pessoa pode ver como será o resultado de uma plástica ou corte de
cabelo através de simulações no computador. A Visão Computacional trabalha com a
análise de imagens, buscando obter a especificação dos seus componentes para
identificação dos modelos geométricos que a compõem. Uma aplicação de técnicas de
Visão Computacional é o reconhecimento automático de impressões digitais.

OpenGL
É o padrão mais adoptado na indústria de hardware e renderização 3D. Ele
proporciona uma aceleração de hardware em 3D, manipulando quantidades
consideráveis de dados em tempo real, trabalhando com recursos geométricos, luz em
tempo real, transformações e renderização.
O openGL é um conjunto de algumas centenas de funções, que fornecem acesso
a praticamente todos os recursos do hardware de vídeo. Internamente, ele age como uma
máquina de estados, que de maneira bem específica dizem ao OpenGL o que fazer.
Usando as funções da API, você pode ligar ou desligar vários aspectos dessa
máquina, tais como a cor actual, se transparência será usada, se cálculos de iluminação
devem ser feitos, se haverá ou não o efeito de neblina, e assim por diante. É importante
conhecer cada um desses estados, pois é comum a obtenção de resultados indesejados
simplesmente por deixar um ou outro estado definido de maneira incorrecta.
Opengl é uma interface de software para dispositivos de hardware. Esta interface
consiste em cerca de 150 comandos distintos usados para especificar os objectos e
operações necessárias para produzir aplicativos tridimensionais interactivos. foi
desenvolvido com funcionalidades independentes de interface de hardware para ser
implementado em múltiplas plataformas de hardware.
O formato da transmissão desses comandos (chamado protocolo) também é
padronizado, então é possível que duas máquinas com sistemas operacionais e
hardwares diferentes se comuniquem dessa forma. Se o OpenGL não está sendo
executado numa rede, o computador é considerado ao mesmo tempo cliente e servidor.

6
Bibliotecas do OpenGL

openGL oferece um conjunto potente de comandos, mas restrito apenas ao


desenho. Várias bibliotecas existem para facilitar a manipulação de outros aspectos da
aplicação, como as seguintes:
A versão de Mark Kilgard não continua sendo desenvolvida (sem manutenção e
sem novas funcionalidades) e sua licença não permite redistribuição ou versões
modificadas da biblioteca. Isto aumentou a necessidade de uma versão livre da
biblioteca, cuja primeira foi freeglut
Cada ambiente de janelas tem uma biblioteca de extensão do OpenGL. Por
exemplo, o sistema X possui o GLX, enquanto o Windows fornece a extensão WGL e já
o Mac OS X fornece o CGL.
OpenGL Utility Library (GLU): Fornece diversas funções para auxiliar na
montagem de matrizes de visualização e projecção, desenho de superfícies e imagens
3D. Essa biblioteca é fornecida juntamente com as implementações do OpenGL e todas
as rotinas dessa biblioteca tem o prefixo glu.
Existe também uma versão chamada OpenGLUT, uma ramificação da freeglut,
que adiciona diversas novas funcionalidades, porém seu desenvolvimento também está
inactivo.
OpenGL Utility Toolkit (GLUT): É um toolkit que abstrai o sistema de janelas,
fornecendo uma interface simples para a criação de uma aplicação OpenGL.
GLUT (OpenGL Utility Toolkit): É uma biblioteca de funcionalidades
para openGLcujo principal objectivo é a abstracção do sistema operacional fazendo com
que os aplicativos sejam multiplataforma. A biblioteca possui funcionalidades para
criação e controle de janelas, e também tratamento de eventos de dispositivos de entrada
(mouse e teclado). Também existem rotinas para o desenho de formas tridimensionais
pré-definidas (como cubo, esfera, bule, etc).
Os dois objectivos da API(AplicationPrograming Interface) são: a criação de
aplicativos totalmente independente do sistema operacional e fazer com que o
aprendizado de OpenGL torne-se mais simples. Criar aplicações básicas em GLUT
demandam apenas poucas linhas de código enquanto fazer o mesmo programa sem
utilizar GLUT poderia resultar em dezenas de linhas.

7
BIBLIOTECA GLUT

GLUT (OpenGL Utility Toolkit) é uma biblioteca de funcionalidades para


OpenGL cujo principal objetivo é a abstração do sistema operacional fazendo com que
os aplicativos sejam multiplataforma. A biblioteca possui funcionalidades para criação e
controle de janelas, e também tratamento de eventos de dispositivos de entrada (mouse e
teclado). Também existem rotinas para o desenho de formas tridimensionais pré-
definidas (como cubo, esfera, bule, etc).
A biblioteca foi escrita por Mark Kilgard (autor de livros sobre computação
gráfica) enquanto ele trabalhava para a empresa Silicon Graphics.
Os dois objetivos da API são: a criação de aplicativos totalmente independente
do sistema operacional e fazer com que o aprendizado de OpenGL torne-se mais
simples. Criar aplicações básicas em GLUT demandam apenas poucas linhas de código
enquanto fazer o mesmo programa sem utilizar GLUT poderia resultar em dezenas de
linhas.
Todas as funções possuem o prefixo glut (por exemplo, glutPostRedisplay,
função que marca a janela da aplicação para ser redesenhada).

8
Limitações mais notáveis da biblioteca

A biblioteca exige que os programadores chamem a função glutMainLoop() ,


que nunca retorna um valor. Isto torna a integração um sério problema uma vez que
diversas bibliotecas ou até programas precisam ter controle do loop de execução. Existe
um patch comum que introduz uma função chamada glutCheckLoop() que executa
apenas uma iteração do loop de eventos.

O fato de glutMainLoop nunca retornar um valor significa que um programa


feito com o GLUT nunca poderá sair do loop de eventos. freeglut tenta resolver este
problema adicionando a função glutLeaveMainLoop .

A biblioteca finaliza o processo quando a janela é fechada o que para muitos


aplicativos pode ser indesejado. Muitas implementações adicionam um
novo callback para eventos chamado glutWMCloseFunc() .

3.2- Entidades Gráficas


O novo modo de gráficos fornece um conjunto de rotinas gráficas de alto-nível
utilizadas para controlar propriedades dos objectos como dados, cores, coordenadas e
escalas, cores e aparências sem que seja necessário entrar novamente os comandos de
gráficos iniciais.
Uma janela de gráficos e desenhos contidos em OpenGL são representados por
entidades hierárquicas, o topo do nível hierárquico é a Figure. cada Figure define pelo
menos um galho do tipo Axes (eixos). Cada entidade Axes contém um conjunto de
folhas que são objetos gráficos básicos como Polylines, Rectangles, Arcs, Segs,...
(poligonais, retângulos, arcos e segmentos). Também pode ser do tipo Compound
(composto) que são conjuntos recursivos de entidades.
Entidades gráficas do Scilab estão associadas a variáveis do tipo handle
(manipuladores). O manipulador é um identificador único que é associado a cada
instância de uma entidade gráfica criada. Utilizando-se manipuladores, é possível tanger
propriedades de entidades através das rotinas "set" e "get". Os manipuladores também
são utilizados para manipular objectos gráficos, para movê-los, para fazer cópias ou
deletá-los.
Figure: A entidade figura é o topo da hierarquia de entidades gráficas. A
entidade figura é o topo da hierarquia de entidades gráficas. Esta entidade define os
parâmetros para a figura em si tanto quanto os valores padrões dos parâmetros para
criação de galhos. Os galhos das figuras são as entidades de eixos;
Axes: A entidade de eixos está no segundo nível da hierarquia de entidades
gráficas. Esta entidade define parâmetros para a mudança de coordenadas dos eixos e o
desenho dos eixos tanto quanto os parâmetros padrões para criação de seus galhos;

9
3.3- Utilização de Luzes em OpenGL

A biblioteca gráfica OpenGL é capaz de trabalhar com 3 tipos de LUZ:


Ambiente, Difusa e Especular, e quando se trabalha com luzes, deve-se determinar:
a componente ambiente da luz(opcional) ;
a posição da luz(x,y,z).
a cor da luz difusa(r,g,b);
a cor da luz especular(r,g,b);
a cor especular do objecto(r,g,b);
o capacidade de brilho do objecto, ou o grau de concentração do brilho(algo como o
grau de polimento do objecto).
O comando usado para definir a cor de pintura é o
comando voidglColor[a][t](red, green, blue, alfa);. A letra [a] representa o número de
argumentos, que pode ser 3, caso você queira especificar apenas os valores de verde,
vermelho e azul, ou 4, caso você queira colocar também a transparência (alfa). Veremos
a transparência com mais detalhes no futuro.
O parâmetro [t] representa o tipo de dados da função. Ele pode ser b (byte), d
(double), f (float), i (integer), s (short), ub (unsigned byte), ui (unsignedint) ou us
(unsignedshort). Outras versões da função também aceitam a letra v ao final, indicando
que os dados serão enviados dentro de um vector.
Uma prática comum é fornecer os dados como floats. Nesse formato,
especificamos 0.0f para a ausência total de cor e 1.0f para a máxima intensidade daquele
componente de cor. Muitos programadores que iniciam o estudo de computação gráfica
podem preferir a função glColorub, já que nela você pode especificar valores de 0 até
255, como faria na programação Windows tradicional, ou numa página HTML. Na
verdade, essa é uma forma fácil de fazer com que as cores da OpenGL sejam similares
aos da sua aplicação, no caso de você estar construindo um CAD, por exemplo.

3.4- Como a luz é representada

Ao descrevermos a nossa fonte de luz, temos que informar todos os três


componentes recém apresentados. E é muito pouco provável que uma fonte de luz
conterá apenas um deles. Um exemplo extremo seria um laser, como esses usados por
palestrantes.
Evidentemente, ela tem um forte componente especular vermelho, o que produz
um brilho muito intenso, mas apenas no ponto onde ela atinge o objecto. Se usarmos o
laser no escuro, perceberemos também que ele chega a iluminar fracamente os objectos
em volta dele, o que indica também um fraco componente direccional. Caso a sala tenha
algum tipo de vapor ou fumaça, também poderíamos associar a esse laser um

10
componente de luz ambiente, já que essas partículas espalhariam parte da luz, tornando
quase todos os objectos na sala fracamente avermelhados.
Em cada componente da luz (especular, difuso e ambiente) fornecemos cada
componente de cor desejado, usando também os três valores RGB. No caso da luz, não
faz sentido falarmos em factor de transparência (alfa). Para o laser descrito
anteriormente, na sala com um leve vapor, teríamos:
Especular: 0.99 vermelho, 0 verde, 0 azul
Difuso: 0.10 vermelho, 0 verde, 0 azul
Ambiente: 0.05 vermelho, 0 verde, 0 azul.
O comando usado para definir a cor de pintura é o
comando voidglColor[a][t](red, green, blue, alfa);. A letra [a] representa o número de
argumentos, que pode ser 3, caso você queira especificar apenas os valores de verde,
vermelho e azul, ou 4, caso você queira colocar também a transparência (alfa). Veremos
a transparência com mais detalhes no futuro.
O parâmetro [t] representa o tipo de dados da função. Ele pode ser b (byte), d (double), f
(float), i (integer), s (short), ub (unsigned byte), ui (unsignedint) ou us (unsignedshort).
Outras versões da função também aceitam a letra v ao final, indicando que os dados
serão enviados dentro de um vector.

3.5- Modelo cliente-servidor


O modelo cliente-servidor (em inglês client/server), em computação, é uma
estrutura de aplicação distribuída que distribui as tarefas e cargas de trabalho entre os
fornecedores de um recurso ou serviço, designados como servidores, e os requerentes
dos serviços, designados como clientes.
Geralmente os clientes e servidores comunicam através de uma rede de
computadores em computadores distintos, mas tanto o cliente quanto o servidor podem
residir no mesmo computador, um servidor é um host que está executando um ou mais
serviços ou programas que compartilham recursos com os clientes. Um cliente não
compartilha qualquer de seus recursos, mas solicita um conteúdo ou função do servidor.
Os clientes iniciam sessões de comunicação com os servidores que aguardam
requisições de entrada.
O modelo cliente-servidor foi desenvolvido na Linux durante os anos 70. Este
modelo é actualmente o predominante nas redes informáticas. Email, a WorldWide
Web e redes de impressão são exemplos comuns deste modelo.
A característica do modelo cliente-servidor, descreve a relação de programas
numa aplicação. O componente de servidor fornece uma função ou serviço a um ou
mais clientes, que iniciam os pedidos de serviço.
Funcionalidades como a troca de e-mail, acesso à internet ou acesso a um banco
de dados, são construídos com base no modelo cliente-servidor. Por exemplo, um

11
navegador web é um programa cliente, em execução no computador do usuário, que
acede às informações armazenadas num servidor web na internet.
O modelo cliente-servidor, tornou-se uma das ideias centrais de computação de
rede. Muitos aplicativos de negócios, escritos hoje, utilizam o modelo cliente-servidor.
O termo também tem sido utilizado para distinguir a computação distribuída por
computadores dispersos da "computação" monolítica centralizada em mainframe.

3.6-Rede de transmissão

A rede de transmissão ou rede de transporte de informações (voz, dados e sinais)


é composta dos sistemas de transmissão através dos quais são realizadas as
interconexões entre as centrais de comutação (veja central telefónica) ou entre redes de
computadores.
Protocolos de transporte e rede para contactar o sistema que aguarda. As
mensagens entre as duas aplicações são trocadas através da conexão resultante.

Existem duas formas para que se estabeleça uma ligação cliente-servidor:


enquanto uma delas é orientada à conexão, a outra não é. O TCP, por exemplo, é um
protocolo de transporte orientado à conexão em que o cliente estabelece uma conexão
com o servidor e ambos trocam múltiplas mensagens de tamanhos variados, sendo a
aplicação do cliente quem termina a sessão. Já o protocolo UDP não é orientado à
conexão, nele o cliente constrói uma mensagem e a envia num pacote UDP para o
servidor, que responde sem estabelecer uma conexão permanente com o cliente.
Pode-se conceituar meio de transmissão como todo suporte que transporta as
informações entre os terminais telefónicos, desde a origem (central telefónica na origem
da chamada) até o destino (central telefónica no destino da chamada) e vice-versa.
Como suporte à transmissão temos: telefone, linha de assinante, percurso interno nas
centrais telefónicas, linhas físicas, multiplex, rádio, atmosfera e vácuo. Há um tipo de
meio de transmissão. Tanto o meio utilizado por fio ou cabo quanto o meio utilizado
pelo "espaço" são físicos.
O conceito de comunicação, em telecomunicações, pode ser entendido como o
transporte da informação de um lugar para outro, da origem ao destino. Para que se
possa realizar uma comunicação, é necessário a utilização de sinais. O sinal é um
fenómeno físico ao qual se associa a informação. Por exemplo, no caso da telefonia, a
fala humana transformada em corrente eléctrica que transporta a voz pelo telefone são
sinais. Actualmente, os sinais mais comuns são os sinais eléctricos e luminosos.
Os sinais eléctricos tipicamente usam como meios de transmissão os cabos
metálicos tradicionais, condutores de corrente eléctrica. Os sinais luminosos usam como
meios de transmissão os cabos ópticos (fibras ópticas monomodo e multimodo).

12
VERTEX ARRAY
Usado para Reduzir o número de chamada de funções, que podem causar redução
de desempenho da aplicação
 Desenhar um polígono com 20 lados requer 22 chamadas de funções: uma para
cada vértice + glBegin() + glEnd(). Passando-se as normais, pode-se duplicar o
número de chamadas.

Evitar a replicação de vértices, resultando em economia de memória.


 Para se especificar um cubo, gasta-se 24 vértices, sendo cada vértice replicado
3x. O mesmo cubo poderia ser desenhado com apenas 8 vértices.

DISPLAY LIST
É um grupo de comandos OpenGL que são armazenados para execução futura. Quando
um display list é chamado, os comandos são executados na ordem que foram definidos.
Nem todos os comandos OpenGL podem ser armazenados em um display list. Não
podem ser utilizados especialmente comandos relacionados com vertex array, comandos
como glFlush(), glFinish(), glGenLists(), dentre outros.
Para criar um display list deve-se utilizar os seguintes comandos: glGenLists(),
glNewList() e
glEndList() como mostrado no seguinte exemplo:

13
3.6- Os sistemas de telecomunicações podem ser divididos em:

Sistemas analógicos: são aqueles que conservam a forma dos sinais desde a
fonte ao destino.
Sistemas digitais: são aqueles em que a forma do sinal transmitido é diferente do
sinal original. Neste sistema, as formas dos sinais são convertidos para um sistema
binário antes de serem transmitidos.
Uma simplificação de um sistema de telecomunicações é:
FONTE >> TRANSMISSOR >> MEIO + RUÍDO >> RECEPTOR >> DESTINO

Execução e interpretação de comandos


Os interpretadores de comandos permitem aos usuários emitirem vários
comandos, o que requer ao usuário conhecer tais comandos e seus parâmetros, além da
sintaxe da linguagem interpretada. A partir da década de 1960, a interacção do usuário
com o computador era primariamente realizada através de linha de comando. Na década
seguinte os pesquisadores começaram a desenvolver interfaces gráficas para fornecer
maneiras mais simples e lógicas para a interacção com a máquina, o que modelou o
avanço da informática, com o surgimento de novos dispositivos periféricos como
o mouse. Isso possibilitou que leigos pudessem aprender rapidamente a utilizar o
computador. Apesar disso, mesmo actualmente as interfaces textuais de interpretação de
comandos ainda são bastante utilizadas em conjunto com interfaces gráficas, pois para
algumas tarefas elas se tornam muito mais eficientes para realizar operações. Hoje em
dia os interpretadores são muito utilizados por programadores. Pois a unica forma
confiável de se editar um programa é através de CLI - CLI -COMMAND LINE
INTERFACE. O Shell utilizado para a edição varia de acordo com a linguagem de
programação utilizada.

14
Figuras Geométricas

Cilindro
Em matemática, um cilindro é o objecto tridimensional gerado pela superfície de
revolução de um rectângulo em torno de um de seus lados. De maneira mais prática, o
cilindro é um corpo alongado e de aspecto redondo, com o mesmo diâmetro ao longo de
todo o comprimento.
O cilindro é também definido através de uma superfície quádrica, cuja função geradora

é:
Para o cilindro circular, os valores de a e b, na equação acima, são iguais, há também a
possibilidade do cilindro circular ser chamado de cilindro equilátero. Tal denominação
ocorre quando a sua altura, também chamada de geratriz, equivale ao diâmetro da base.

Cubo
Na geometria, um cubo é um corpo formado por seis faces que são quadradas. A
particularidade destes corpos é que todas as faces são congruentes, estão dispostas de
forma paralela e aos pares, e têm quatro lados.
Tendo em conta estas características, é possível situar os cubos em diversos
grupos. Trata-se de sólidos platónicos, poliedros convexos, paralelepípedos, hexaedros e
prismas, todas qualificações que fazem referência a diferentes propriedades dos cubos.

Esfera
A esfera pode ser definida como "um sólido geométrico formado por
uma superfície curva contínua cujos pontos estão equidistantes de um outro fixo e
interior chamado centro"; ou seja, é uma superfície fechada de tal forma que todos os
pontos dela estão à mesma distância de seu centro, ou ainda, de qualquer ponto de vista
de sua superfície, a distância ao centro é a mesma. A esfera pode ser obtida através do
movimento de rotação de um semicírculo em torno de seu diâmetro.
Uma esfera é um objecto tridimensional
perfeitamente simétrico. Na matemática, o termo se refere à superfície de uma bola. Na
física, esfera é um objecto (usado muitas vezes por causa de sua simplicidade) capaz de
colidir ou chocar-se com outros objectos que ocupam espaço.
Quanto à geometria analítica, uma esfera é representada (em coordenadas
rectangulares) pela equação: em que a, b,
c são as coordenadas do centro da esfera nos eixos x, y, z respectivamente, e r é
o raio da esfera. A esfera é uma forma circular ou seja esferica como uma forma de
bola.

15
Cone
Em geometria, o cone é um sólido geométrico obtido quando se tem
uma pirâmide cuja base é um polígono regular, e o número de lados da base tende ao
infinito.
Reto;
Oblíquo;
Equilátero.

Dodecaedro
O dodecaedro é um dodecaedro é um poliedro de 12 faces.
Um dodecaedro regular é constituído por 12 pentágonos regulares e é um do
SólidosPlatónicos.). uma sucessão de pontos=linha reta;
cruzamento de duas retas=determina um ponto;
três retas=triângulo;
quatro=quadrado; cinco=pentágono; seis=exágono; sete=heptágono;oito=octágono;
nove=noneagono; dez=decágono; onze, eneágono; doze=dodecágono!

Icosaedro
Um icosaedro regular, é constituído por 20 triângulos equiláteros e é um
dos sólidos platónicos.
O icosaedro também pode ser chamado tetraedro sneb pois a snebificação de
um tetraedro regular dá um icosaedro regular. O estudo das figuras geométricas sólidas
perfeitas, como o Icosaedro é de tamanha importância para a matemática, mais
especificamente a geometria espacial.

Octaedro
De acordo com o filósofo grego Platão, o octaedro é o representante do elemento
ar. Esse sólido platônico é formado por 12 arestas, 6 vértices e 8 faces que possuem o
formato de um triângulo equilátero. O volume de um sólido geométrico que possui
forma de octaedro regular é dado pela expressão:

16
Chaleira
A chaleira é um utensílio culinário que, ao contrário do que o nome parece
indicar – ver, por exemplo, cafeteira, não foi idealizada para nela se preparar chá, mas
apenas para aquecer água que pode ser utilizada para fazer chá, café, chimarrão ou
qualquer outro alimento, bebida ou uso para água quente. Normalmente, o chá é
preparado e servido num bule.
A chaleira tradicional é um recipiente de metal com a forma de
um cilindro baixo com uma tampa no topo e um bico lateral. Este utensílio foi
desenhado para aquecer água colocando-se sobre uma boca de fogão.

Tetraedro
O tetraedro é um poliedro composto por quatro faces triangulares, três delas
encontrando-se em cada vértice. O tetraedro regular é um sólido platónico, figura
geométrica espacial formada por quatro triângulos equiláteros (triângulos que possuem
lados com medidas iguais); possui 4 vértices , 4 faces e 6 arestas.

17
18
Conclusão

Tendo uma união com o Java só aumenta ainda mais as suas funções e utilidades
com o objectivo de oferecer ou utilizador mais opções de desenvolvimento em prol do
desenvolvimento e avanço da computação trabalhando em programação de
interfaces(API) melhorando a forma como o mundo projectado exactamente como
imaginamos seja exibido,
A Computação Gráfica está presente em todas as áreas, desde os mais
inconsequentes joguinhos electrónicos até o projecto dos mais modernos equipamentos
para viagens espaciais, passando também pela publicidade, com as mais incríveis
vinhetas electrónicas e pela medicina onde a criação de imagens de órgãos internos do
corpo humano possibilitam o diagnóstico de males que em outros tempos somente seria
possível com intervenções cirúrgicas complicadas e comprometedoras.
possibilitando que não fiquemos somente na imaginação e exploremos um pouco
mais as ferramentas disponibilizadas e ultrapassar os limites, dando formas diversas ao
que nos convém de acordo com o objectivo de cada projecto materializando nossas
ideias, estáticas ou animadas.

19
I- Bibliografia

JAMSA, Kris. Programando em C/C++ a Bíblia;Ed. Makron Books;1999; SP


KILGARD, M. J.; OpenGL and X, Part 1:An Introduction. Technicalreport; SGI; 1994;
Disponível em <http://www.sgi.com/software/opengl/glandx/intro/intro.html>.
MOLOFEE, Jeff. Néon HeliumProductions Open GL Tutorial; Disponível em:
http://nehe.gamedev.net/
internet, google, wikipedia.

20

You might also like