GeoLab

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 :

Em relaçào ao suporte para interaçào ele fornece : O ambiente consiste de um kernel central , o qual nào contém algoritmos geométricos, que nào requer mudanças para a inclusào de novos componentes ao ambiente, tais como novos modos externos, novos algoritmos e, até mesmo, tipos de dados. Todos esses componentes sào agregados ao sistema por meio de bibliotecas compartilhadas. O fato dos algoritmos geométricos serem externamente fornecidos, através de dlls, torna baixo o consumo de memória pelo ambiente GeoLab e proporciona mais memória para a execucào dos algoritmos a serem animados.

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.