DrGeo

De Wiki Software Livre na Educação

DrGeo é um software livre de Geometria Dinâmica criado por Hilaire Fernandes sob a licença GNU LGPL. O projeto foi iniciado em 1996 como um programa para o sistema MS-DOS e portado para a plataforma GNU/Linux em 1999 através do conjunto de ferramentas GTK+<ref>Hilaire Fernandes. A Brief History of Dr. Geo (em inglês). Página visitada em 01 de setembro de 2013.</ref>. O software está disponível para uma ampla variedade de plataformas e de sistemas operacionais<ref>Hilaire Fernandes. Download. Página visitada em 01 de setembro de 2013.</ref>, como Linux, Mac OS X, Microsoft Windows, Android, iPads e a interface gráfica educacional Sugar<ref>OLPC Foundation (30 de Outubro de 2012). DrGeo (em inglês). Página visitada em 01 de Setembro de 2013.</ref>.

Além de construções geométricas, o programa permite ao usuário aplicar-lhes transformações, animá-las e utilizar uma linguagem de script e construir macros, o que o torna mais versátil do que outros programas similares, como o Geogebra<ref>Hilaire Fernandes (31 de Julho de 2013). Review: Dr. Geo (em inglês). Página visitada em 01 de setembro de 2013.</ref>.

Objetos[editar]

Pontos[editar]

O DrGeo tem dois tipos de pontos: um livre, que pode ser movido com o mouse (que pode ser anexado a uma curva), e um ponto dado por suas coordenadas.

Há também a interseção de duas curvas e o ponto médio de um segmento de reta.

Retas[editar]

O DrGeo é equipado com a reta clássica, o raio, o segmento de reta e o vetor.

Há também o círculo (definido por 2 pontos) e também o menos clássico arco por três pontos. O DrGeo pode construir polígonos (dados por pontos) e o lugar geométrico.

Transformações[editar]

Além das retas paralela e perpendicular através de um ponto, o DrGeo também pode aplicar uma dessas transformações a um ponto:

  1. reflexão
  2. simetria
  3. translação
  4. rotação
  5. homotetia

Macros[editar]

Quando alguns objetos, chamados finais, dependem de outros objetos, chamados iniciais, é possível criar uma nova transformação enviando os objetos iniciais aos finais. Isso é uma macro. Ela permite adicionar novos objetos ao DrGeo, como polígonos regulares ou novas transformações, como círculo de inversão.

Programação[editar]

O DrGeo vem com uma linguagem de script, chamada Scheme, uma linguagem similar ao Lisp.

Objeto Scheme[editar]

Também é possível criar um objeto Guile, que é um número, mas criado com um script, escrito na sintaxe do Scheme. Ele pode ter uma ou muitas variáveis, as quais são escolhidas na criação do objeto, com cliques do mouse. Os nomes das variáveis são a1, a2 etc. Por exemplo, se alguém quiser o quadrado de um número a1, o script

<source lang="scheme"> (define x (getValue a1)) (* x x) </source>

cria um objeto numérico, cujo valor é o quadrado do primeiro número. Se o primeiro número for modificado, o segundo é modificado também.

Se desejarmos implementar o quadrado de um número complexo, deveremos criar dois valores numéricos, um para a parte real, e outro para a parte imaginária. Como <math>(x+iy)^2=x^2-y^2+i(2xy)</math>, o script para a parte real é (uma vez que tenha sido selecionado um ponto livre)

<source lang="scheme"> (define x (car (getCoordinates a1))) (define y (cadr (getCoordinates a1))) (- (* x x) (* y y)) </source>

e o script para a parte imaginária (com o mesmo ponto selecionado):

<source lang="scheme"> (define x (car (getCoordinates a1))) (define y (cadr (getCoordinates a1))) (* 2 x y) </source>

getCoordinates a1 produz uma lista porque a1 é um ponto, que tem duas coordenadas. O CAR dessa lista é a primeira coordenada, que é a abscissa, e o CADR da lista do CDR) é a segunda coordenada.

Uma vez feito isso, resta apenas criar um ponto cujas coordenadas sejam os dois números criados pelos scripts. A transformação é então definida. Ele implementa a função <math>\C \rightarrow \C, z \mapsto z^2</math> e pode ser transformado em uma macro.

Figura gerada por Scheme[editar]

O objeto Guile pode apenas criar um número. Se desejarmos criar uma figura complexa por um script, devemos escrever o script com um editor de texto, salvá-lo com a extensão scm e, então, fazer o DrGeo avaliar o arquivo.

Aqui está como DrGeo cria um Triângulo de Sierpinski recursivamente:

<source lang="scheme"> (new-figure "Sierpinski") (define (sierpin p1 p2 p3 n)

(let* (

   (p4 (Point "" milieu-2pts p2 p1))
   (p5 (Point "" milieu-2pts p2 p3))
   (p6 (Point "" milieu-2pts p3 p1))
   (q1 (Polygone "" npoints p1 p4 p6))
   (q2 (Polygone "" npoints p2 p4 p5))
   (q3 (Polygone "" npoints p3 p5 p6)))


   (if (> n 1)
   (begin
   (envoi q1 masquer)
   (envoi q2 masquer)
   (envoi q3 masquer)))
   (envoi p4 masquer)
   (envoi p5 masquer)
   (envoi p6 masquer)
   (if (> n 0)
   (begin
    (sierpin p1 p4 p6 (- n 1))
    (sierpin p2 p4 p5 (- n 1))
    (sierpin p3 p5 p6 (- n 1))))))

(soit Point "A" free -3 -1) (soit Point "B" free 3 -1) (soit Point "C" free 0 3)

(sierpin A B C 5) </source>

Referências

<references group=""></references>

Ligações Externas[editar]

  • Este artigo foi inicialmente traduzido do artigo da Wikipédia em inglês, cujo título é «DrGeo», especificamente desta versão.