capitão Álgebra: ferramenta de apoio ao ensino de matemática para o quinto ano do ensino...
DESCRIPTION
Neste trabalho apresenta-se uma abordagem para estudos de métodos alternativos de ensino de matemática para crianças do quinto ano do ensino fundamental. Foi desenvolvido um jogo eletrônico e verificado o seu nível de eficácia na sala de aula. O trabalho se divide em duas partes: o desenvolvimento do jogo em si, utilizando a biblioteca multiplataforma OpenGL e aplicação de técnicas de desenho de figuras geométricas, transformações tridimensionais, aplicação de texturas, iluminação, detecção de colisão e seleção de objetos. A segunda parte consiste em testar o jogo desenvolvido em um ambiente escolar real e através de um questionário respondido pelas crianças, verificar se o jogo auxiliou no processo de ensino-aprendizagem.TRANSCRIPT
1
CENTRO UNIVERSITÁRIO DE RIO PRETO
UNIRP
CURSO CIÊNCIA DA COMPUTAÇÃO
FELIPE BARRETO LADIK
GUSTAVO MADI RAVAZZI
RODRIGO ALVES ROSSI
CAPITÃO ÁLGEBRA: FERRAMENTA DE APOIO AO ENSINO DE
MATEMÁTICA PARA O QUINTO ANO DO ENSINO FUNDAMENTAL
SÃO JOSÉ DO RIO PRETO
2010
2
FELIPE BARRETO LADIK
GUSTAVO MADI RAVAZZI
RODRIGO ALVES ROSSI
CAPITÃO ÁLGEBRA: FERRAMENTA DE APOIO AO ENSINO DE
MATEMÁTICA PARA O QUINTO ANO DO ENSINO FUNDAMENTAL
Monografia apresentada como exigência
parcial para obtenção do título de
Bacharel em Ciência da Computação à
Banca Examinadora do Centro
Universitário de Rio Preto – UNIRP.
Orientadora: Profª M.Sc. Valéria Maria Volpe
SÃO JOSÉ DO RIO PRETO
2010
II
3
FELIPE BARRETO LADIK
GUSTAVO MADI RAVAZZI
RODRIGO ALVES ROSSI
CAPITÃO ÁLGEBRA: FERRAMENTA DE APOIO AO ENSINO DE
MATEMÁTICA PARA O QUINTO ANO DO ENSINO FUNDAMENTAL
BANCA EXAMINADORA
_____________________
M.Sc. Valéria Maria Volpe
____________________
M.Sc. Mariângela Cazetta
____________________
M.Sc. Andréia Aparecida Ferraz
São José do Rio Preto, 07 de dezembro de 2010
III
4
RESUMO
Neste trabalho apresenta-se uma abordagem para estudos de métodos alternativos
de ensino de matemática para crianças do quinto ano do ensino fundamental. Foi
desenvolvido um jogo eletrônico e verificado o seu nível de eficácia na sala de aula.
O trabalho se divide em duas partes: o desenvolvimento do jogo em si, utilizando a
biblioteca multiplataforma OpenGL e aplicação de técnicas de desenho de figuras
geométricas, transformações tridimensionais, aplicação de texturas, iluminação,
detecção de colisão e seleção de objetos. A segunda parte consiste em testar o jogo
desenvolvido em um ambiente escolar real e através de um questionário respondido
pelas crianças, verificar se o jogo auxiliou no processo de ensino-aprendizagem.
Palavras-chave: Jogos Educacionais, OpenGL, Computação Gráfica, Aprendizagem
Por Meio de Jogos, Educação Matemática.
5
ABSTRACT
In this paper is presented an approach for alternative methods of teaching
mathematics for students of the fifth year of the elementary school. It was developed
an electronic game and then it was verified the level of effectiveness that was
presented in the classroom. The paper is divided in two parts: the development of the
game, using the multiplatform OpenGL Library and applying techniques of geometric
figures drawing, tridimensional transformations, textures, illumination techniques,
collision detection and selection of objects. The second part consists in testing the
game in a real school environment and by using a questionnaire answered by the
students, we hope to verify if the game helped in the learning process.
Keywords: Educational Games, OpenGL, Graphics Computing, Learning through
Games, Mathematics Learning.
6
SUMÁRIO
1 INTRODUÇÃO..........................................................................................................9
1.1 Problema...............................................................................................................9
1.2 Justificativa............................................................................................................9
1.3 Objetivos................................................................................................................9
1.4 Metodologia.........................................................................................................10
CAPÍTULO II..............................................................................................................11
2 FUNDAMENTAÇÃO TEÓRICA..............................................................................11
2.1 O conceito de imagem.........................................................................................11
2.1.1 Imagem digital..................................................................................................11
2.2 Conceito de Pixel.................................................................................................12
2.3 Amostragem e Quantização................................................................................13
2.4 Resolução Espacial.............................................................................................14
2.4.1 Visualização Bidimensional x Visualização Tridimensional..............................15
2.5 Conceito de Cor...................................................................................................15
2.6 Sistema de Cor....................................................................................................16
2.6.1 Sistema de cor RGB (Red, Green, Blue)..........................................................172.6.2 Sistema de cor HSI (Hue, Saturation, Intensity)...............................................172.6.3 Sistema de Cor CMY (Cyan, Magenta, Yellow)................................................18
2.7 Primitivas Gráficas, Vértices e Polígonos............................................................18
2.8 Conceito de Animação.........................................................................................19
2.8.1 Detecção de Colisão.........................................................................................20
2.9 Matriz de Transformação.....................................................................................20
2.10 Transformações Bidimensionais e Tridimensionais...........................................21
2.10.1 Translação......................................................................................................212.10.2 Escalonamento...............................................................................................222.10.3 Rotação..........................................................................................................23
2.11 Câmera Virtual...................................................................................................24
7
2.12 Realismo............................................................................................................25
2.12.1 Iluminação......................................................................................................252.12.2 Modelos de Iluminação...................................................................................262.12.2.1 Modelo de Lambert......................................................................................262.12.2.2 Modelo de Gourad.......................................................................................272.12.2.3 Modelo de Phong.........................................................................................272.12.3 Remoção de Faces Ocultas............................................................................28
2.13 Mapeamento de Textura (Texturização)............................................................28
2.13.1 Texturas Unidimensionais...............................................................................282.13.2 Texturas Bidimensionais.................................................................................29
2.14 OpenGL (Open Graphics Library)......................................................................29
2.14.1 Bibliotecas OpenGL........................................................................................302.14.2 OpenGL como uma Máquina de Estados.......................................................31
2.15 Buffers...............................................................................................................31
2.15.1 Color Buffer.....................................................................................................322.15.2 Depth Buffer....................................................................................................322.15.3 Stencil Buffer...................................................................................................32
2.16 Entrada de Usuário............................................................................................33
2.17 Jogos na Educação Infantil................................................................................33
2.18 Dificuldades no Desenvolvimento de Jogos Educacionais................................34
2.19 Ensino da Matemática Através de Jogos Eletrônicos........................................35
2.20 Conclusão..........................................................................................................35
CAPITULO III.............................................................................................................37
3 DESENVOLVIMENTO...........................................................................................37
3.1 O Ambiente de Desenvolvimento........................................................................37
3.2 As Linguagens de Programação..........................................................................37
3.3 Programando em OpenGL...................................................................................38
3.3.1 Callback de Redesenho de Cenas...................................................................383.3.3 Callback de Entrada de Teclado e Mouse........................................................39
3.4 Desenhando o Ambiente do Jogo........................................................................39
3.5 Desenho de Primitivas Gráficas...........................................................................40
8
3.6 Desenho de Figuras Geométricas.......................................................................40
3.7 Colorindo o Ambiente..........................................................................................41
3.8 Animação de Figuras Geométricas......................................................................42
3.9 Seleção de Objetos..............................................................................................43
3.10 Detecção de Colisão..........................................................................................44
3.11 Técnicas de Realismo........................................................................................45
3.12 Itens de Informação ao Usuário.........................................................................46
3.13 Cadastro de Perguntas......................................................................................47
3.14 Fases, Pontuação e Objetivo Final....................................................................48
3.15 Capitão Álgebra e Educação.............................................................................49
CAPITULO IV............................................................................................................51
4 RESULTADOS E DISCUSSÃO..............................................................................51
4.1 Análise dos Resultados.......................................................................................51
CAPÍTULO V.............................................................................................................58
5 CONCLUSÃO.........................................................................................................58
5.1 Trabalhos Futuros................................................................................................58
9
1 INTRODUÇÃO
1.1 Problema
Alguns alunos, principalmente crianças têm problemas com a falta de
concentração ou interesse durante as aulas, o que pode acarretar em dificuldades
para aprender algumas matérias. Incentivá-las usando métodos não-convencionais
de ensino é aplicar uma das opções disponíveis para colaborar com o processo
ensino-aprendizagem. Existem alguns sistemas computacionais que possuem
recursos para auxiliar nesta tarefa, porém nem todos os locais de ensino utilizam-
nos satisfatoriamente (DULLIUS; QUARTIERI, 2007).
Há diversos estudos na área de métodos não-convencionais de ensino,
descrevendo técnicas e teorias pedagógicas que podem basear a construção de
ferramentas de apoio ao ensino. No entanto, este último passo da cadeia de
desenvolvimento pedagógico parece carecer de uma quantidade maior de
alternativas (DULLIUS; QUARTIERI, 2007).
1.2 Justificativa
Jogos eletrônicos, muitas vezes, são vistos como aplicativos utilizados
somente com o intuito de entretenimento porém, seu uso pode ir além disso.
Aliando-se a métodos educacionais, é possível desenvolver aplicações de apoio ao
ensino que podem ser moldadas de acordo com necessidades específicas.
1.3 Objetivos
O objetivo deste projeto é desenvolver uma aplicação gráfica (jogo
interativo) tridimensional, para fins de apoio ao ensino de crianças cursando o quinto
ano do ensino fundamental.
Ao utilizar gráficos atrativos e animados, junto a atividades
consideradas divertidas, espera-se chamar a atenção da criança, incentivando-a a
praticar o estudo da matemática.
10
1.4 Metodologia
Será executada pesquisa em material bibliográfico sobre formas de
aplicação de técnicas de apoio ao ensino de forma adequada, para relacionar
trabalhos e pesquisas desenvolvidas na área do projeto. Serão usadas técnicas de
computação gráfica para desenhar, animar e aplicar texturas a objetos geométricos
tridimensionais, para tornar o jogo atrativo. Por fim, será desenvolvido um aplicativo
utilizando linguagem C, as bibliotecas OpenGL, GLU e GLUT.
Nos próximos capítulos, serão apresentados os fundamentos teóricos
obtidos durante a pesquisa bibliográfica realizada. Serão abordados temas técnicos
de computação gráfica e teorias pedagógicas que serviram de orientação e base
para o desenvolvimento do jogo, que será detalhado ao longo deste projeto.
11
CAPÍTULO II
2 FUNDAMENTAÇÃO TEÓRICA
Neste capítulo são apresentados os conceitos que fundamentaram o
desenvolvimento do projeto Capitão Álgebra: Ferramenta de Apoio ao Ensino de
Matemática para o Quinto do Ensino Fundamental.
O tema central deste projeto consiste na aplicação da computação
gráfica para o desenvolvimento de uma ferramenta que apoie o processo de ensino-
aprendizagem. Logo, serão definidos conceitos que envolvem a área de computação
gráfica como cor, imagens digitais, transformações tridimensionais, além de algumas
teorias pedagógicas relevantes.
2.1 O conceito de imagem
Diversas definições podem ser atribuídas ao termo imagem. Uma delas
é a representação visual de um objeto, utilizada como forma de expressão e
comunicação em diversos campos da sociedade, podendo representar uma idéia ou
um retrato exato de algo.
Do ponto de vista do olho humano, uma imagem é um conjunto de
pontos que se unem em um plano.
Já neste projeto, cujo tema envolve computação gráfica, será adotada
definição de imagem como sendo um banco de informações, no qual cada ponto da
imagem e variância de cor representa um dado a ser estudado (PEDRINI;
SCHWARTZ, 2008).
2.1.1 Imagem digital
É uma representação binária e bidimensional, constituída por uma
matriz digital na qual suas coordenadas de linha e coluna representam um ponto na
imagem. O valor deste ponto corresponde à sua cor. Cada ponto na matriz digital é
denominado de pixel. O armazenamento de imagens digitais é geralmente
considerado um problema devido ao tamanho que ocupa. Por exemplo, uma
12
imagem com 8 bits por pixel de resolução de cor e 1024 x 1024 pixels (1048576
pixels no total) requer um milhão de bytes (1048576 multiplicado por 8 é igual a
aproximadamente 8 milhões de bits, que equivale a 1 milhão de bytes) para
armazená-la.
A Figura 1a representa uma maneira de armazenar uma imagem na
memória do computador e como a imagem é exibida na tela de um dispositivo de
exibição (Figura 1b).
O processamento de imagens é geralmente realizado através de
algoritmos. Logo, a maioria das funções de processamento de imagens pode ser
implementada por software. O uso de hardware específico torna-se necessário
apenas por motivos de velocidade, pois o processamento de uma imagem por
software tende a ser mais lento do que seu processamento por meio de hardware
(GONZALEZ; WOODS, 2008).
Figura 1 Representação de uma imagem matricial por conjunto de pixel
2.2 Conceito de Pixel
Em um dispositivo de exibição, como um monitor, uma imagem digital é
dividida em milhares de pequenos pontos. Cada ponto possui uma coordenada
espacial e um valor que representa sua cor. Tais pontos são denominados de pixels,
que origina-se da expressão inglesa Picture Element, ou seja, Elemento da Imagem.
O pixel é considerado o menor componente em uma imagem digital e
pode ser localizado através de uma função bidimensional de intensidade de luz
13
f(x,y), onde x e y são as coordenadas espaciais, como mostrado na Figura 2, e f
representa a cor do ponto na imagem (FOLEY et. al., 1993).
Figura 2 Representação de um pixel em coordenadas x e y em um sistema de resolução de 1024
pixels de largura e 800 pixels de altura. O pixel (7,3) é mostrado (FOLEY et. al., 1993)
2.3 Amostragem e Quantização
Para que o processamento computacional de uma imagem seja
possível, é necessário que a função bidimensional de intensidade de luz f(x,y) seja
digitalizada, para que o computador seja capaz de processá-la. Este processo
ocorre tanto em nível espacial (amostragem) quanto em amplitude (quantização).
Digitalizar as coordenadas espaciais (x, y) consiste em determinar o
domínio de amostragens da função, para gerar uma matriz bidimensional. Este
processo é chamado de amostragem. No processo de quantização determina-se o
número limite de nível de cinza ou de cor em cada ponto de imagem.
Portanto, é através do processo de amostragem e quantização que o
sistema computacional é informado sobre o espaço limite da imagem e o escopo de
níveis de tons de cinza ou cores permitidas à imagem digitalizada (GONZALEZ;
WOODS, 2008).
14
2.3.1 Resolução de Cor
O termo bits por pixel (bpp) refere-se à soma de bits nos canais de cor
da imagem e representa o total de cores disponíveis para cada pixel.
Normalmente imagens digitais possuem três canais de cor e um total
de 8 bits por canal, ou seja, 24 bits por pixel (três canais multiplicados pelo número
de bits por canal). Assim, combinando-se os valores binários destes 8 bits em um
canal de cor pode-se obter 256 valores de intensidade diferentes para cada cor
primária. Ao combinar todas as variações possíveis nos três canais, são obtidas
16.777.216 cores diferentes em uma imagem (PEDRINI; SCHWARTZ, 2008).
Logo, observa-se que quanto maior for a profundidade de cor
(quantidade de bits por pixel), maior será a qualidade da imagem, pois irá apresentar
aparência mais real e vibrante ao observador (PEDRINI; SCHWARTZ, 2008).
2.4 Resolução Espacial
Em imagens digitais, há dois tipos de resolução: resolução espacial
(número de pixels) e resolução de cor.
A resolução espacial identifica o nível de detalhe que uma imagem
terá. Quanto maior a resolução (número de pixels), melhor será a visualização da
imagem. Para medir esta propriedade, a convenção é quantificar o número de pixels
em uma certa área, por exemplo, 300 pixels por polegada. O tamanho da imagem
pode ser expresso como uma dupla Largura x Altura (GOMES; VELHO, 1998).
A Figura 3a mostra uma reta desenhada com alta resolução, já a
Figura 3b mostra uma reta com baixa resolução, apresentando um efeito
quadriculado.
Figura 3 Resoluções espaciais em imagem
15
Já a resolução de cor, é obtida através de um processo chamado de
quantização. Este processo consiste em transformar uma imagem com um conjunto
contínuo de cores, em uma imagem com um conjunto discreto de cores. Isto é feito
informando ao computador a quantidade de bits que serão utilizados na imagem,
para que ao exibir-la, esse valor não ultrapasse o escopo de cores disponíveis
(VELHO; GOMES, 1998).
2.4.1 Visualização Bidimensional x Visualização Tridimensional
Ao se desenhar objetos geométricos em uma aplicação gráfica
normalmente são utilizadas coordenadas espaciais para determinar os eixos da
figura. Estas coordenados são diretamente relacionadas á visualização escolhida
para a aplicação, pois determinam o plano cartesiano que será utilizado.
Em computação gráfica, temos dois tipos de visualização:
bidimensional e tridimensional.
A visualização bidimensional, determina um plano cartesiano de dois
eixos (x e y) no "universo" (espaço utilizado por uma aplicação gráfica) da aplicação.
Ou seja, a profundidade da cena não é levada em consideração.
Já na visualização tridimensional, é determinado um plano de três
eixos (x, y e z). A profundidade da cena passa a ser um fator importante no desenho
de objetos, pois ela determinará o quão distantes os objetos estarão em relação ao
observador (COHEN; MANSSOUR, 2006).
2.5 Conceito de Cor
Cor é a interpretação que o cérebro humano realiza sobre as
freqüências e o comprimento de ondas eletromagnéticas dentro do espectro visível
(intervalo de cores visível ao olho humano), que varia da cor violeta à cor vermelha.
Para cada frequência de onda eletromagnética dentro do espectro visível é atribuída
uma cor (PEDRINI; SCHWARTZ, 2008).
O intervalo de cores, denominado de espectro visível, foi descoberto
por Isaac Newton em 1666, ao observar que um feixe de luz branca ao atravessar
um prisma de vidro poderia ser decomposto em um espectro contínuo de cores. As
16
cores contidas neste intervalo seriam as cores visíveis ao olho humano, conforme
mostra a Figura 4 (PEDRINI; SCHWARTZ, 2008).
A cor de um objeto real é determinada pelo raio de luz que o objeto
consegue refletir, ou seja, o objeto não reflete todos os raios de luz exceto aqueles
de sua cor. Em uma imagem digital, a cor é representada de acordo com o seu
sistema de cor, podendo variar entre diversos modelos, como RGB, HSI, CMYK e
tons de cinza (VELHO; GOMES, 1998).
Em um computador, a representação de cor sofre uma redução no
espaço espectral, que passa de contínuo para discreto, ou seja, passa da dimensão
infinita para finita. O espaço do espectro visível discreto irá depender do sistema de
cor utilizado, porém, em qualquer sistema, a cor será determinada pela adição,
subtração ou absorção dos componentes espectrais da luz (COHEN; MANSSOUR,
2006).
Figura 4 Espectro visível de luz ao olho humano
2.6 Sistema de Cor
Um sistema de cor é um modelo matemático que possibilita descrever
as cores através de números. Geralmente são agrupamentos (ou tuplas) de três ou
quatro números (chamados de componentes de cor) que agrupados representam
uma cor e sua intensidade.
Seu formato padronizado é utilizado para atender a diferentes
requisitos de hardware ou software que realizam manipulação de cores.
17
Não existe um sistema de cor que consiga representar todas as cores
do espectro visível, portanto, diversos modelos são utilizados na especificação das
características das cores (PEDRINI; SCHWARTZ, 2008).
2.6.1 Sistema de cor RGB (Red, Green, Blue)
É um sistema de cor aditivo, ou seja, a cor é obtida somando-se
componentes espectrais da luz que correspondem às cores primárias vermelho,
verde e azul (red, green e blue). Para obter uma cor mais avermelhada, deve-se
atribuir um valor maior ao componente que representa a cor primária vermelha e um
que representam as cores primárias verde e azul.
Na tabela 1 tem-se o exemplo de algumas cores e seus respectivos
valores no sistema de cor RGB.
Tabela 1 Cores com os valores correspondentes às cores primárias vermelho, verde e azul
Observa-se que para cada canal de cor é atribuído um valor entre 0 e
255, sendo que zero representa a menor intensidade do canal de cor respectivo e
255 a maior (PEDRINI; SCHWARTZ, 2008).
2.6.2 Sistema de cor HSI (Hue, Saturation, Intensity)
Assim como o sistema de cor RGB, o sistema de cor HSI é um sistema
aditivo. É composto por três propriedades: matiz (hue em inglês), saturação
(saturation em inglês) e intensidade luminosa (intensity em inglês) .
18
A matiz corresponde à cor primária, a saturação à porcentagem de cor
branca presente e a intensidade luminosa ao nível do brilho.
Com esse modelo é possível definir tons de cores mais claras e mais
escuras, através do aumento ou diminuição da intensidade luminosa. As cores
intermediárias são obtidas com o aumento ou diminuição da saturação (PEDRINI;
SCHWARTZ, 2008).
2.6.3 Sistema de Cor CMY (Cyan, Magenta, Yellow)
Esse é um sistema de cor subtrativo, isto é, a cor é obtida subtraindo-
se componentes espectrais da luz branca. Assim, a cor resultante origina-se da
porção de luz que não é absorvida pelo processo de subtração.
O sistema de cor CMY é muito utilizado em impressoras,
fotocopiadoras e outros dispositivos que não emitem luz.
Esse sistema de cor não reproduz fielmente os tons mais escuros. Para
obter a cor preta, por exemplo, é necessário usar 100% de cada uma das três cores,
que em impressão real, carrega o papel por excesso de líquido e atrasa a secagem.
Para resolver este problema foi necessária a adição da cor preta às cores primárias
do sistema CMY, formando-se assim o sistema de cor CMYK, em que a letra K
representa a cor preta (PEDRINI; SCHWARTZ, 2008).
2.7 Primitivas Gráficas, Vértices e Polígonos
Objetos bidimensionais e tridimensionais são definidos por vértices,
que são pontos no universo.
Eles são denominadas primitivas gráficas, elementos básicos que
compõem um desenho, como pontos, segmentos de reta e círculos. Possuem o
nome de primitiva, pois é a partir de alguns destes elementos compostos por um ou
mais vértices que é possível desenhar estruturas mais complexas e detalhadas.
O algoritmo base para desenho de retas (primitiva utilizada para
desenhar um grande número de polígonos), é denominado algoritmo de Bresenham.
Conforme mostra a Figura 5 ele permite determinar quais o pontos que
devem ser preenchidos ao se desenhar uma reta em um dispositivo matricial, como
um monitor.
19
Quando deseja-se desenhar um polígono, como um triângulo por
exemplo, determina-se onde cada um dos três vértices do objeto serão desenhados
e conecta-se estes vértices por retas, formando o polígono desejado. Ao preencher
a área criada pelos vértices e primitivas com uma cor, obtêm-se uma face.
Para desenhar um objeto tridimensional, basta adicionar mais faces ao
polígono de forma que os vértices de uma face se unam aos vértices da face ao lado
(VELHO; GOMES, 1998).
Figura 5 Desenho de uma reta em um dispositivo matricial
2.8 Conceito de Animação
De acordo com COHEN e MANSSOUR (2006) o objetivo das técnicas
de animação de imagem é dar "vida" às imagens estáticas. Este conceito essencial
para a computação gráfica, possui um extenso mercado atual, sendo utilizado em
jogos comerciais, filmes, pesquisas científicas e aplicações industriais, como
simuladores de vôo.
A animação convencional é caracterizada pela rápida exibição de
imagens (fotografias) ligeiramente diferentes em alta velocidade, que recebem o
nome de frames, causando a impressão de movimento no observador. A velocidade
de exibição das imagens varia de acordo com a aplicação. É importante existir um
sincronismo em relação á velocidade de exibição e o número de imagens exibidas
por segundo. A falta de sincronia pode gerar movimentos irregulares, afetando a
qualidade da animação.
20
Este efeito em computação gráfica é reproduzido através do constante
redesenho de sequências de quadros (frames) ligeiramente distintos um dos outros,
através de um laço contínuo, que atualiza a cena a cada ciclo.
2.8.1 Detecção de Colisão
Ao se usar animação em um jogo eletrônico é natural ocorrer colisões
entre objetos. Esse efeito pode ocorrer quando um ou mais objetos animados tentam
ocupar o mesmo espaço. O processo que jogos eletrônicos usam para determinar
quando esses eventos ocorrem, é chamado de detecção de colisão (LENGYEL,
2004).
O processo de detecção de colisão consiste em determinar a posição
inicial de um objeto e calcular a trajetória dele, caso ele não seja obstruído até que o
próximo quadro (frame) seja redesenhado. Como o tempo entre o redesenho de
quadros é pequeno, é convencionalmente aceito que objetos se movem em linha
reta entre os intervalos de quadros.
Logo, o problema do processo de detecção de colisão é determinar se
a trajetória de um objeto animado em um segmento de linha colide com alguma
parte do ambiente presente no jogo eletrônico durante o a geração de cenas
(LENGYEL, 2004).
2.9 Matriz de Transformação
A matriz de transformação é responsável por aplicar as transformações
geométricas nos vértices dos objetos tridimensionais.
Este tipo de matriz é utilizado para realizar combinações de
transformações geométricas, reduzindo o número de operações matemáticas.
Assim, para realizar uma combinação de transformações geométricas,
multiplica-se entre si os valores de todas as matrizes envolvidas na transformação
que será aplicada.
Após este processo cada vértice do objeto é multiplicado apenas pela
matriz resultante, denominada de matriz de transformação corrente (COHEN;
MANSSOUR, 2007).
21
2.10 Transformações Bidimensionais e Tridimensionais
Transformações bidimensionais e tridimensionais são geralmente
obtidas através do uso do sistema de coordenadas cartesiano. Para cada
transformação tem-se uma matriz específica. Ao multiplicar-se as matrizes por um
vetor de quatro dimensões (x, y, z, 1) tem-se o efeito de transformação.
As transformações geralmente não alteram a estrutura do desenho do
objeto, apenas alteram o modo e comportamento que ele irá assumir ao ser
redesenhado.
Pode-se efetuar três tipos de transformações básicas em duas ou três
dimensões: translação, escalonamento e rotação, afetando respectivamente, a
posição, tamanho e orientação do objeto sendo desenhado. Nota-se que a ordem
em que estas transformações são aplicadas alteram o efeito final da transformação
(COHEN; MANSSOUR, 2006).
2.10.1 Translação
Translação é definida pelo movimento que um objeto realiza de um
ponto de coordenada (x, y, z), para uma nova posição usando-se deslocamentos
(dx, dy, dz). As coordenadas do novo ponto são obtidas através da somatória
individual da coordenada antiga com seu respectivo deslocamento. A Figura 6
representa graficamente o movimento de translação.
Figura 6 Representação de um movimento de translação de três objetos
22
A equação de translação pode ser expressa em forma matricial, em
que os vértices (x, y, z) são multiplicados pela matriz da Figura 7 (GONZALEZ;
WOODS, 2008).
Figura 7 Matriz a ser multiplicada pelos vértices da imagem afim de se obter o efeito de translação
2.10.2 Escalonamento
Escalonar um objeto consiste no ato de alterar o seu tamanho original
multiplicando-se os vértices do objeto pela matriz de quatro dimensões da Figura 8
(GONZALEZ; WOODS, 2008).
Figura 8 Matriz a ser multiplicada pelos vértices da imagem afim de se obter o efeito de
escalonamento
A Figura 9 ilustra o escalonamento de um cubo sem preenchimento.
A =
B =
23
Figura 9 Escalonamento de um cubo
2.10.3 Rotação
Caracteriza o movimento rotatório de um objeto em torno de um eixo,
geralmente o seu próprio.
Dependendo da ordem em que são aplicadas as transformações, três
operações são necessárias para realizar a transformação de rotação em torno de
um outro ponto arbitrário no espaço: primeiro é necessário transladar o ponto
arbitrário para a origem, a segunda faz a transformação de rotação, e a terceira
translada o ponto de volta para sua posição original.
Se a transformação de rotação for aplicada antes da translação do
objeto do espaço de coordenadas local para o global, o objeto rotacionará em torno
do seu próprio eixo.
A Figura 9 representa a matriz para rotação de um ponto em torno do
eixo de coordenadas z com um ângulo qualquer.
Figura 9 Matriz a ser multiplicada pelos vértices da imagem afim de se obter o efeito de rotação em
torno do eixo de coordenadas z
C =
24
A Figura 10 representa a matriz para rotação de um ponto em torno do
eixo de coordenadas x de um ângulo qualquer.
Figura 10 Matriz a ser multiplicada pelos vértices da imagem afim de se obter o efeito de rotação em
torno do eixo de coordenadas x
A Figura 11 representa a matriz para rotação de um ponto em torno do
eixo de coordenadas y de um ângulo qualquer (GONZALEZ; WOODS, 2008).
Figura 11 Matriz a ser multiplicada pelos vértices da imagem afim de se obter o efeito de rotação em
torno do eixo de coordenadas y
2.11 Câmera Virtual
Consiste em utilizar uma projeção em um plano para visualização
D =
E =
25
em um objeto tridimensional.
O processo de projeção é utilizado na visualização de objetos
tridimensionais devido ao fato de dispositivos de exibição serem apenas
bidimensionais. Por esta razão é necessário transformar os objetos 3D em um plano
de projeção 2D (FOLEY et. al., 1993).
Existem três elementos básicos em uma câmera virtual: o centro de
projeção, que corresponde ao ponto onde o observador se encontraria para
visualizar a cena, a direção de observação, que é definida pelo vetor de visão e
indica para qual direção o observador estaria olhando, e a inclinação da câmera
(VELHO; GOMES, 1998).
É importante definir a posição e a orientação do observador, pois em
uma cena 3D, vista de diferentes lugares, existem diferentes coordenadas para cada
posição, alterando o que a imagem exibe.
2.12 Realismo
A visualização de cores no mundo real, somente é possível devido à
presença de luz no ambiente. Sem luz, um objeto qualquer, não seria visível devido
à incapacidade de refletir ou absorver raios de luz.
Então, é correto afirmar que iluminação é fortemente ligada à idéia de
realismo, pois é de acordo com a posição e intensidade de uma fonte de luz que um
objeto recebe diferentes tonalidades de cor sob sua superfície (COHEN;
MANSSOUR, 2006).
A preocupação com a remoção de faces ocultas é outro fator que
influencia o nível de realismo de uma cena.
Ao desenhar múltiplos objetos em uma cena 3D é natural ocorrer a
sobreposição de alguns destes. Portanto, é necessário definir qual objeto deve ser
desenhado á frente na cena e qual objeto, ou parte dele, deve ser removido do
campo de visão da cena.
2.12.1 Iluminação
Iluminação é um fenômeno físico resultante da exposição de uma fonte
de luz em um ambiente que pode absorver ou refletir luz, tornando-se visível.
26
Uma superfície qualquer é composta de um material com várias
propriedades. Dependendo destas propriedades tem-se diversos fenômenos
relacionados á luz: a superfície pode emitir luz, refletir parte da luz incidente em
todas as direções, ou refletir uma parte da luz incidente em uma única direção.
O efeito de iluminação é usado em computação gráfica para aumentar
o realismo de uma cena. Para isso são utilizadas uma ou mais fontes de luz e
escolhidos os modelos de reflexão e tonalização.
Em computação gráfica, a cor de uma fonte de luz é determinada de
acordo com o sistema de cor utilizado. Ao se usar o sistema de cor RGB, a cor da
luz é determinada pela quantidade de vermelho (R), verde (G) e azul (B) que ela
emite, e pela quantidade dos componentes R, G e B que a superfície reflete ou
absorve (COHEN; MANSSOUR, 2006).
2.12.2 Modelos de Iluminação
Os três modelos de iluminação mais utilizadas normalmente, são os
modelos de Lambert, Gourad e Phong, conforme mostra a Figura 12.
Onde o modelo descrito por Lambert é o mais simples, o de Gourad
seria o intermédio, pois oferece uma boa qualidade de imagem a baixo custo de
processamento e o de Phong que alcança a melhor qualidade visual, porém é a que
utiliza mais recursos computacionais.
Figura 12 Esferas utilizando os modelos de Lambert (Flat), Gourad e Phong, respectivamente
(COHEN, MANSOUR; 2006)
2.12.2.1 Modelo de Lambert
O modelo de iluminação de Lambert parte da suposição de que todos
os objetos refletem a mesma quantidade de luz em todas as direções.
27
A intensidade luminosa refletida em todas as direções de uma
superfície iluminada por este modelo varia de acordo com o cosseno dos ângulos
entre a direção da luz incidente e o vetor normal da superfície (COHEN;
MANSSOUR, 2006).
Segue a fórmula da lei de cosseno de Lambert:
Id = kd Ii cos(θ)
= kd Ii (N•L)
Onde kd é o componente de reflectância difusa do material,
dependente do comprimento de onda e N e L são vetores normalizados.
2.12.2.2 Modelo de Gourad
O modelo de Gourad é geralmente o mais utilizado em aplicações
gráficas, pois oferece uma qualidade visual melhor que a de Lambert e utiliza menos
recursos que o modelo de Phong.
O processo utilizado para iluminar objetos com este modelo é
denominado de interpolação de cores, que consiste em atribuir uma cor aos vértices
de um polígono e então replicar esta cor - utilizando aproximação do valor - no pixels
vizinhos e assim sucessivamente. Por este modelo utilizar uma aproximação do
valor, e não calcular precisamente o valor de cada pixel, acaba por ocorrer perca da
informação original. Porém o resultado final é considerado de boa qualidade
(COHEN; MANSSOUR, 2006).
2.12.2.3 Modelo de Phong
Dos três modelos apresentados, o modelo de Phong é o que apresenta
o melhor resultado visual, porém é o que utiliza mais recursos computacionais. Isto
se deve ao fato do modelo de Phong calcular a normal dos vértices do polígono e
então interpolar para determinar a normal em cada ponto da face do polígono
(1)
28
iluminado, obtendo-se assim uma representação visual mais fiel ao que se deseja
obter (COHEN; MANSSOUR, 2006).
2.12.3 Remoção de Faces Ocultas
O conceito de remoção de faces ocultas, parte da idéia de que em uma
cena, diversos objetos são presentes no mesmo espaço e tempo. Para manter o
realismo e sentido da cena, é necessário definir qual face de cada objeto deve ser
exibida e qual não. Dependendo da posição do observador podem ocorrer duas
situações:
Parte do objeto fica oculta por estar posicionada atrás de outras
faces no mesmo objeto (é chamada de face oculta);
O objeto fica inteiramente oculto por outros objetos.
Para economizar recursos computacionais, faces ocultas não são
desenhadas, pois não serão exibidas (COHEN; MANSSOUR, 2006).
2.13 Mapeamento de Textura (Texturização)
A texturização tem como objetivo simular materiais e texturas reais
sobre planos virtuais. Geralmente é utilizada aplicando-se uma imagem
bidimensional a uma determinada superfície no processo de desenho.
Em computação gráfica temos texturas unidimensionais,
bidimensionais e tridimensionais (COHEN; MANSSOUR, 2006).
2.13.1 Texturas Unidimensionais
É caracterizada como uma seqüência de cores ou intensidade em um
espaço linear de textura. Podem ser criadas em tons de cinza, com cores ou níveis
de transparência.
Em computação gráfica, o mapeamento de texturas unidimensionais é
dado pela associação de coordenadas de textura a cada vértice de uma
determinada superfície (COHEN; MANSSOUR, 2006).
29
2.13.2 Texturas Bidimensionais
Textura bidimensional é dada como uma imagem, e pode ser definida
de diversas formas. A maneira mais comum é a de se utilizar de uma imagem já
existente e aplicá-la a uma superfície de escolha.
O processo de mapeamento deste tipo de textura depende de duas
coordenadas denominadas de s e t. A coordenada de textura s recebe o valor 0.0
(zero) nos vértices da esquerda e o valor 1.0 (um) nos da direita, enquanto a
coordenada de textura t recebe o valor 0.0 nos vértices inferiores e o valor 1.0 (um)
nos vértices superiores. Desta maneira é possível identificar cada vértice da imagem
de forma única e aplicar corretamente a imagem ao objeto desejado (COHEN;
MANSSOUR, 2006).
2.14 OpenGL (Open Graphics Library)
A especificação OpenGL é gerenciada por um consórcio independente
formado em 1992, o ARB (Architeture Review Board). Este grupo, constituído por
diversas empresas líderes na área de computação gráfica (3Dlabs, Apple Computer,
NVIDIA, Sun) é responsável pela aprovação de novas funcionalidades, versões e
extensões OpenGL.
A OpenGL é caracterizada como uma biblioteca de rotinas gráficas e
de modelagem bidimensional e tridimensional, extremamente portável e rápida que
permite desenvolver aplicações interativas e cenas tridimensionais com um alto grau
de realismo para diversas plataformas.
Seu funcionamento se assemelha à de uma biblioteca da linguagem
de programação C, em que códigos extensos e complexos que atuam diretamente
no hardware são transformados em funções de fácil utilização.
O processo de geração de uma imagem em OpenGL é denominado de
pipeline. Conforme a Figura 13 mostra, quando uma aplicação faz chamadas a
funções da API (Application Programming Interface) OpenGL, os comandos são
armazenados em uma memória específica chamada de buffer de comandos.
Após ser totalmente preenchida, esta memória transmite as
informações para o próximo estágio do pipeline. No estágio de processamento, os
dados geométricos (vértices) e dados de imagens (pixels) são processados de
30
maneiras diferentes, porém após algumas etapas ambos passam pelo processo de
rasterization que consiste na conversão destes dados em fragmentos.
Estes dados, irão auxiliar na atualização dos pixels no frame buffer que
corresponde á memória do dispositivo gráfico (COHEN; MANSSOUR, 2006).
Figura 13 Versão simplificada pipeline OpenGL (COHEN; MANSSOUR, 2006)
2.14.1 Bibliotecas OpenGL
Através de comandos OpenGL é possível modelar e visualizar objetos
geométricos. Porém esses comandos são apresentados de forma primitiva e com
baixo nível de abstração.
Além disso, OpenGL não trabalha com funções para gerenciamento de
janelas, fazendo com que o programador tenha de trabalhar com o sistema de
janelas disponível no ambiente do sistema operacional, que pode ser bastante
complexo e trabalhoso.
Para facilitar estas tarefas foram desenvolvidas bibliotecas e toolkits
auxiliares, que fornecem um maior nível de abstração, trazendo a linguagem de
programação mais próxima da linguagem humana. Atualmente as mais utilizadas
são a GLU (OpenGL Utility Library) e GLUT (OpenGL Utility Toolkit).
A biblioteca GLU é mais utilizada nas tarefas de definição de matrizes
para projeção e orientação da visualização, as quais permitem o mapeamento de
31
coordenadas entre o espaço de tela e do objeto e o desenho de superfícies
quádricas e geométricas (COHEN; MANSSOUR, 2006).
O GLUT foi criado para facilitar o desenvolvimento de interfaces, como
a criação de janelas, menus popup e gerenciamento de eventos de mouse e teclado,
logo é mais utilizada em tarefas de interação com o usuário como interpretação de
comandos recebidos por dispositivos de entrada (COHEN; MANSSOUR, 2006).
Portanto, o uso dessas bibliotecas na programação com OpenGL se
torna uma ferramenta de grande valor ao programador, devido ao alto grau de
abstração proporcionado.
2.14.2 OpenGL como uma Máquina de Estados
Uma máquina de estados é definida como um dispositivo capaz de
salvar o estado de um ou mais elementos em um momento específico. Ao executar
um comando o estado da máquina é alternado gerando uma ação de saída.
A OpenGL é vista como uma máquina de estados devido à
possibilidade de colocá-la em diversos estados que permanecem inalterados até que
algum comando ou função altere-o.
Ao se atribuir uma cor corrente a um determinado objeto, a OpenGL irá
atribuir essa cor a todos os objetos seguintes até que seja chamado um novo
comando de atribuição de cor, que então passará a ser o novo estado corrente. Esta
propriedade vale para outras funções de desenho em OpenGL (COHEN;
MANSSOUR, 2006).
2.15 Buffers
Toda imagem antes de ser gerada por aplicações OpenGL, é mapeada
por um buffer. Um buffer em OpenGL corresponde a uma área da memória do
computador onde são armazenadas informações de pixels de uma imagem no
formato de matriz de valor. As matrizes de um buffer possuem o mesmo número de
linhas e colunas correspondentes à janela em que uma imagem será exibida. Ou
seja, um buffer armazena a posição de cada pixel de uma imagem em uma
linguagem que o computador é capaz de processar e realizar cálculos.
32
Apesar de Buffers geralmente serem iguais em termos de tamanho, os
tipos e valores dos dados são diferentes. A OpenGL possui diferentes tipos de
Buffers, cada qual com uma função específica, são eles: Color Buffer (buffer de cor),
Depth Buffer (buffer de profundidade), Stencil Buffer (buffer de estêncil) e
Accumulation Buffer (buffer de acumulação) (COHEN; MANSSOUR, 2006).
2.15.1 Color Buffer
O Color buffer é responsável por armazenar informações de cor de
cada pixel da imagem exibida. Todos os pixels em uma cena possuem um valor que
representa sua cor. Portanto, o Color buffer, deve ser capaz de armazenar
informações de cor RGB (sistema de cor padrão utilizado pela OpenGL) (COHEN;
MANSSOUR, 2006).
2.15.2 Depth Buffer
Depth buffer tem a finalidade de armazenar informações de
profundidade de pixels em relação ao observador. É sempre usado quando se
trabalha com remoção de faces ocultas, pois indica quais pixels estão desenhados
mais ao fundo da imagem e quais estão mais á frente.
A utilização deste buffer consiste em realizar testes de comparação de
profundidade, onde é verificado se a posição z (letra que corresponde á coordenada
de profundidade do pixel) de cada pixel é menor do que o valor armazenado no
buffer. Se o teste for verdadeiro, então é considerado que o pixel testado está mais
próximo do observador e deve ser desenhado na cena (COHEN; MANSSOUR,
2006).
É através das informações deste buffer que é possível realizar a
remoção de faces ocultas.
2.15.3 Stencil Buffer
Este buffer tem como função bloquear o desenho de certas regiões na
tela. É particularmente útil quando são utilizados menus ou informações que não
devem ser alteradas durante o desenho de uma cena.
33
O Stencil buffer é composto por uma matriz de valor preenchida por
números inteiros que serão testados para verificar se a região da janela deve ser
bloqueada ou não (COHEN; MANSSOUR, 2006).
2.15.4 Accumulation Buffer
Segundo COHEN e MANSSOUR (2006): "O accumulation buffer é
entendido como um buffer de cor com maior precisão, em que é possível combinar
várias imagens em uma só, de várias formas diferentes".
O accumulation buffer é utilizado para implementar efeitos especiais
em uma cena, como montion blur (efeito que embaça a imagem produzindo uma
impressão de movimento acelerado) ou Depth of field (efeito que atua no foco dos
objetos, dependendo da distância da lente, dando a impressão de profundidade)
(COHEN; MANSSOUR, 2006).
2.16 Entrada de Usuário
Um jogo eletrônico é um software interativo. Ele requer que o usuário
forneça comandos para poder prosseguir e executar ações que podem ser enviadas
por uma série de hardware diferentes, como o teclado ou o mouse.
No caso do OpenGL, quem gerencia os eventos de teclado e mouse,
são funções de Callback, ou seja, quem trata o evento de uma tecla de teclado
pressionada é a biblioteca GLUT e não o programador. Para isso é necessário
especificar no início do programa, qual a função Callback dentro da biblioteca GLUT
para cada tipo de evento de entrada tratado pelo jogo eletrônico (FOLEY et. al.,
1997).
2.17 Jogos na Educação Infantil
Segundo PIAGET (1968) os jogos não são apenas uma forma de
desafogo ou entretenimento para gastar energias das crianças, mas meios que
contribuem e enriquecem o desenvolvimento intelectual.
Observa-se no jogo um exercício em que a criança repete uma
determinada situação pelo prazer proporcionado pela atividade.
34
Ao aplicar este pensamento nos dias atuais, é natural pensar em jogos
eletrônicos, que podem ser modelados de várias maneiras para se adaptar às
necessidades individuais de cada criança.
Isto, somado às vantagens que os jogos trazem consigo: entusiasmo,
concentração, motivação, raciocínio lógico-matemático, coordenação motora viso-
manual, planejamento e organização, observa-se que jogos tornam-se valiosas
ferramentas de apoio ao ensino.
Ao jogar um jogo educativo, crianças se sentem mais motivadas a usar
a inteligência pois necessitam dela para passar de fase e obter sucesso na
brincadeira. Pelo fato do jogo ser utilizado como um método não-convencional de
educação, o processo de aprendizagem ganha um certo sentimento de liberdade,
em que crianças podem tentar e acertar ou errar sem pressão e avaliação constante
(RIEDER; BRANCHER, 2002).
Segundo pesquisa encomendada pelo governo britânico e realizada
pelo Economic and Social Research Council (Conselho de Pesquisas Sociais e
Econômicas – ESRC) constatou-se que os jogos computacionais vêm
proporcionando aos jovens britânicos um poder de concentração e coordenação
semelhantes a atletas de alto nível (MORAES D.; MORAES M., 2008).
Ao desenvolver um jogo eletrônico para auxiliar no processo de ensino-
aprendizagem, é importante levar em conta não somente o conteúdo, mas também a
forma como o jogo é apresentado, a utilização de cores e animações como atrativo
adicional (RIEDER; BRANCHER, 2002).
2.18 Dificuldades no Desenvolvimento de Jogos Educacionais
Ao se desenvolver jogos educacionais, o grande desafio encontrado
está no equilíbrio entre entretenimento e ensino. Durante o desenvolvimento deste
tipo de software, considera-se quase que impossível afirmar se a aplicação irá ou
não cumprir o seu propósito de educar, pois o conceito de educação é vasto e
individual. Segundo PERRY (2007):
Ressalta-se o fato de o debate sobre como apoiar o ensino e a aprendizagem vir sendo feito há bastante tempo e nos mais diversos fóruns nas áreas de Pedagogia e Psicologia. Dentro deste contexto, a idéia de literalmente transpor uma teoria pedagógica para o jogo a ser criado ainda parece uma promessa distante.
35
Porém, pode-se tomar como base idéias desenvolvidas antes do uso
ativo de computadores em diversas áreas da sociedade que já ressaltavam a
importância da busca por estratégias de apresentação de conteúdo, associados a
desafios interativos e orientações pedagógicas e formas de manter a atenção do
aluno através de recursos audiovisuais.
2.19 Ensino da Matemática Através de Jogos Eletrônicos
Apesar da comprovada importância da disciplina de matemática no
desenvolvimento de crianças, ao longo dos anos a sociedade vem cada vez mais
criando uma certa aversão a esta disciplina (SOUSA, 2008).
Na tentativa de mudar este cenário, métodos alternativos de ensino,
como jogos eletrônicos, se tornam uma opção viável.
Para o ensino de matemática, devem-se escolher jogos que estimulem
a resolução de problemas e que ao mesmo tempo divirtam o usuário.
Diversos requisitos necessários para o desenvolvimento do
aprendizado de matemática são facilmente inseridos em jogos eletrônicos, como a
coordenação visual, o raciocínio lógico e a memorização (RIEDER; BRANCHER,
2002).
2.20 Conclusão
Através da pesquisa bibliográfica realizada neste capítulo foi possível
adquirir uma base de conhecimento para ser utilizada no desenvolvimento do
software proposto por este trabalho.
Conceitos de transformação tridimensional e animação serão
importantes para fazer com que o meteoro se movimente e o planeta e seu escudo
sejam rotacionados ao redor de seus eixos.
Foi importante conhecer os conceitos técnicos de texturas, iluminação
e cores para que sejam corretamente aplicados no jogo Capitão Álgebra, com o
objetivo de aumentar o realismo da cena.
Também foi fundamental o conhecimento de teorias pedagógicas e
teses de estudiosos da área de educação infantil para que o conteúdo educacional
seja apresentado de forma adequada.
36
Assim como todos os outros conceitos apresentados neste capítulo,
que fundamentam o desenvolvimento do jogo Capitão Álgebra.
37
CAPITULO III
3 DESENVOLVIMENTO
Neste capítulo serão apresentados os materiais, os métodos técnicos
e pedagógicos utilizados durante o desenvolvimento do Capitão Álgebra:
Ferramenta De Apoio ao Ensino de Matemática Para o Quinto Ano do Ensino
Fundamental.
A primeira etapa consistiu-se em um levantamento de material
bibliográfico e artigos relacionados ao tema deste projeto, para que fosse possível
adquirir o conhecimento teórico para servir de base para o desenvolvimento do
software proposto.
Após esta fase foi iniciado o desenvolvimento do software, procurando
unir elementos gráficos 3D com temas educativos. Também foi desenvolvido uma
ferramenta auxiliar para cadastro de perguntas para o uso de professores.
Durante este capítulo estas etapas serão abordadas e melhor
discutidas para que o leitor tenha uma melhor compreensão de como foi realizado o
desenvolvimento deste projeto.
3.1 O Ambiente de Desenvolvimento
Foi utilizado o ambiente de desenvolvimento Microsoft Visual Studio
2008 Express Edition para o desenvolvimento do jogo interativo e da ferramenta
auxiliar para cadastro de perguntas.
Esta IDE (Integrated Development Environment, em português
Ambiente de Desenvolvimento Integrado) foi escolhida pela facilidade de uso e fácil
integração da linguagem C e das bibliotecas OpenGL, utilizadas no desenvolvimento
do jogo interativo e da linguagem C# utilizada no desenvolvimento da ferramenta
auxiliar.
3.2 As Linguagens de Programação
Para o desenvolvimento do jogo interativo, foram utilizadas as
linguagens C e as bibliotecas OpenGL, GLU, GLUT e outras bibliotecas auxiliares.
38
A linguagem de programação C é uma linguagem compilada e
estruturada de alto nível, utilizada para diversos fins. É uma linguagem
extremamente flexível que dá muita liberdade ao programador.
A principal ferramenta utilizada para o desenvolvimento deste projeto,
foi a biblioteca OpenGL. É uma biblioteca utilizada na computação gráfica que traz
consigo funções para fácil criação de polígonos tridimensionais, aplicação de
texturas e iluminação de ambientes.
As bibliotecas GLUT e GLU também foram essenciais, por tratar de
forma mais abstrata do que a OpenGL, a manipulação de janelas e outras funções
como entrada de comandos pelo usuário.
Também foram utilizadas outras bibliotecas auxiliares como a libjpeg
para carregamento de imagens no formato JPEG (Joint Photographic Experts
Group) para serem usadas como texturas.
Para o desenvolvimento da ferramenta auxiliar de cadastro de
perguntas foi utilizada a linguagem de programação C#, altamente difundida e
utilizada em sistemas para cadastro de informações.
3.3 Programando em OpenGL
A estrutura básica de um programa em OpenGL consiste em uma
função main onde devem ser chamadas todas as funções de Callback da GLUT.
Estas funções serão chamadas sempre que determinado evento ocorrer. Os eventos
de Callback geralmente são os seguintes: redesenho da cena, manipulação da
janela (criação, redimensionamento, posição e tamanho) e funções de entrada de
teclado e mouse.
Na função main também é iniciado o loop do OpenGL, que é executado
enquanto o programa estiver rodando (COHEN; MANSSOUR, 2007).
3.3.1 Callback de Redesenho de Cenas
A função de redesenho de cenas é chamada automaticamente pela
OpenGL sempre que o conteúdo da janela é alterado e necessita ser redesenhado.
É nesta função que são colocadas todas as funções de desenho e
criação de imagens (COHEN; MANSSOUR, 2007).
39
3.3.2 Callback de Manipulamento da Janela
Chamada sempre que o usuário altera o tamanho da janela para que a
OpenGL seja informada e possa alterar de forma correta sua área de desenho. Esta
função recebe como parâmetros os dados do novo tamanho da janela recém
alterada (COHEN; MANSSOUR, 2007).
3.3.3 Callback de Entrada de Teclado e Mouse
Estas funções são responsáveis pelo tratamento de teclas e comandos
do mouse enviados pelo usuário. Elas são chamadas sempre que um usuário
pressiona uma tecla ou pressiona uma tecla do mouse.
Sempre que uma tecla é pressionada, a OpenGL recebe três
parâmetros: a tecla que foi pressionada, e a posição x e y do mouse no momento
que a tecla foi pressionada.
Para tratamento de teclas especiais, como F1, F2, ESC, e setas do
teclado, é necessário a criação de uma função separada que recebe os valores de
teclas comuns (COHEN; MANSSOUR, 2007).
3.4 Desenhando o Ambiente do Jogo
A primeira etapa do desenvolvimento do jogo consistiu em determinar
as dimensões da janela de visualização, e o tipo de visualização: bidimensional ou
tridimensional.
Para este projeto foi escolhida a visualização tridimensional, que
determina um plano cartesiano de três eixos (x, y e z).
As dimensões escolhidas foram a de 1024 de altura por 768 de
comprimento. Estas medidas foram escolhidas para melhor visualização em
monitores menores.
Após esta etapa, é determinada a cor de fundo da cena na função
Callback de redesenho. Para este projeto foi adotado o sistema de cor RGB.
40
3.5 Desenho de Primitivas Gráficas
O desenho de primitivas gráficas em OpenGL é dados através de uma
lista de vértices entre duas chamadas de funções OpenGL. As funções variam de
acordo com a primitiva que se deseja desenhar (linha, ponto, segmentos de linha,
polígonos convexos, triângulos ou quadriláteros).
O fundo da cena de Capitão Álgebra exibido na Figura 14 foi
desenhado através da chamada de função de desenho de pontos e então, através
de uma estrutura de repetição, foi passado as coordenadas dos pontos a serem
desenhados.
Figura 14 Fundo da cena do jogo Capitão Álgebra
3.6 Desenho de Figuras Geométricas
A biblioteca GLUT possui funções pré-definidas para desenho de
figuras geométricas, facilitando o desenho de figuras mais complexas como esferas,
41
cubos, e outros desenhos geométricos.
Estas funções possuem dois modos de desenho: sólido e "vazado". O
modo sólido preenche toda a imagem com uma cor. O modo "vazado" exibe apenas
o "esqueleto" da figura, ou seja, apenas as primitivas utilizadas. Assim, para se
desenhar uma esfera sólida no centro da cena, basta realizar uma chamada à
função GLUTSolidSphere e indicar ao processador gráfico o raio da esfera e a
quantidade de camadas que o objeto terá (quanto maior o número de camadas,
melhor a qualidade da imagem) (COHEN; MANSSOUR, 2007).
A Figura 15 ilustra os dois modos de desenho de uma esfera em
OpenGL.
Figura 15 Exemplo de um desenho de uma esfera sólida (á esquerda) e um esfera "vazada" (á
direita)
3.7 Colorindo o Ambiente
O uso de cores em OpenGL ocorre através da chamada à função
42
glColor, passando-se a quantidade de cor que será aplicada em cada canal do
sistema RGB.
Pelo fato da OpenGL ser um máquina de estados, ao se fazer uma
chamada a esta função no início do código-fonte, todos os demais objetos
desenhados após este ponto serão desenhados na cor especificada pela função.
Para que isto não ocorra é necessário utilizar o conceito de pilha,
estudado em estrutura de dados em programação. Ou seja, quando se deseja
aplicar uma transformação a uma figura é necessário empilhar uma matriz de
transformação antes dos comandos de edição. Após a execução de todos os
comandos deve-se desempilhar a matriz, para que as transformações sejam
aplicadas somente nos objetos desejados.
3.8 Animação de Figuras Geométricas
O efeito de animação em OpenGL ocorre através do uso das
transformações tridimensionais. Assim como na aplicação de cores as funções de
transformação também devem estar entre o empilhamento e desempilhamento de
uma matriz de transformação.
Existem três tipos básicos de transformação em OpenGL, como visto
anteriormente. São elas: translação, escalonamento e rotação.
A transformação de translação corresponde ao deslocamento de um
objeto do ponto X para o ponto Y. É dada pela função glTranslate que recebe como
parâmetros as coordenadas de deslocamento x, y e z.
A transformação de escalonamento consiste em alterar o tamanho de
um objeto, aumentando-o ou diminuindo. É dada pela função glScale que recebe
como parâmetro a proporção de tamanho que deve ser alterada em cada
coordenada (x, y e z).
A transformação de rotação consiste em rotacionar um objeto em torno
de um de seus eixos. É dada pela função glRotate e recebe como parâmetro as
coordenadas de rotação (x, y e z) para cada eixo do objeto e o angulo que deve ser
realizada a rotação.
Em OpenGL, a ordem em que estas transformações são executadas
altera o resultado final. Ou seja, rotacionar um objeto e então transladá-lo é diferente
do processo inverso.
43
No jogo Capitão Álgebra, foi aplicado a transformação de rotação em
todas as figuras geométricas e a de translação no meteoro. Também foi aplicado a
transformação de escalonamento no escudo protetor do planeta como mostra a
Figura 16, para dar a impressão de que o escudo surge pequeno e aumenta de
tamanho gradativamente.
Figura 16 Planeta com o escudo protetor ativado
3.9 Seleção de Objetos
A seleção de objetos é um dos principais métodos de interação com os
usuários em um jogo de computador. Uma má execução deste item pode
comprometer todo o funcionamento do jogo.
Em OpenGL, a seleção de objetos é obtida ao informar o processador
gráfico que o jogo encontra-se em modo de seleção. Geralmente isto é tratado no
clique do mouse.
Ao receber esta informação o processador passa a computar a
localização e as coordenadas espaciais dos objetos que estavam dentro da janela
44
de visualização. Então, compara-se as coordenadas dos objetos da cena com a
coordenada do mouse no momento em que o modo de seleção foi ativado,
determinando-se assim sobre qual objeto o mouse estava quando o evento foi
ativado.
Esta técnica foi utilizada no jogo Capitão Álgebra para determinar
quando o usuário está com o mouse sobre o meteoro e realiza um clique, para que
sejam desencadeados os eventos seguintes, dando continuidade ao jogo.
3.10 Detecção de Colisão
Ao acertar ou errar as questões de matemática, o meteoro seguirá em
direção ao planeta. Caso o usuário tenha acertado a questão, o escudo protetor será
desenhado na cena e o meteoro irá colidir com o escudo antes de entrar em contato
com o planeta, conforme ilustra a Figura 18. Caso o usuário erre a questão
sucessivamente, o escudo não será desenhado e o meteoro irá colidir com o
planeta. Nestes casos, é necessário utilizar a técnica de detecção de colisão de
objetos.
No jogo Capitão Álgebra, isto foi feito ao se comparar a posição do
meteoro em relação ao raio do planeta ou do escudo a cada redesenhamento da
cena. O jogo determina com qual esfera ele deve fazer a comparação com base no
acerto ou erro das questões.
Caso a posição do meteoro seja menor que o espaço em que o raio do
planeta ou escudo, é detectado uma colisão e os eventos seguintes do jogo são
desencadeados. A Figura 17 ilustra a distância dos raios das esferas.
Figura 17 Ilustração da fórmula matemática necessária para determinar a colisão de duas esferas
45
Figura 18 Momento da detecção de colisão do meteoro com o escudo
3.11 Técnicas de Realismo
Um dos objetivos do jogo desenvolvido era chamar a atenção do
usuário que o estivesse utilizando. Para tanto, foram aplicadas técnicas de realismo
como iluminação e texturização.
No jogo Capitão Álgebra foi adotado o modelo de iluminação de
Gouraud, por obter-se um melhor resultado com iluminação em figuras com
superfícies curvas e não consumir muito processamento do computador.
Para aumentar o realismo e diversificar a cena, foi aplicado
texturização na esfera central e no meteoro, conforme mostra a Figura 19. Para isso
foi utilizada uma técnica de texturização chamada de Cube Mapping. Esta técnica
consiste em projetar seis imagens em um objeto sólido, formando a textura.
Para o carregamento das imagens de textura foi utilizada uma
biblioteca auxiliar denominada de libjpeg, utilizada para carregar imagens no formato
JPEG e transformá-las em texturas.
46
Figura 19 Duas figuras geométricas com texturas aplicadas
3.12 Itens de Informação ao Usuário
Foram criados itens para fornecer informações úteis ao usuário. No
canto superior direito da tela foi incluída uma pontuação, que corresponde á
quantidade de questões que o usuário acertou até o momento, mais um bônus de
pontuação para quando o usuário passa de fase.
Também foi criado um contador de "vidas" que começa com quatro
"vidas", e vai diminuindo conforme o meteoro colide com o planeta sem o escudo
ativo. Nesse momento o escudo também altera da cor verde para a amarela, e caso
perca mais uma vida a cor é alterada para vermelho, com o objetivo de chamar a
atenção do jogador para a perda das vidas.
No canto superior esquerdo, são exibidas as perguntas de matemática
que o usuário deve responder para ativar o escudo protetor e as teclas que são
pressionadas no teclado.
Quando o usuário acerta ou erra uma questão é exibida a mensagem
"Correto!" ou "Tente Novamente!!!", também no canto superior esquerdo da cena.
47
A Figura 20 mostra o jogo Capitão Álgebra com todos os itens de
informação sendo exibidos.
Figura 20 Imagem do jogo Capitão Álgebra
3.13 Cadastro de Perguntas
Para auxiliar o professor a determinar o conteúdo que será
apresentado durante o jogo Capitão Álgebra, foi desenvolvido uma ferramenta
auxiliar para cadastro de perguntas, conforme mostra a Figura 21.
Nela o professor poderá cadastrar diversas perguntas e então
selecionar apenas as que deseja que apareçam durante o jogo.
Esta ferramenta foi desenvolvida devido ao fato de que normalmente
no aprendizado de operações básicas de matemática, são ensinadas um operação
de cada vez.
48
Assim com o uso desta ferramenta o professor poderá utilizar o jogo
para auxiliar na fixação de operações de acordo com o seu plano de ensino.
Figura 21 Ferramenta auxiliar de uso de professores para cadastro de perguntas
Observa-se que o cadastro da dificuldade na questão é somente para
melhor organização. Durante o jogo as questões são selecionadas aleatoriamente,
independente da dificuldade.
3.14 Fases, Pontuação e Objetivo Final
O jogo Capitão Álgebra consiste em três fases, sendo a última
terminada apenas quando o jogador esgotar suas vidas. Durante as fases o jogador
soma um ponto para cada questão correta. Ao passar de fase o jogador ganha 5
49
pontos de bônus.
A cada nova fase, a velocidade do meteoro aumenta, diminuindo assim
o tempo que o jogador tem para responder as questões, o que consequentemente,
aumenta a dificuldade do jogo.
Ao perder todas as vidas o jogo termina e baseado na pontuação do
jogador é apresentado uma tela para entrada no ranking dos dez maiores
pontuadores, conforme mostra a Figura 22.
Desta forma, o jogador é incentivado a voltar a jogar para que, caso
não seja o primeiro do ranking, possa continuar pontuando e subir de posição.
Figura 22 Tela para preenchimento do nome para cadastro no ranking (esquerda); ranking dos dez
maiores pontuadores do jogo Capitão Álgebra (direita)
3.15 Capitão Álgebra e Educação
Como já mencionado na introdução desta monografia, a intenção do
jogo Capitão Álgebra não é ensinar a criança operações de matemática, mas sim
auxiliar no processo.
Para isso, foi criado um jogo que o professor possa utilizar em sala de
aula para reforçar a fixação do conteúdo e aplicar exercícios para prática de
operações básicas de matemática.
As operações básicas de matemática podem ser inseridas da forma
que o professor desejar, podendo ser somas, multiplicações, divisões ou uma
50
equação que use os três tipos citados.
No jogo Capitão Álgebra, o objetivo é somar pontos. Para conseguir os
pontos e avançar pelas fases, é necessário realizar cálculos matemáticos e
responder corretamente as perguntas.
Assim, de acordo com os resultados obtidos, a criança se sentirá
incentivada a estudar, para que ela conseguisse progredir pelas fases do jogo.
Além do incentivo ao estudo, a criança poderá desenvolver diversas
outras habilidades importantes, como o exercício da criatividade (o jogo é
ambientado em um universo distinto da realidade, dando liberdade á criança para
imaginar diversas possibilidades e aventuras) e assimilação de regras que são
impostas durante o jogo (como por exemplo, para ganhar pontos é necessário
estudar e acertar as perguntas apresentadas) – características que são valiosas no
desenvolvimento da criança - de acordo com Vigostki (VIGOSTKI, 1999).
Também foi dada atenção no visual do jogo. Procurou-se animar os
objetos contidos na cena e colori-los de forma diversificada com o objetivo de
chamar a atenção da criança que estiver jogando.
51
CAPITULO IV
4 RESULTADOS E DISCUSSÃO
Para verificar a eficiência do jogo e ferramenta auxiliar desenvolvida, foi
feita uma visita a uma escola de ensino fundamental, para que os alunos do quinto
ano pudessem testar o jogo, e a professora pudesse avaliar a usabilidade do
software em sala de aula. O jogo foi avaliado por vinte e dois alunos e pela
professora da classe.
Foram elaborados dois tipos de questionários para tal tarefa. Um
questionário para os alunos responderem, com questões que avaliam os gráficos do
jogo, a jogabilidade e o grau de diversão (Ver no apêndice A).
Também foram apresentadas questões que procuraram avaliar se o
uso do jogo ajudaria o aluno a desenvolver suas habilidades matemáticas e se o
incentivaria a estudar mais, fora do ambiente escolar (Ver no apêndice A).
O questionário para os alunos consistiu em dez questões onde o aluno
deveria assinalar uma resposta de acordo com a questão e então justificar
brevemente o porque da escolha.
O questionário para o professor foi desenvolvido com o objetivo de
obter a opinião do professor em relação ao uso do jogo Capitão Álgebra na sala de
aula como ferramenta de apoio ao ensino (Ver no apêndice A).
Foram apresentadas questões sobre o comportamento dos alunos em
sala de aula durante o uso do jogo, a utilidade da ferramenta auxiliar de cadastro de
perguntas, se a faixa etária proposta por este projeto era adequada e se a utilização
do jogo era realmente viável em uma sala de aula.
4.1 Análise dos Resultados
O Gráfico 1 representa o levantamento das repostas dadas pelos
alunos para a primeira questão, que avalia a qualidade visual do jogo.
Pode-se observar que obteve-se um alto grau de aceitação por parte
dos alunos em relação aos gráficos do jogo.
As justificativas dadas pelos alunos que responderam que os gráficos
52
estavam "ótimos", foram atribuídas á criatividade, originalidade e interatividade do
jogo.
Gráfico 1 Representação gráfica das respostas dadas pelos alunos á questão número um
Abaixo (Gráfico 2) temos a representação gráfica das respostas dadas
para a segunda questão do questionário. Esta questão avalia se as crianças
consideraram o jogo divertido ou não.
Como pode-se observar, obteve-se cem por cento de aceitação neste
quesito.
Gráfico 2 Representação gráfica das respostas dadas pelos alunos á questão número dois
A maioria das justificativas dadas pelos alunos a esta questão foi de
53
que o jogo é divertido por envolver a matéria de matemática. Apenas um dos
alunos respondeu que o jogo era divertido por poder defender o planeta dos
meteoros.
Observa-se que a escolha da matéria de matemática foi um fator
importante para o nível de aceitação do jogo pelos alunos.
A terceira questão do questionário procurou avaliar se os alunos
gostariam de jogar o jogo fora do ambiente escolar, levando o hábito de se divertir
aprendendo para dentro de casa também.
Gráfico 3 Representação gráfica das respostas dadas pelos alunos á questão número três
Como pode-se observar pelo Gráfico 3 apenas dez por cento (dois
alunos) responderam que não jogariam o jogo Capitão Álgebra fora da escola. A
maioria dos alunos justificaram que jogariam o jogo fora da escola pelo fato de ser
um jogo divertido.
Dos alunos que responderam que não jogariam o jogo Capitão Álgebra
fora da escola, apenas um justificou que não jogaria por ser um jogo educativo.
As próximas três questões procuraram obter a opinião dos alunos em
relação á eficácia do jogo em relação ao auxílio no processo de ensino-
aprendizagem através do uso do jogo Capitão Álgebra.
Duas das questões obtiverem cem por cento de respostas positivas e
apenas uma questão obteve uma resposta negativa.
Abaixo os Gráficos 4, 5 e 6 ilustram as respostas dos alunos.
54
Gráfico 4 Representação gráfica das respostas dadas pelos alunos á questão número quatro
Gráfico 5 Representação gráfica das respostas dadas pelos alunos á questão número cinco
Gráfico 6 Representação gráfica das respostas dadas pelos alunos á questão número seis
Os alunos justificaram as respostas afirmando que o jogo ajudaria no
processo de aprendizagem devido a terem de fazer as operações mentalmente e de
55
forma rápida, apesar de serem incentivados a usar lápis e papel para resolução das
questões também.
Um aluno justificou que o jogo ajudaria no processo de aprendizagem
por não precisar de estudar mais e não ter de fazer anotações em seu livro.
A próxima questão procurou avaliar a usabilidade do jogo. Esta foi uma
preocupação durante o seu desenvolvimento, por ser comum encontrar crianças
com pouca coordenação com o uso do mouse em computadores.
Porém, durante a demonstração do jogo com as crianças, observou-se
que poucas tiveram qualquer tipo de dificuldade ao utilizar o jogo, como mostra o
Gráfico 7.
Apenas duas crianças consideraram o jogo difícil de ser utilizado,
porém não comentaram qual foi a dificuldade encontrada.
Gráfico 7 Representação gráfica das respostas dadas pelos alunos á questão número sete
A oitava questão, também relacionada á opinião dos alunos em relação
á eficácia do uso do jogo Capitão Álgebra e o auxílio ao processo de ensino-
aprendizagem, teve como objetivo verificar se o aluno se sentiu mais incentivado a
estudar matemática após jogar Capitão Álgebra.
Incentivar os alunos a estudar foi um dos principais objetivos almejados
durante o desenvolvimento de Capitão Álgebra. Ao analisar o Gráfico 8, pode-se
concluir que, inicialmente, o jogo obteve sucesso neste quesito.
56
Gráfico 8 Representação gráfica das respostas dadas pelos alunos á questão número oito
A nona questão teve como objetivo avaliar a eficácia do ranking como
final para o jogo Capitão Álgebra e incentivar o aluno a se dedicar e ficar em
primeiro lugar.
Ao analisar o Gráfico 9 e justificativas dadas pelas crianças percebeu-
se que com o ranking as crianças se sentem mais incentivadas a alcançar uma
melhor colocação e consequentemente acertar mais questões.
Gráfico 9 Representação gráfica das respostas dadas pelos alunos á questão número nove
Na décima e última questão foi aberto um espaço para os alunos
darem sugestões para o jogo. Muitas sugestões foram realmente interessantes
demonstrando criatividade nas crianças de hoje em dia. Foram apresentadas
sugestões como criar um sistema solar ao invés de somente um planeta, assim
relacionando o tema da matéria de ciências com a matemática apresentada no jogo.
Outra sugestão interessante foi a do jogo alterar o planeta a ser defendido a cada
fase, diversificando o visual ainda mais.
57
Observando-se os gráficos apresentados neste capítulo observa-se
que na totalidade das questões respondidas, noventa e cinco por cento das
respostas foram positivas em relação ao jogo.
Baseando-se nas justificativas dos alunos e nos gráficos apresentados,
um quesito importante favorável á aceitação do jogo foi o uso da criatividade e
competitividade.
Não somente os alunos demonstraram aceitar o uso de jogo como
ferramenta de auxílio ao estudo, mas a professora da classe também obteve a
mesma reação, chegando a afirmar que utilizaria o jogo em seu plano de ensino,
conforme o questionário respondido por ela.
Também elogiou o formulário para cadastro de perguntas, afirmando
que seria possível inserir as perguntas necessárias para aprendizado dos alunos, e
a presença do ranking final, destacando a importância da competitividade no
desenvolvimento dos alunos.
Quando questionado se a faixa etária escolhida neste trabalho era
adequada, a professora respondeu que estava correta, porém ressaltou que o jogo
também poderia ser usado por crianças mais novas.
58
CAPÍTULO V
5 CONCLUSÃO
Durante o desenvolvimento do jogo, foram aplicadas diversas técnicas
de computação gráfica, que apesar de não serem as mais avançadas e atuais,
demonstraram ser suficientes e eficientes para a produção de um jogo tridimensional
com visuais atraentes e uma jogabilidade divertida, na opinião dos alunos que
testaram o jogo.
Durante a aplicação do jogo na sala de aula, o entusiasmo e
empolgação dos alunos foram nítidos.
Baseando-se nos questionários respondidos, em que se obteve
noventa e cinco por cento de respostas positivas, e ao questionário da professora
que afirmou que utilizaria o jogo em seu plano de ensino, conclui-se que seu uso é
uma alternativa viável ao auxílio do ensino de matemática a crianças do quinto ano
do ensino fundamental.
Também pode-se concluir que o uso de técnicas de computação
gráfica aplicadas ao ensino, obteve um alto nível de aceitação nas crianças.
Porém, também se tornou evidente que é necessário ter cuidado ao
desenvolver um jogo deste gênero, sempre procurando manter um equilíbrio entre
os níveis de educação e diversão.
Observou-se também, que a presença de pontuação e um ranking de
maiores pontuadores serviu de incentivo aos alunos para continuarem jogando e
melhorar cada vez mais o seu desempenho.
Ao analisar as respostas dadas pelos alunos, pode-se concluir que o
jogo obteve sucesso dentro do escopo apresentado neste projeto.
5.1 Trabalhos Futuros
Para trabalhos futuros, recomenda-se utilizar uma das sugestões
dadas pelos alunos que testaram o jogo Capitão Álgebra: aumentar a diversidade de
planetas no jogo, analisando a possibilidade de incluir o sistema solar inteiro, e
misturando conteúdos da matéria de ciências entre outras.
59
APÊNDICE A – Questionário elaborado para avaliação do jogo (respondido
pelos alunos)
Capitão Álgebra – Ferramenta De Apoio Ao Ensino De Matemática
Para O Quinto Ano Do Ensino Fundamental
Questionário – Para os alunos
1 – O que você achou dos gráficos do jogo?
a) Ótimo
b) Bom
c) Regular
d) Ruim
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
2 – Você achou o jogo divertido?
a) Sim
b) Não
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
3 – Você jogaria este jogo fora do ambiente escolar?
a) Sim
b) Não
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
60
4 – Você acha que jogando Capitão Álgebra ajudará você a melhorar suas notas na
matéria de matemática?
a) Sim
b) Não
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
5 – Ajudaria a resolver contas matemáticas de forma mais eficiente e rápida?
a) Sim
b) Não
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
6 – Você gostaria que este jogo fosse usado como auxílio às aulas de matemática
em sua escola?
a) Sim
b) Não
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
7 – Você achou o jogo fácil de ser utilizado?
a) Sim
b) Não
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
8 – Você se sente incentivado a estudar matemática para melhorar seu desempenho
no jogo Capitão Álgebra?
a) Sim
b) Não
61
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
9 – A presença do Ranking de maiores pontuadores o incentivou a melhorar o seu
desempenho no jogo?
a) Sim
b) Não
Justifique:___________________________________________________________
___________________________________________________________________
___________________________________________________________________
10 – Você tem alguma sugestão para melhorar o jogo apresentado?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
62
APÊNDICE B – Questionário elaborado para avaliação do jogo (respondido
pela professora)
Capitão Álgebra – Ferramenta De Apoio Ao Ensino De Matemática
Para O Quinto Ano Do Ensino Fundamental
Questionário – Para o professor
1 – O que você achou do uso de jogos em sala de aula?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
2 – O que você achou do comportamento dos alunos durante o uso do jogo?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
3 – O jogo o ajudaria a passar a matéria para os alunos no dia-a-dia?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
4 – O que você achou do módulo de cadastro de perguntas?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
63
5 – Você utilizaria o jogo no seu plano de ensino?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
6 – A faixa etária escolhida para o uso do jogo foi adequada?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
7 – O que você achou da apresentação do jogo?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
8 – O que você achou da idéia do ranking final? Acredita que irá incentivar as
crianças?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
64
REFERENCIAS BIBLIOGRÁFICAS
COHEN, Marcelo; MANSSOUR, Isabel Harb. OpenGL: Uma Abordagem Prática e
Objetiva. São Paulo: Novatec, 2006.
DULLIUS, Maria Madalena; QUARTIERI, Marli Teresinha. Recursos
computacionais nas aulas de matemática. In: ENCONTRO NACIONAL DE
EDUCAÇÃO MATEMÁTICA, 9., 2007, Belo Horizonte/MG. Disponível em
<http://www.sbem.com.br/files/ix_enem/Comunicacao_Cientifica/Trabalhos/
CC61963445015T.rtf>. Acesso em: 16 jun. 2010.
FOLEY, James D. et al. Introduction to computer Graphics. Reading: Addison-
wesley Publishing, 1994.
GOMES, Jonas; VELHO, Luiz. Computação gráfica. Rio De Janeiro: Impa/sbm,
1994.
GONZALES, Rafael E.; WOODS, Richard E. Processamento de imagens digitais.
São Paulo: E. Blücher, 2003.
LENGYEL, Eric. Mathematics for 3D Game Programming and Computer
Graphics: Second Edition. Massachusetts: Charles River Media Inc, 2004.
MORAES, Diego Balbino S.; MORAES, Marcela Balbino S., et al. GeoplanoPEC:
Um Jogo Inteligente Para o Ensino de Geometria Plana. In: Proc. International
Conference on Engineering and Technology Education (Intertech 2008). Santos,
Brazil. p. 559-563.
PEDRINI, Hélio; SCHWARTZ, William Robson. Análise de imagens digitais. São
Paulo: Thomson, 2008.
65
PERRY, G. T. 2007. Necessidades específicas do desing de jogos
educacionais. SBGames2007, 7-9 de Novembro de 2007, São Leopoldo/RS:
Sociedade Brasileira de Computação, CD-ROM.
PIAGET, Jean; INHELDER, Bärbel. A Psicologia da Criança. Trad. Octavio M.
Cajado. São Paulo: Difel, 1968.
RIEDER, Rafael; BRANCHER, Jacques Duílio. Development of a micro world for
the education of the Fundamental Mathematics, using OpenGL and Delphi. In:
INFOUYCLEI, 2002, Montevideo. Dísponivel em:
<http://www.fing.edu.uy/inco/eventos/infouyclei2002/ciesc/articulos/resumenes/
A038.html >. Acesso em: 17 jun. 2010.
SOUSA, Pedro Miguel Lopes de. O Ensino da Matemática: Contributos
Pedagógicos de Piaget e Vygotsky. Artigo científico. Disponível em:
<http://www.psicologia.com.pt/artigos/textos/A0258.>
Acesso em: 31 out. 2010.
VIGOSTKI, L. S. Pensamento e linguagem. São Paulo: Martins Fontes, 1999.