O software GeoLab ( Geometric Laboratory in Software ), desenvolvido por P.J. Rezende e W.R. Jacometti, no Departamento da Ciência da Computação da Universidade de Campinas, é um ambiente de programação para implementação, testes e animação de algoritmos geométricos. Ele foi desenvolvido para SparcStations soba plataforma Sun/OS e utilza a biblioteca gráfica XView .Ele foi implementado em C++ e utiliza programaçào orientada aobjetos para a modelagem hierárquica de objetos e algoritmos geométricos..
GeoLab combina em si suporte para desenvolvimento de software e algoritmos e suporte para interação em tempo real.
Em relaçào ao suporte ao desenvolvimento ele fornece :
O sistema é baseado na representação gráfica dos objetos geométricos nos quais opera. A interface consiste em uma área de edição, na qual objetos podem ser manualmente ou automaticamente gerados. A partir da pallete de modos de operação, o usuário pode "pegar" uma ferramenta para criar, selecionar, mover, redimensionar, executar zoom ou scroll nos objetos da área de edição, enquanto que, no diversos menus, o usuário pode escolher uma variedade de ações.
Figura 1 : Uma visão da interface do GeoLab
e de muitas das escolhas possíveis a partir do menu do algoritmo
Uma vez que os objetos tenham sido criados, na área de edição, o usuário pode selecionar alguns ou todos eles. Ao algoritmo cabe checar qual algoritmo está disponível para manipular a seleção corrente. Somente os algoritmos que podem manipular os objetos selecionados serão ativados no menu de algoritmos. Selecionando um algoritmo a partir desse menu, o usuário requisita ao sistema a passagem de seleção como um argumento do algoritmo. Como resultado, temos uma série de objetos geométricos com uma representação gráfica, posicionados na área de edição com os seus respectivos atributos gráficos default.
Dois modos de animação foram incorporados no ambiente GeoLab, o primeiro , denominado movimento dinãmico, anima os objetos geométricos produzidos como saída por qualquer algoritmo quando a entrada se modifica por um clique de mouse, por exemplo. Para a operação desse modo, nenhuma modificação no código é necessária. Ele é bastante útil para ilustrar os relacionamentos entre os dados de entrada e as construções geométricas de saída, especialmente para fins educacionais em geometria computacional. O segundo modo ( ver figura 2 ) necessita da inclusão de código para o display geométrico de ações geométricas tomadas pelos algoritmos. para facilitar essa tarefa uma biblioteca, denominada GeoLab Animation Toolkit, é fornecida.
Figura 2 : animação de um algoritmo
do tipo dividir para conquistar para a construção de uma
triangulação de Delaunay
Foi criado para o GeoLab um sistema de visualizaçào, o sistema World, que define todas as ferramentas para a representaçào gráfica dos objetos geométricos manipulados no ambiente. Esse sistema oferece :
Para maiores informações sobre o sistema GeoLab, pode-se consultar o Relatório Técnico do Departamento de Ciência da Computação, na Universidade de Campinas, de número 26/93 "GeoLab : An Environment for Development of Algorithms in Computational Geometry" de P. J. de Rezende e W. R. Jacometti.