.: Script :.

Os passos de uma construção geométrica podem ser encapsulados na forma de um algoritmo, o que será aqui denominado por script. Por exemplo, os passos abaixo produzem a mediatriz de quaisquer 2 pontos:

// sendo 2 pontos quaisquer, denotados por A e B, sua mediatriz pode ser obtida como:
1: c0:= Circunferência ( A,B )
2: c1:= Circunferência ( B,A )
3: C:= PontoInterseção_norte ( c0,c1 )
4: D:= PontoInterseção_sul ( c0,c1 )
5: r:= Reta ( A,B )
Algoritmo: mediatriz de dois pontos

O algoritmo/script apresentado acima utiliza uma linguagem sintética, na forma de comandos de instrução de uma linguagem de computador. Por exemplo, o comando c0:= Circunferência ( A,B ), indica que será criado um novo objeto geométrico, rotulado como c0, sendo este objeto uma circunferência com centro no ponto A e raio definido pela distância entre este e o ponto B (e portanto, B será um dos pontos de c0).

A partir de qualquer construção no iGeom, pode-se obter sua descrição nesta linguagem sintética. Na versão aplicativo, isso é conseguido através do menu Arquivo | Gravar algoritmo..., enquanto que na versão applet do iGeom, isso é obtido "clicando" o botão do meio do "mouse" sobre a área de desenho (se o seu "mouse" não dispõe de 3 botões, tente "clicar" simultaneamente sobre os 2 existentes - alguns sistemas conseguem emular o botão do meio deste modo).

Deve ser observado que a descrição acima nada mais é que um algoritmo, que aplicado sobre 2 pontos, gera a "reta mediatriz". Por este motivo pode-se denominá-lo por algoritmo geométrico.

Observe ainda que o algoritmo anterior deve ser aplicado sobre 2 pontos (A e B), gerando sua mediatriz, portanto este algoritmo tem como parâmetros 2 pontos. Deste modo, ao anotar tal script no iGeom, sempre que for necessário obter a mediatriz de quaisquer 2 pontos, deve-se selecioná-los e então aplicar o script anotado sobre estes pontos (vide a seção imediatamente abaixo).

No caso do script para a mediatriz, a ordem dos parâmetros (os 2 pontos) é irrelevante, mas isso não ocorre sempre. Por exemplo, no contexto da álgebra, o algoritmo da divisão de dois números produz resultados diferentes se a ordem dos parâmetros for alterada (a/b ou b/a).

Como construir um script no iGeom

Existem quatro etapas básicas relacionadas a um script, que por ordem cronológica são: disparar o gravador; registrar todos os passos de construção; anotar/gravar/enviar o script; e utilizar o script. Os três primeiros passos são executados uma única vez e o último será executado toda vez que for necessário aplicar o script. Cada um destes passos é explicado abaixo, utilizando o exemplo da mediatriz. No início da explicação de cada etapa, quando for o caso, aparecerá o botão do iGeom associado, na primeira linha à esquerda.

1. Disparar o gravador
Deve-se primeiro deixar na área de desenho os objetos iniciais (que definirão os parâmetros) e depois "clicar" no botão de Anotação de script (representado no início deste parágrafo).
Antes de "clicar" o referido botão, ao passar o "mouse" sobre o mesmo, a mensagem que aparecerá na barra de mensagem, tanto na versão aplicativo quanto na versão applet do iGeom, será: Inicia geração de Script.
Note que, em ambas as versões de iGeom, após "clicar" sobre o botão, será aberta uma janela de anotação/gravação dos passos de script, representada à esquerda na figura 1. Esta janela tem 2 áreas principais:
  1. Área de registro de parâmetros: é a parte superior da janela, nela o iGeom insere como parâmetro todo objeto utilizado durante a geração do mesmo e que tenha sido criado antes desta janela ser aberta.
    Um objeto de parâmetro é um objeto que será usado pelo script, durante sua interpretação, para realizar a construção.
  2. Área de registro de passos do algoritmo: é a parte central da janela, na qual o iGeom registra, para visualização do usuário (não é o formato interno do iGeom), todos os passos do algoritmo.
    Isso é feito apenas para o usuário acompanhar cada passo registrado, utilizando a já citada linguagem "legível". Esta é a mesma linguagem usada no exemplo algoritmo da mediatriz.
A figura 1 apresenta a situação da área de desenho quando o anotador de script é disparado, considerando o exemplo da mediatriz. A situação final deste processo de anotação de script é apresentado na figura 2, na qual poderá ser observado os 5 passos necessário à construção, anotados na linguagem "legível".

Figura 1: à esquerda está a janela de anotação de passos de script, ainda vazia.

Exemplo: construa os pontos A e B; ative os botões de script "clicando" no botão primário representado acima; dispare o anotador/gravador de script "clicando" sobre o botão secundário com mesmo ícone do primário já citado. Este exemplo aparece na figura 1, à esquerda a janela do anotador de script (ainda "em branco") e à direita a correspondente construção na área de desenho do iGeom.

2. Registrar todos os passos de construção
Efetue as construções necessárias para seu script, cada passo será anotado na janela de anotação de script, representada na figura 2, na parte à esquerda. Nesta etapa serão anotadas as duas partes constituintes de um script, seus parâmetros e seus passos/operações de construção.
Parâmetros: os parâmetros de um script desempenham o mesmo papel dos parâmetros de uma função matemática (por exemplo, como o par de parâmetros x,y da função real f(x,y) = x/y).
O iGeom "deduz" automaticamente estes parâmetros, que serão: todos os objetos que forem usados para a construção de qualquer outro e que existisse antes do início do processo de anotação do script.
Para indicar que determinado objeto é um parâmetro para o script em construção, o rótulo do referido objeto aparecerá na parte superior da janela de anotação (janela mais à esquerda na figura 1). Na verdade, assim como numa função matemática usual, o que interessa é o "tipo" do objeto, não seu rótulo específico, que é anotado apenas para o usuário conseguir identificar claramente a ordem dos mesmos (lembre-se do exemplo do algoritmo da divisão).
A ordem dos parâmetros é essencial à aplicação de qualquer script, apesar de em alguns casos em que ela ser irrelevante (como no exemplo da algoritmo da mediatriz).
Passos: um passo de um script é uma operação elementar realizada sobre um conjunto de objetos "associados ao mesmo" (como a operação 1 do algoritmo da mediatriz, que constrói uma circunferência a partir dos parâmetros A e B).
O conjunto de objetos sobre os quais o script pode atuar são os objetos já construídos por ele próprio ou seus parâmetros. Estes são os objetos "associados ao mesmo".
Uma operação elementar pode ser a construção de um novo objeto (como uma circunferência) ou a alteração/edição de um (como a alteração da cor do tracejado da circunferência).
O iGeom permite um tipo especial de passo que é a recorrência. Este tipo de passo para ser bem definido precisa de muita atenção à ordem dos parâmetros do script e será explicado a seguir.
Por simplicidade, um objeto construído por um dos passos do script será referido como "construído pelo script".
Recorrência: é um passo de um script, representando o registro de uma chamada recorrente/recursiva para o próprio script.
O comportamento de um script recorrente é idêntico ao de uma função matemática recorrente, como é o caso, por exemplo, da bastante conhecida função fatorial, que aqui será denotada por fat:
fat: IN -> IN
fat(n) := { 1, se n=0; n * fat(n-1), se n>0 }.
A recorrência da função fatorial é caracterizada pela invocação da própria função no "lado direito" de sua definição (no exemplo acima, a recorrência é caracterizada pela chamada fat(n-1), como sublinhado). O mesmo ocorre na caracterização de um script recorrente.
É fortemente recomendado que todas as instruções de recorrência devem aparecer por último, como os últimos passos do script.
Para se conseguir anotar uma chamada recorrente (ou recursiva) num script, deve-se:
  1. Marcar (com o selecionador ) os parâmetros necessários para aplicação do script em construção. Por isso é essencial prestar atenção aos parâmetros do script, identificando-se ordem e tipos.
    Também por isso recomenda-se deixar por último a anotação das recorrências, quando todos os parâmetros necessários à aplicação do script já foram "deduzidos". O aparecimento de um novo parâmetro após a anotação de uma recorrência, implica em erro no script. Este tipo de erro é equivalente à seguinte tentativa "errônea" definir uma função recursiva: f(x,y):={1, se x=y; 1+f(x), se x<>y}   (note que a função tem 2 parâmetros - f(x,y), entretanto tentou-se chamá-la recursivamente utilizando apenas um parâmetro - 1+f(x)).
  2. "Clicar" no botão para anotar recorrência .
    Se a recorrëncia foi aplicada corretamente (ou seja, os tipos de objetos selecionados estão compatíveis com os parâmetros do script), então após o "clique" o iGeom anotará na área de registro de passos uma instrução do tipo Recorrência (lista_parâmetros).
    Para entender melhor como construir um script recorrente e quais vantagens a recorrência traz, por favor, examine a seção Tetra-círculo.


Figura 2: à esquerda a janela de anotação de passos de script (na parte superior aparecem os parâmetros e na parte central os passos).

Exemplo: na construção da mediatriz, com a janela de anotação de script já disparada, deve-se realizar as operações necessárias à construção da mediatriz. Por exemplo, pode-se realizar a seguinte sequência de passos: circunferência c0 de centro A e raio definido por B; circunferência c1 de centro B e raio definido por A; definir o ponto C resultante da interção "norte" entre as circunferência c0 e c1; definir ponto D resultante da interção "sul" entre as circunferência c0 e c1; definir a reta r, correspondente à mediatriz dos pontos iniciais (A e B na figura 1).
Este exemplo aparece na janela mais à esquerda na figura 2, são os 5 passos indicados na parte central da janela do anotador de script. Na janela mais à direita da figura 5 está a correspondente construção na área de desenho do iGeom.

2. Anotar (gravar/enviar) o script
Note que após abrir a janela de script, ao passar o "mouse" sobre o botão anotar/gravar/enviar, a mensagem será diferente daquela obtida antes da abertura da janela. A mensagem agora será: Anotar script.
Uma vez finalizada a construção, deve-se anotá-la, o que produz resultados diferentes nas versões aplicativo e applet. A anotação é feita "clicando-se" o mesmo botão secundário que disparou o gravador de script (acima indicado).
  1. Aplicativo: Quando se tratar do iGeom aplicativo, será aberta uma janela de diálogo para o usuário escolher um nome (e local) para armazenar o script.
  2. Applet: Quando tratar-se de applet, o iGeom automaticamente armazenará o script no primeiro botão disponível dentre os botões de script existentes (se não houver mais botão disponível, ficará no último, apagando o anterior registrado naquele botão).
Os botões de script são acessados a partir do botão primário , pondendo cada secundário correspondente armazenar um script diferente: , , e . Ao passar o "mouse" sobre um destes botões secundários, se houver algum script registrado no respectivo botão, aparecerá na barra de mensagem a lista de tipos de objetos (parâmetros) necessários para a aplicação do referido script (na ordem requerida).
Exemplo: no script para construção da mediatriz, os parâmetros são Ponto e Ponto, neste caso não importando a ordem com que os 2 pontos serão marcados (via selecionador).

4. Utilizar o script (aplicar o algoritmo)
ou Uma vez anotado o script pode-se aplicá-lo quantas vezes forem necessários. Neste caso será necessário: primeiro usar o selecionador para marcar os objetos sobre os quais será aplicado o script: se os tipos (ou quantidades) de objetos marcados diferirem dos requeridos pelo script aparecerá uma mensagem apontando o engano na barra de mensagem.
Na versão applet só é possível disparar um script que já esteja associado a um dos botões de scripts (de a ). Após marcar corretamente os parâmetros do script, basta "clicar" no referido botão.
No caso do iGeom aplicativo, além da apção de usar botões de script, também é possível disparar um script "clicando-se" sobre o botão secundário para executar script e depois escolhendo-se o script no sistema de arquivos do computador (em applet não é possível por restrições de segurança).
Também restrito à versão aplicativo, pode-se associar um script previamente gravado a um dos botões de script, para isso deve-se utilizar a opção botões de script (e depois "clicando-se" na opção adicionar script), como indicado nas figuras 3 e 4. Na figura 3 está indicada a opção que abre a janela para Adicionar script... e na figura 4 a janela resultante, na qual deve-se selecionar o script e a qual botão este será associado (na imagem está o botão 2).
Ao associar um script é recomendável que o usuário digite um texto mostrando quais são os parâmetros do mesmo (sem os quais será impossível aplicá-lo) e talvez uma descrição que indique o que é gerado. Na figura 4 foi digitado "Ponto; Ponto: script para mediatriz" para indicar que o script associado ao botão 2 precisa de 2 parâmetros do tipo ponto e gera a mediatriz de ambos.

Figura 3: opção Adicionar script... serve para anotar um script num dos botões de script, via iGeom aplicativo.


Figura 4: janela para selecionar e comentar o script a ser adicionado ao botão de scripts número 2.