DrGeo

DrGeo

Origem: Wikipédia, a enciclopédia livre.
DrGeo
Autor Hilaire Fernandes
Lançamento 31 de Dezembro de 1996
Versão estável 13.08a (6 de julho de2013; há 46 semanas e 4dias)
Escrito em Pharo
Sistema operacional LinuxMac OS X,WindowsAndroidiOS
Gênero(s) Software de Geometria Dinâmica
Licença GNU GPL
Estado do desenvolvimento Ativo
Página oficial www.drgeo.eu

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+1 . O software está disponível para uma ampla variedade de plataformas e de sistemas operacionais2 , como LinuxMac OS XMicrosoft WindowsAndroidiPads e a interface gráfica educacional Sugar3 .

Além de construções geométricas, o programa permite ao usuário aplicar-lhes transformações, animá-las e utilizar umalinguagem de script e construir macros, o que o torna mais versátil do que outros programas similares, como o Geogebra4.

Objetos

Pontos

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

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

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 | editar código-fonte]

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 | editar código-fonte]

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

Objeto Scheme

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 a1a2 etc. Por exemplo, se alguém quiser o quadrado de um número a1, o script

(define x (getValue a1))
(* x x)

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 (x+iy)^2=x^2-y^2+i(2xy), o script para a parte real é (uma vez que tenha sido selecionado um ponto livre)

(define x (car (getCoordinates a1)))
(define y (cadr (getCoordinates a1)))
(- (* x x) (* y y))

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

(define x (car (getCoordinates a1)))
(define y (cadr (getCoordinates a1)))
(* 2 x y)

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 \C \rightarrow \C, z \mapsto z^2 e pode ser transformado em uma macro.

Figura gerada por Scheme

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:

(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)

Referências

  1. Ir para cima↑ Hilaire Fernandes. A Brief History of Dr. Geo (em inglês). Página visitada em 01 de setembro de 2013.
  2. Ir para cima↑ Hilaire Fernandes. Download. Página visitada em 01 de setembro de 2013.
  3. Ir para cima↑ OLPC Foundation (30 de Outubro de 2012). DrGeo (em inglês). Página visitada em 01 de Setembro de 2013.
  4. Ir para cima↑ Hilaire Fernandes (31 de Julho de 2013). Review: Dr. Geo (em inglês). Página visitada em 01 de setembro de 2013.

Veja também

Ligações Externas

Portal A Wikipédia possui os portais:

  • Este artigo foi inicialmente traduzido do artigo da Wikipédia em inglês, cujo título é «DrGeo», especificamente desta versão.
Ícone de esboço Este artigo sobre Software é um esboço. Você pode ajudar a Wikipédia expandindo-o.

 

[Expandir]

v • e

Softwares de Geometria

Mais recente modificação por

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.