• Nenhum resultado encontrado

Visual Aid for Computer Graphics Lectures - VAGaL

N/A
N/A
Protected

Academic year: 2021

Share "Visual Aid for Computer Graphics Lectures - VAGaL"

Copied!
6
0
0

Texto

(1)

V

isual

A

id for Computer

G

r

a

phics

L

ectures -

VAGaL

Marcos Labriola e Reginaldo do Prado

Instituto de Matemática e Estatística – IME/USP {ml,rprado}@ime.usp.br

Resumo. Durante aulas de Computação Gráfica (CG), com freqüência, o

professor precisa fazer desenhos que levem seu aluno à compreensão dos conceitos em estudo. É necessário fazer um desenho cuidadoso, pois uma ilustração ruim pode ser inócua ou, até mesmo, dificultar a compreensão do aluno. Notemos ainda que conceitos básicos tratados em aulas de CG como rotações, translações e reflexões têm uma representação difícil na lousa justamente por ser esta um plano estático, e quando se trata de estudar conceitos que se apliquem ao espaço cartesiano as dificuldades só aumentam. A proposta deste projeto é criar um framework para desenvolvimento de mini-aplicativos educacionais que sirvam como ferramenta de apoio às atividades do professor de CG. A partir deste framework será desenvolvido um conjunto inicial de applets que têm por finalidade cobrir os tópicos principais tratados na disciplina MAC 5744 – Introdução à Computação Gráfica. Espera-se, com a execução deste projeto, produzir ferramentas que simplifiquem o trabalho do professor e, ao mesmo tempo facilitem a compreensão dos alunos sobre conceitos básicos de CG. Para que estes objetivos sejam atingidos, adotaremos procedimentos simples: levantamento de requisitos e criação da versão inicial do framework, uso do mesmo para produção dos primeiros aplicativos e verificação dos resultados levando a possíveis correções ao framework, reiniciando o ciclo de desenvolvimento.

1. Introdução

Atualmente as pessoas têm feito uso generalizado do computador e uma das áreas mais beneficiadas com a diversidade das aplicações computacionais é a Educação. Inúmeras foram as tecnologias propostas para servir como coadjuvantes do processo de ensino/aprendizagem e, dentre elas, nos interessa tratar dos applets ou mini-aplicativos.

1.2 Mini aplicativo (Applet)

Podemos definir applets como programas escritos em linguagem de programação Java e que necessitam de um navegador de páginas Web para serem executados. Na prática, um applet é parte integrante da página, como uma imagem ou um hyperlink, que ocupa uma área retangular da tela do usuário onde podem ser feitos desenhos diversos além de exibir controles que possibilitem ao applet responder a eventos do teclado e do mouse. Na verdade, com pequenas adaptações, um applet também pode ser executado fora do navegador em uma forma chamada de super-applet, que ocorre quando o applet é

(2)

escrito levando-se em consideração a necessidade de execução, tanto na Web quanto como aplicativo local. (Niemeyer e Knudsen, 2000)

Para os propósitos deste projeto, esta última forma é a mais adequada, pois permitirá que os programas criados sejam usados localmente pelo professor, na sala de aula, por exemplo, ou publicados em uma página da Internet e visualizados pelos alunos ou por qualquer pessoa que tenha acesso à Web.

Quanto ao conteúdo visual, não existem limites práticos sobre o que se pode desenhar em um applet; a limitação está associada ao conhecimento e à criatividade de quem desenvolve; as opções de uso de controles e níveis de interação também são inúmeras. Por este motivo, consideramos necessária a padronização no desenvolvimento dos aplicativos propostos neste projeto e decidiu-se criar um framework que oriente o trabalho de criação dos aplicativos em série.

1.3 Framework

Os applets resultantes deste projeto terão várias características em comum e, por esse motivo, seria interessante encapsular estas características em uma estrutura que pudesse garantir não apenas a consistência desde as implementações iniciais, mas também garantir que, em momento futuro, outros desenvolvedores possam dar continuidade a este trabalho.

Assim, foi feito um breve levantamento sobre quais seriam as características de interesse para este projeto e que deveriam ser incorporadas ao framework de desenvolvimento. Chegou-se à conclusão de que cada applet precisa ter, minimamente:

• Uma área de desenho que disponha de uma representação do plano (ou espaço) cartesiano. Tal área de desenho deve ser altamente flexível e permitir configurações para alternar entre exibir ou não elementos como: grade sobre o plano, eixos coordenados e valores (rótulos) nos eixos coordenados. Além disso, devem estar disponíveis operações como deslocamento do plano, rotação do espaço, zooming, configuração de cores dos elementos gráficos, espessura das linhas, possibilidade de execução em modo tela cheia e outras que poderão ser definidas em função de necessidades que porventura venham a surgir durante o desenvolvimento.

• Um painel de controle genérico que permita a interação do usuário com o desenho e as características visuais da representação do plano.

Um menu que permita ao usuário fazer alterações no contexto do applet como, por exemplo, configurações sobre o modo de execução ou exibição.

Uma documentação que oriente o desenvolvedor usar o framework VAGaL sobre as premissas do projeto e sobre os passos básicos para a criação de novas aplicações.

1.4 Questões Pedagógicas

Estando bem estabelecidos os procedimentos técnicos, importa definir uma estratégia que leve à produção de aplicativos com boa qualidade pedagógica. Assim, os applets criados em decorrência da execução deste projeto seguirão alguns princípios, descritos

(3)

abaixo, adaptados de uma experiência educacional com o uso de applets chamada PhET (Physics Education Technology Project) realizada na Universidade do Colorado. (PhET, 2010) São eles:

a) Definir metas específicas de ensino/aprendizagem para cada aplicativo. b) Criar aplicações que encorajem/induzam os estudantes a raciocinar.

c) Produzir visualizações que façam conexão com experiências do mundo real. d) Desenvolver aplicativos que permitam uma análise exploratória.

1.5 Tópicos que se pretende cobrir

As premissas estabelecidas em 1.4 servirão para nortear as ações de desenvolvimento, bem como para restringir os tópicos que deverão ser cobertos na primeira fase do projeto. Outro importante restritor é o tempo disponível para a execução do projeto que acabará por limitar a quantidade de applets produzidos.

Em função destas observações, optou-se por cobrir os tópicos mais básicos da disciplina, aqueles que são tratados em todo curso de CG. São eles:

• Movimentos rígidos do plano

• Coordenadas

• Cores e luz

• Câmera virtual

Tópicos mais avançados poderão ser tratados em momento futuro, visto que o

framework estará pronto, bem estabelecido e haverá várias implementações para serem

usadas como exemplo.

2. Relações com Trabalhos Anteriores

A proposta que apresentamos neste trabalho baseia-se na observação dos proponentes sobre a inexistência de uma ferramenta que seja construída para apoiar o ensino de CG tópico a tópico, mais especificamente, na visualização dos conceitos.

Independente desta observação, este projeto está relacionado, ainda que de maneira indireta, a um trabalho anterior, uma dissertação de mestrado apresentada em junho de 2008 (Prado, 2008) na qual o autor faz uma extensa análise sobre o uso de aplicativos para o ensino de função matemática e propõe uma abordagem que se vale da Web como meio facilitador da realização de atividades matemáticas pelos alunos.

O software resultante daquele trabalho, o iGraf, basicamente faz gráficos de funções no IR² e pode ser descarregado diretamente da Internet a partir do endereço www.matematica.br/igraf.

O diferencial do iGraf, além de poder ser usado direto na Internet, é o seu sistema de avaliação automática, que funciona da seguinte maneira: o professor publica exercícios na Web, seus alunos entram na página da disciplina, lêem o enunciado, resolvem o problema usando o próprio software e submetem uma resposta. O iGraf avalia as respostas dos alunos e, imediatamente, lhes apresenta uma consideração sobre sua correção. Além disso, o programa envia ao servidor um registro sobre a resposta de

(4)

cada aluno e, assim, o professor também fica livre do trabalho de corrigir dezenas de exercícios.

Ainda que a visualização seja ponto comum entre os dois sistemas, o enfoque da proposta atual é criar pequenas aplicações que tratem de pontos específicos da disciplina. Há diferenças ainda na forma de condução das pesquisas: o iGraf foi um trabalho de anos, enquanto esta proposta, como se nota pelo detalhamento abaixo, será levada a termo em poucos meses.

3. Formulação detalhada da pesquisa e objetivos

A execução da presente proposta compreenderá as seguintes fases de desenvolvimento: 1. Redação e apresentação do pré-projeto.

a. Espera-se obter, nesta fase, um esboço que, embora incipiente, proporcione uma boa compreensão sobre o que precisa ser feito, bem como quais deverão ser as estratégias implementadas para atingir os objetivos.

2. Criação da primeira versão do framework (versão 2D)

a. Espera-se que a criação da primeira versão do framework permita o início imediato do desenvolvimento. É necessária a rápida liberação deste

framework, pois o subseqüente desenvolvimento dos applets servirá para

validar ou apontar erros nas premissas de criação da estrutura, que é passível de aperfeiçoamentos durante a execução do projeto.

3. Implementação dos primeiros applets.

a. Espera-se conseguir, nesta fase, a validação do framework de desenvolvimento.

4. Apresentação dos primeiros applets para uso e crítica inicial do professor. Espera-se, nesta fase, obter:

a. Um conjunto de sugestões ou críticas que possam validar ou indicar melhorias aos programas implementados.

5. Ampliação do framework (inclusão de 3D)

6. Criação dos primeiros applets tridimensionais.

7. Revisão final dos aplicativos e implementação de eventuais correções. Espera-se, nesta faEspera-se, obter:

(5)

a. Um refinamento ou ajuste dos applets implementados de tal forma que se possa chegar a uma versão “final”, publicável, do Visual Aid for Computer Graphics Lectures.

8. Apresentação do trabalho e publicação de seus resultados finais.

3. Cronograma de execução do projeto

Abril Maio Junho Julho

Redação e apresentação do pré-projeto 23 Criação da primeira versão do framework 17 Implementação dos primeiros applets 09 Apresentação dos primeiros applets 14 Ampliação do framework 28 Criação dos applets 3D 12 Revisão Final 24 Apresentação dos resultados 30 Revisão final 06

4. Material e Métodos Experimentais

Para o desenvolvimento deste projeto serão utilizados materiais de fácil aquisição ou acesso, como um computador com capacidade de processamento suficiente para a execução de um IDE, como o Eclipse ou o NetBeans, ou seja, com, pelo menos, 1Mb de memória RAM, capacidade facilmente encontrada nas máquinas modernas.

O desenvolvimento do sistema gráfico será feito em Java AWT/Swing com a utilização do pacote Java Bindings for OpenGL – JOGL. A aquisição do arcabouço teórico para o desenvolvimento do sistema será baseada nos livros Computação Gráfica para

(6)

Programadores Java, de Ammeraal e Zhang e nos Fundamentos da Computação Gráfica de Gomes e Velho que tratam dos tópicos básicos que serão abordados no projeto. As noções básicas de OpenGL serão extraídas da versão eletrônica do famoso guia oficial de programação da API OpenGL, o Red Book, e as noções específicas de JOGL serão adquiridas pela leitura do livro Learning Java Bindings for OpenGL.

Devido à escolha de se desenvolver o projeto usando a linguagem Java, não há restrição, ao menos teoricamente, sobre o sistema operacional a ser utilizado.

5. Forma de Análise dos Resultados

Acreditamos que a melhor maneira de verificar os resultados do projeto seja obter a opinião dos potenciais usuários sobre o software. A análise dos resultados, portanto, pode ser entendida como a própria análise destas opiniões. Assim, pretendemos apresentar, ao longo do semestre alguns dos applets e, usando questionários, coletar as opiniões dos alunos e do professor da disciplina MAC 5744.

6. Bibliografia

Ammeraal, L. e Zhang, K. (2008) – Computação Gráfica para Programadores Java – LTC – Rio de Janeiro

Davis, G. (2004) – Learning Java Bindings for OpenGL – Gene Davis Software – Disponível em www.genedavissoftware.com Acesso em 25/10/2008. Woods Cross City, Utah.

Gomes, J. e Velho, L. (2008) – Fundamentos da Computação Gráfica – Instituto Nacional de Matemática Pura e Aplicada – IMPA – Rio de Janeiro.

Niemeyer, P. e Knudsen, J. (2000) – Aprendendo Java – Editora Campus – Rio de Janeiro, RJ.

OpenGL (2010) - OpenGL Programming Guide. Disponível em http://www.glprogramming.com/red. Acesso em 06/04/2010.

PhET (2010) - Physics Education Technology Project – Disponível em http://phet.colorado.edu. Acesso em 22/04/2010.

Prado, R. (2008) – iGraf: Uma Proposta de Sistema Para Ensino de Função Via Web – Dissertação de Mestrado – Departamento de Ciência da Computação, IME/USP.

Referências

Documentos relacionados

Tabela 4 - Antifungigrama em meio líquido com sobrenadante do cultivo obtido da levedura H. DESENVOLVIMENTO DE HIFAS DE A. Tabela 5 - Antifungigrama em meio líquido com sobrenadante

A Variação dos Custos em Saúde nos Estados Unidos: Diferença entre os índices gerais de preços e índices de custos exclusivos da saúde; 3.. A variação dos Preços em

Se alguns são suscetíveis de uma certa “educação”, esse desenvolvimento intelectual, sempre fechado em estreitos limites, é devido à ação do homem sobre a natureza

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Assim procedemos a fim de clarear certas reflexões e buscar possíveis respostas ou, quem sabe, novas pistas que poderão configurar outros objetos de estudo, a exemplo de: *

Considerando que, no Brasil, o teste de FC é realizado com antígenos importados c.c.pro - Alemanha e USDA - USA e que recentemente foi desenvolvido um antígeno nacional

By interpreting equations of Table 1, it is possible to see that the EM radiation process involves a periodic chain reaction where originally a time variant conduction

O desenvolvimento desta pesquisa está alicerçado ao método Dialético Crítico fundamentado no Materialismo Histórico, que segundo Triviños (1987)permite que se aproxime de