# Ajuda do KSEG

## Navegação Rápida:

Iníciando/Descrição Minuciosa
Introdução
Selecionando
Construindo
Transformações
Medindo e Calculando
Editando ,Corrigindo e Aperfeiçoando
Visualizando e Exportando Imagens
Construções

## Iniciando/Descrição Minuciosa

Após seguir os passos abaixo você estará familiarizado com as funções básicas do KSEG e pode seguir adiante por conta própria. Para recursos avançados, leia esse documento completamente.

1. Inicie o KSEG. Você verá uma tela branca de desenho (cercada por barras de ferramenta, barras de rolagem, menu, e barra de status).
2. Um clique no meio da área branca constrói um ponto automaticamente chamado de A. Para exibir essa letra A clique em Editar/Mostrar Rótulo.
3. Mantendo a tecla SHIFT pressionada ao mesmo tempo em que clica-se com o botão direito novamente em um local diferente sobre a tela será construído o ponto B. Uma vez que você manteve pressionada a tecla SHIFT, a seleção do ponto A não desaparece, isso faz com que após esse passo você tenha dois pontos selecionados.
4. Escolha "Criar/ Circunferência Por Centro e Ponto" no menu. Será construída uma circunferência com centro em A e passando sobre o ponto B. A circunferência aparecerá selecionada e os pontos A e B terão suas seleções respectivas desabilitadas.
5. Selecionando o ponto B com um clique sobre ele usando o botão esquerdo do mouse (isso também desabilita a seleção da circunferência). Mantendo a tecla SHIFT pressionada clique com o botão esquerdo do mouse sobre o ponto A para selecioná-lo.
6. Escolha "Criar/ Circunferência Por Centro e Ponto" novamente no menu. Agora será construída uma circunferência com centro em B (pelo fato de você tê-lo selecionado em primeiro lugar) e passando sobre o ponto A.
7. Mantendo a tecla SHIFT pressionada selecione a primeira circunferência construída clicando sobre ela. Você terá agora ambas as circunferências selecionadas.
8. Escolha "Criar/Ponto de Intersecção" no menu. Dois pontos aparecem nas intersecções entre as duas circunferências, ambos selecionados.
9. Escolha "Criar/Reta" no menu. Isso construirá a mediatriz do segmento que inicia-se no ponto A e vai até o ponto B.
10. Agora arraste o ponto A mantendo o botão esquerdo do mouse pressionado. Isso lhe dará uma idéia do que o KSEG faz.

Evidentemente, esse não é a mais eficiente caminho para construir uma mediatriz no KSEG (ainda que esse seja o melhor caminho usando régua e compasso), mas a intenção é mostrar como construção e seleção trabalham.
Início

## Introdução

KSEG é uma ferramenta pensada para permitir a você visualizar facilmente as propriedades dinâmicas de construções geométricas usando régua e compasso e fazer explorações geométricas o mais rápido e facilmente possível. Algumas vezes sentei para usar o KSEG e descobri uma propriedade geométrica que antes não conhecia.

Com KSEG, você cria uma construção dinâmica inicialmente colocando pontos na tela e usando-os para construir outros objetos, como retas e circunferências. Então você pode arrastar os pontos que você criou e assistir à construção inteira acompanhar esse movimento. O KSEG é capaz de muito mais, evidentemente, mas isso é apenas uma idéia básica. Eu também freqüentemente uso ele para gerar diagramas geométricos de alta qualidade para usar com LaTeX. Eu descobri que o caminho mais fácil para levar uma figura do KSEG para o LaTeX é imprimir do KSEG para um arquivo .ps, converter esse arquivo para o formato EPS, colocar notas na figura usando o XFIG, e exportá-la para o formato PS/LaTeX.

Uma questão de terminologia: Uso o termo "Construção" para referir-me tanto ao tipo de documento semelhante a uma macro no KSEG quanto para referir-me a vários objetos geométricos que são dependentes uns dos outros. Isso é esclarecido considerando o contexto no qual me refiro, mas nesse documento utilizarei "Construção", com inicial maiúscula, para referir-me ao arquivo e usarei "construção", com inicial minúscula, para referir-me a vários objetos geométricos dependentes uns dos outros.

### Objetos Geométricos

Pontos, retas, medições, cálculos, lugares geométricos, etc. são todos "objetos geométricos". Um objeto geométrico pode ter objetos geométricos pais dos quais é proveniente. Por exemplo se você constrói dois pontos e a reta que passa por esses dois pontos, então os pontos são os pais da reta e a reta é filha desses dois pontos . Quando você arrasta um ponto livre, todos os seus descendentes são recalculados. Quando você arrasta um objeto que possui pais (isso é chamado arrastamento reverso), um complicado algoritmo determina quais pais mover seguindo a posição designada pelo objeto que você está arrastando.

Um objeto geométrico pode ser "não-existente" no sentido geométrico, como o ponto de intersecção entre duas circunferências disjuntas. Se as circunferências forem posteriormente movidas de forma a se interceptarem, os pontos passam a existir (na lista de Construção aparecem com um "não existe" entre parêntesis). Filhos de não-existentes são também não existentes (com exceção dos lugares geométricos, para maiores detalhes veja a documentação dos lugares geométricos que segue adiante). Então se você está arrastando um ponto em uma dada região e a maior parte de sua construção desaparecer subitamente porque dois segmentos de reta não mais se interceptam (os objetos que desapareceram são os descendentes do ponto de intersecção), não se preocupe, ela retornará quando a intersecção retornar também.

Início

## Selecionando

De modo geral para construir novos objetos, você precisa selecionar objetos previamente existentes. Aqui estão suas opções para fazer isso:

- Clicando com o botão esquerdo do mouse em uma região vazia desabilita a seleção de todos os objetos atualmente selecionados.
- Clicando com o botão esquerdo do mouse sobre um objeto não selecionado faz com que aquele objeto seja selecionado e desabilita a seleção de todos os outros objetos existentes anteriormente.
- Pressionando o botão esquerdo do mouse sobre uma região vazia, arrastando, e soltando em seguida selecionará todos os objetos contidos dentro do retângulo imaginário assim determinado e desabilita a seleção dos objetos que estão fora desse mesmo retângulo.
- Mantendo pressionada a tecla SHIFT e clicando sobre um objeto selecionará esse objeto se ele não estiver selecionado anteriormente e desabilitará a seleção em caso contrário. Outros objetos que estavam anteriormente selecionados permaneceram selecionados.
- Mantendo pressionada a tecla SHIFT, pressionando o botão esquerdo do mouse sobre uma região vazia, arrastando, e soltando em seguida irá adicionar os objetos que estão dentro do retângulo imaginário assim determinado à lista de objetos selecionados sem alterar a seleção dos já anteriormente selecionados.
- Em uma Construção, você também tem a opção de selecionar objetos através da lista de Construção. Você pode clicar ou arrastar ou usar a tecla SHIFT. Note que de forma diferente dos outros métodos, esse método permite a você selecionar objetos invisíveis e não existentes.

Quando você clica em uma área onde existe mais de um objeto, isso é mais complicado (para o KSEG, isso é--para você isso será muito intuitivo). Objetos possuem uma "precedência" (prioridade de seleção): pontos primeiro, curvas e textos e lugares geométricos em segundo, e objetos restantes por último. Se objetos com precedência alta estão sob o mouse então objetos com precedência baixa são ignorados. Dentro de uma mesma precedência, o algoritmo comporta-se de forma que clicando várias vezes ele percorre as possibilidades de seleção. A barra de status (localizada na parte inferior da tela) é sempre um bom lugar para ver o que acontecerá a cada clique.

### Grupos de Seleção

Um caminho muito poderoso de selecionar múltiplos objetos é usar a grupos de seleção. Uma seleção de grupos ocorre com uma coleção de objetos geométrico que você diz ao KSEG para agrupar e tratá-los de forma conjunta com a finalidade de facilitar operações de seleção envolvendo esses mesmos objetos geométricos. Clicando em "Editar/ Selecionar Grupos" abrirá a janela de gerenciamento da seleção de grupos (associada a um documento). Quando você abre essa janela ela mostra uma lista com todas as seleções de grupo que você tem para o documento ativo e também todos os grupos pre-definidos. Os grupos pré-definidos estão marcados com um asterisco--existe um para cada tipo de objeto o qual agrupa todos os objetos daquele tipo(existe um grupo para selecionar todos os pontos, outros para todas as retas, outro para todas as semi-retas, e assim sucessivamente).

Quando você seleciona um grupo (ou vários) na caixa de listagem da janela de gerenciamento da seleção de grupos e clica no botão "Selecionar", todos os objetos daquele grupo são selecionados e todos os outros terão sua seleção desabilitada. Pressionando a tecla SHIFT enquanto clica-se no botão "Selecionar" selecionaremos os objetos naqueles grupos sem desabilitar a seleção dos outros objetos que porventura estiverem atualmente selecionados. Clicando no botão "Remover Seleção" desabilitaremos somente a seleção dos objetos incluídos naquele grupo. Quando você tem ao menos um objeto selecionado o botão "Novo Grupo" está habilitado. Clique sobre ele para criar um novo grupo que abrange os objetos selecionados. Você não pode apagar os grupos pré-definidos.

A caixa de seleção "Incluir Itens Invisíveis" somente atinge os grupos previamente existentes. Quando não está marcada (padrão), "Todos os Pontos" refere-se somente a pontos não escondidos; quando está marcada, "Todos os Pontos" refere-se a pontos anteriormente escondidos. Grupos que não forem aqueles previamente existentes sempre selecionam ou não todos os objetos neles incluídos, incluindo os convenientemente escondidos.

Um grupo (não previamente existente) pode estar vazio se todos os seus itens são apagados (diretamente ou através de Desfazer). Cada grupo é marcado com um sinal de menos mas não são apagados automaticamente (posteriormente "Desfazer/Refazer" pode ressuscitar objetos nesses grupos). De qualquer forma, grupos vazios não são salvos com o documento.

Início

## Construindo

Quando novos objetos são construídos, eles são imediatamente selecionados e, com exceção dos pontos construídos através do clique com o botão direito e com a tecla SHIFT pressionada, todos os outros objetos terão sua seleção desabilitada.

### Pontos

- Para construir um ponto livre, clique usando o botão direito do mouse em uma área vazia da folha do KSEG.
- Para construir um ponto sobre um objeto geométrico (reta, segmento, semi-reta, circunferência, arco) clique com o botão direto sobre o objeto.
- Para construir um ponto contido na intersecção entre dois objetos, clique com o botão direito sobre a intersecção. Alternativamente, selecione as duas curvas e escolha "Criar/Ponto de Intersecção" no menu. Quando os dois objetos em questão possuem dois pontos de intersecção (ao menos possivelmente) a opção do menu construirá ambos, enquanto que o clique com o botão direito construirá apenas um.
- Para construir o(s) ponto(s) médio(s) de segmentos de reta, selecione-os e escolha "Criar/Ponto(s) Médio(s)".

Existe também dois outros tipos de pontos--extremidades e pontos centrais. São muito usados em Construções, onde você pode ter algo como pegar um segmento mas não suas extremidades ou uma circunferência mas não seu centro. Para construir as extremidades de um segmento , semi-reta, ou um arco, selecione o objeto e vá para "Criar/Extremidade(s)". Para construir o ponto central de uma circunferência ou de um arco, selecione esse objeto e vá para "Criar/Ponto Central".

### Segmentos

Existe somente um caminho para criar um segmento de reta--selecione dois ou mais pontos e escolha "Criar/Segmento(s)". Se dois pontos estiverem selecionados, um segmento será construído. Se n > 2 pontos estiverem selecionados então n segmentos serão construídos.

### Semi-retas

- Você pode construir uma semi-reta iniciando-se em um ponto e passando por outro selecionando os dois pontos ( nessa ordem ) e indo "Criar/Semi-reta". Selecione mais de dois pontos para construir múltiplas semi-retas.
- Para construir a bissetriz de um ângulo, selecione três pontos definindo o ângulo e vá para "Criar/Bissetriz". A bissetriz sempre divide a parte aguda de um ângulo.

### Retas

- Para construir uma reta, selecione dois ou mais pontos e vá para "Criar/Linha(s) Reta(s)".
- Para construir uma reta paralela a outra reta e passando por um ponto dado, selecione o ponto e a reta diretora (você também pode usar um segmento ou uma semi-reta se lhe for conveniente) e vá para "Criar/Reta Paralela". Você também pode selecionar múltiplos pontos ou vários objetos retilíneos (mas não ambos).
- Para construir uma reta perpendicular, selecione de maneira semelhante à feita para reta paralela, mas escolha "Criar/Reta(s) Perpendicular(es). do menu substituindo a opção correspondente no item anterior.

### Circunferência

- Para construir uma circunferência com centro conhecido e um ponto sobre essa circunferência também conhecido, selecione o centro o ponto nessa ordem e vá para "Criar/Circunferência Por Centro e Ponto".
- Para construir uma circunferência com centro e raio ambos conhecidos, selecione o ponto central e um segmento de reta cujo comprimento seja igual ao comprimento do raio desejado e escolha "Criar/Circunferência Por Centro e Raio".

### Arcos

Um arco somente pode ser construído pela seleção de três pontos e indo para "Criar/Arco Por Três Pontos".

### Lugares Geométricos

Um lugar geométrico é um objeto que representa o caminho de outro objeto (o objeto "direcionado") conforme o movimento de um ponto (diretor) sobre uma curva. Para construir um lugar geométrico, selecione um ponto sobre a curva e o descendente desse ponto. O objeto diretor pode ser um ponto, uma curva, ou outro lugar geométrico (mas isso pode tornar o KSEG realmente lento). Um lugar geométrico poderá existir da mesma forma se o objeto direcionado é não-existente, desde que o objeto direcionado possa existir quando estiver em uma posição diferente.

Por exemplo. seja L uma reta, seja A um ponto sobre L, seja B um ponto não pertencente a L, e seja K uma reta passando por A e perpendicular ao segmento AB. Então K é o objeto dirigido e A é o objeto diretor, (selecione A e K, em qualquer ordem, e clique em "Criar/Lugar Geométrico") a envolvente do lugar geométrico traçado por K é a parábola com foco no ponto B e tangente à reta L.

Como um lugar geométrico é um conjunto de objetos geométricos infinitos, KSEG não pode calculá-lo exatamente. Ao invés disso, ele aproxima o lugar geométrico por amostragem. Você pode escolher o número de amostras que o KSEG executa para um lugar geométrico em particular através de um duplo clique sobre o lugar geométrico ou selecionando o lugar geométrico e escolhendo "Editar/Escolher Número de Amostragens". Um caso especial ocorre quando o objeto dirigido é um ponto. Nesse caso, KSEG automaticamente conecta os pontos da amostragem e usa um algoritmo adaptativo para tentar construir o lugar geométrico de forma precisa, homogênea e rápida. Nesse caso o número de amostragens você especifica é apenas um limite superior sobre o número de amostragens atualmente executado--o algoritmo pode decidir parar a amostragem se pensar que o lugar geométrico está perfeito o suficiente. Esse algoritmo adaptativo geralmente resulta em lugares geométricos de melhor aparência se comparados a outros gerados por programas similares ao KSEG.

### Objetos Preenchidos (Azurados/Hachurados)

- Para construir os pontos internos de um polígono, selecione três ou mais pontos e escolha "Criar/Pontos Internos do Polígono.
- Para construir um setor circular, selecione um arco e escolha "Criar/Setor Circular". Para um segmento circular, selecione um arco e escolha "Criar/Segmento Circular".
- Para construir um círculo, selecione uma circunferência e escolha "Criar/Círculo".

Início

## Transformações

KSEG permite a você aplicar algumas transformações afins a objetos geométricos. O procedimento geral é "selecionar" alguns objetos para definir a transformação usando os itens do menu "Transformação/Selecionar *". Então você seleciona os objetos para aplicar a transformação, escolhe a ação apropriada no menu de transformações, e as cópias transformadas dos objetos selecionados serão criadas. Aqui existem detalhes:

Selecionando:

- Para selecionar um vetor, selecione dois pontos e vá para "Transformações/Selecionar Vetor". O sentido do vetor será do primeiro ponto selecionado para o segundo.
- Para selecionar uma reta de reflexão (espelho), selecione uma reta, um segmento, ou uma semi-reta e vá para "Transformações/Selecionar Reta de Reflexão".
- Para selecionar um centro, selecione um ponto e vá para "Transformações/Selecionar Centro".
- Para selecionar um ângulo, selecione quaisquer três pontos ou medição simples ou cálculo de ângulo e vá para "Transformações/Selecionar Ângulo".
- Para escolher uma razão, selecione dois segmentos de reta quaisquer ou uma medida simples ou cálculo e vá para "Transformações/Escolher Razão".

Os grupos de objetos são marcados com amarelo para permitir a você saber quais transformações irão ocorrer. Se você terminou com as transformações e quer livrar-se das seleções amarelas (por razões estéticas ou de captura de tela--elas não aparecem na impressão), vá para "Transformações/Limpar Seleção".

- Para transladar objetos, você precisa ter um vetor selecionado.
- Para refletir objetos, você precisa ter uma reta de reflexão (espelho) selecionada.
- Para aplicar uma homotetia a objetos, você precisa especificar um centro e uma razão.
- Para rotacionar objetos, você precisa especificar um centro de rotação e um ângulo.

Estando pronto para aplicar uma transformação a objetos com uma medição ou um cálculo selecionado para razão ou ângulo facilmente permite a você criar construções impossíveis com régua e compasso. Você deve ser cuidadoso com isso, mas você pode também ser feliz--o exemplo disponibilizado no arquivo cood.seg mostra como isso permite fazer um gráfico de curvas paramétricas do KSEG com lugar geométrico.
Início

## Medindo e Calculando

Você pode medir várias quantidade geométricas com KSEG e executar cálculos com as medições. Todas as unidades de distância estão em pixels e ângulos estão em graus. Aqui está o que você pode medir:

- Para medir a distância entre um ponto e qualquer curva ou outro ponto, selecione os dois objetos geométricos e vá para "Medir/Distância".
- Para medir o comprimento de um segmento de reta, selecione o segmento de reta e vá para "Medir/Comprimento".
- Para medir a circunferência, selecione a circunferência e vá para "Medir/Circunferência".
- Para medir comprimento de um arco, selecione o arco e vá para "Medir/Comprimento do Arco".
- Para medir o raio de um arco ou circunferência, selecione o objeto e vá para "Medir/Raio".
- Para medir o ângulo definido por três pontos, selecione os três pontos e vá para "Medir/Ângulo".
- Para medir a razão entre comprimentos de dois segmentos de reta, selecione os segmentos e vá para "Medir/Razão".
- Para medir a inclinação de um segmento de reta, uma semi-reta, ou uma reta, selecione o objeto e vá para "Medir/Inclinação".
- Para medir a área de um objeto hachurado, selecione o polígono, setor circular, segmento circular, ou círculo e vá para "Medir/Área". Se você tem um "mau" polígono (com um não formado por uma curva fechada simples), essa medição de "área" não será igual à medida da área que parece ter na tela.

Você pode combinar algumas medições em um cálculo. Para criar um cálculo, selecione qualquer "Medir/Calcular..." no menu ou dê um duplo clique sobre uma medição existente. O menu de opções criará um cálculo "vazio" se nada estiver selecionado mas se uma medição ou cálculo estiver selecionado, isso criará um cálculo com referências a essa seleção. Dando um duplo clique sobre uma medição cria um cálculo referenciando a medição sobre a qual você deu um duplo clique. Em qualquer caso, a janela de edição de cálculo aparece onde você quer colocar a fórmula a ser calculada. Se o seu duplo clique se dá sobre um cálculo já existente a janela retornará permitindo que você altere o cálculo.

O desfazer na parte dos cálculos é completamente separado do desfazer do KSEG e é perdido assim que a janela de edição de cálculos é fechada.

Enquanto na janela de edição de cálculos, você pode colocar números, as operações aritméticas usuais, raízes, expoentes, e frações a partir da barra de ferramentas (ou use as teclas de atalho CTRL+2, CTRL+6, CTRL+/). Você pode também usar as seguintes funções:

sqrt, log, exp, floor(arredondar para baixo), ceil(arredondar para cima), fabs(módulo), sin, cos, tan, sinh, cosh, tanh, asin, acos, atan, asinh, acosh, atanh

Note que as funções acima trabalham com radianos, em oposição às medições/transformações que são dadas em graus. Eu sei que isso decepciona, mas o único caminho sensato para corrigir isso é adicionar suporte a unidades.

Finalmente, você pode referenciar outra medição e outro cálculo através de um clique com o botão esquerdo sobre ele na janela principal do KSEG enquanto o editor de cálculo estiver aberto. Não é permitido referenciar cálculos que você está editando atualmente.

Sinto-me na obrigação de dizer que essa é a parte do KSEG que menos me agrada. Não tem suporte razoável a quaisquer unidades e os cálculos são muito desajeitados. Finalmente, a codificação das fórmulas é grande e lenta ( e com alguns bugs).
Início

## Editando, Corrigindo e Aperfeiçoando

### Modificações na Aparência e Rótulos

Você pode especificar como quer que um objeto geométrico em particular seja desenhado selecionando o objeto (ou alguns deles) e indo para "Editar/Cor", "Editar/Estilo da Reta", "Editar/Tamanho do Ponto", ou "Editar/Fonte", como lhe parecer apropriado. Indo a esses menus sem objetos selecionados poderá modificar a aparência padrão dos objetos posteriormente construídos. Sempre que cores,fontes, etc. não estiverem disponíveis na barra de ferramentas você pode clicar sobre a reta pontilhada no topo desses menus para "rasgar" e obter um efeito similar a uma barra de ferramentas.

Pontos e várias curvas possuem rótulos que você pode mostrar (eles não são mostrados por padrão) selecionando os objeto(s) e indo para "Editar/Mostrar Rótulo(s)". Esses rótulos podem ser modificados selecionado o objeto e indo para "Editar/Alterar Rótulo" ou dando um duplo clique sobre o rótulo se ele estiver visível. Você pode igualmente usar rótulos sobrescritos e subscritos convenientemente com outro efeito que você puder imaginar :-) Você pode arrastar um rótulo para movê-lo relativamente ao objeto ao qual ele está se referindo.

### Reconstruindo

Nada é mais frustrante que gastar meia hora sobre uma construção elaborada e então descobrir que você cometeu um pequeno erro no início. O mecanismo de reconstrução do KSEG permitirá a você facilmente corrigir isso. Para reconstruir um ponto, pressione CTRL, com o botão esquerdo do mouse pressionado arraste o ponto, e solte-o sobre os objeto(s) que você gostaria de reconstruir sobre esse ponto.

Por exemplo, suponha que você construa um triângulo ABC então fez uma longa construção de um centro ainda por descobrir, e então decide investigar o comportamento desse centro quando ABC for isósceles. Para fazer AB=BC, construa uma circunferência com centro em B e passando por A. Então pressione CTRL e arraste o ponto C para algum ponto sobre a circunferência. Após você soltar o botão do mouse, C será construído situado sobre a circunferência e então ABC será isósceles. Se você decidir fazer ABC novamente arbitrário, pressione CTRL, e novamente arraste C da circunferência e solte-o sobre uma região vazia.

Então:

- Pressionando CTRL e começando a arrastar um ponto imediatamente o torna livre.
- Soltando o ponto sobre uma região vazia ainda o torna livre.
- Soltando o ponto sobre uma curva construída o ponto fica vinculado à curva.
- Soltando o ponto sobre a intersecção de duas curvas constrói o ponto vinculando-o àquela intersecção.
- Soltando o ponto sobre outro ponto juntaremos os dois pontos. Internamente, o ponto arrastado desaparecerá e todos os seus descendentes serão transferidos para o ponto sobre o qual foi arrastado.

Tudo isso pode ser desfeito evidentemente com CTRL+Z ("Editar/Desfazer"). A barra de status fará o melhor para mantê-lo informado do que acontecerá se você soltar o ponto.

Algumas vezes KSEG não permitirá a você fazer a reconstrução que você quer. Isso é por boas razões ( embora possa ser bug ): você não pode reconstruir um ponto baseando-se em um de seus descendentes. Você também não pode reconstruir um ponto se fazendo isso quebrará a dependência de um ponto dirigido, em um lugar geométrico, em relação a seu ponto diretor ( você também nunca pode reconstruir um ponto que é o diretor de algum lugar geométrico). Finalmente, existem complicadas regras em Construções às quais tentam garantir que você não misture uma Construção com uma reconstrução. Por exemplo, você não estará apto a reconstruir um ponto "Conhecido" em uma curva "Final". Se você descobrir que KSEG permite a você executar uma reconstrução que pode fazer uma Construção inválida, por favor me avise.

Início

## Visualizando e Exportando Imagens

### Vendo de Forma Panorâmica e Modificando o Tamanho

Com o objetivo de ter uma visão melhor de sua construção, KSEG permite a você ampliar ou reduzir e mover-se em torno de sua construção. Para modificar o tamanho, vá para "Visualização/Ampliação". O cursor do mouse será mudado em uma lupa (quando sobre a área de desenho). Pressione o botão esquerdo do mouse e arraste para cima ou para baixo para aumentar ou diminuir a ampliação. A ampliação ocorre em torno do ponto onde o botão do mouse foi pressionado. Após soltar o botão do mouse, o cursor volta à seta normal. A ampliação corrente sempre é mostrada na barra de status. Note que independentemente da ampliação, coisas como pontos, espessura da reta, e fontes não mudam de tamanho. Visão panorâmica trabalha de forma similar à ampliação--vá para "Visualização/Panorâmica", pressione o botão esquerdo do mouse e arraste em todas as direções. Alternativamente, você pode ter uma visão panorâmica sem ir ao menu--apenas pressione o botão do meio do mouse e mova o cursor.

Se você for para "Visualização/Ajustar à janela", KSEG fará automaticamente a visão panorâmica e ampliação da imagem de forma que ela adapte-se ao campo de visão. Se você escolhe "Visualização/Tamanho Original(100%)", KSEG ajustará a ampliação para 100% e a visão panorâmica da imagem retornara ao original.

### Visualizações Múltiplas

Para criar outra visualização (em outra janela) do documento corrente, vá para "Visualização/Duplicar Janela". Uma nova Janela aparecerá. Ajustando a panorâmica e a ampliação em uma visualização não afetará outra visualização, mas modificando o documento ou selecionando objetos em uma se refletirá em todas as visualizações daquele documento. Então se você arrastar um ponto em torno de sua posição original em uma visualização você verá ele efetuando o mesmo movimento em todas as visualizações. Você pode usar visualizações para, por exemplo trabalhar em uma pequena parte de um desenho (ou fazer movimentos precisos em uma área com grande ampliação) enquanto simultaneamente vê os efeitos sobre o desenho inteiro em uma visualização diferente.

### Exportando Uma Imagem

Você pode exportar o conteúdo de uma visualização corrente para um arquivo de imagem (em alguns formatos populares). Para fazer isso, vá para "Arquivo/Exportar Para Imagem...". Uma janela aparecerá que permite a você escolher o formato do arquivo e se você quer que a imagem seja de "Alta Qualidade". Clique em OK e então escolha o nome do arquivo na caixa de diálogo que aparece. As dimensões da imagem serão as dimensões da visualização corrente.
Se você selecionar "Imagem de Alta Qualidade", KSEG demorará mais tempo para exportar, mas a imagem será antialiased e desenhada com precisão de subpixels. Essa opção é poderosa para fazer gráficos para web, mas terá uma aparência péssima se você imprimir (pior que a versão de baixa qualidade). Também, certamente não use a opção de alta qualidade se você está exportando para uma imagem em preto e branco (mas em tons de cinza funciona bem)--a aparência será horrível. Usando baixa qualidade é "seguro"desde que a imagem exportada seja exatamente o que está na tela.

Início

## Construções

Construções são provavelmente o mais poderoso recurso do KSEG. Uma Construção é como um desenho normal do KSEG, exceto que pode ser executada em outro desenho do KSEG ( ou Construção). Primeiro, um exemplo simples:

### Descrição Minuciosa do exemplo da Circunferência Circunscrita

Essa parte conduzirá você através da construção de arquivo exemplo de Construção circumcicle.sec. Nesse caminho, explicarei o que cada passo significa. Essa Construção irá, dados três pontos, construir a circunferência que passa por eles.

1. Crie uma nova Construção indo para "Arquivo/Construção".
2. Construa três pontos A, B e C. Esses pontos representaram os únicos conhecidos para a Construção.
3. Selecione A, B e C e faça-os "Conhecidos" indo para "Construção/Definir Conhecido". Isso permite ao KSEG saber que esses pontos serão conhecidos para a Construção quando ela for executada novamente.
4. Construa os segmentos de reta AB e BC e seus pontos médios, D, e E.
5. Construa a reta passando por D e perpendicular a AB e a reta que passa por E e é perpendicular a BC. Construa a intersecção F entre as duas. Essa intersecção é o circuncentro do triângulo ABC.
6. Agora construa a circunferência com centro em F e passando pelo ponto A. Essa é a circunferência desejada.
7. Agora selecione todos os objetos que você construiu exceto a circunferência circunscrita e os três pontos conhecidos e vá para "Editar/Ocultar Objetos" para torná-los ocultos. Fazemos isso por que quando executarmos a Construção, os objetos intermediários da construção congestione a tela--queremos apenas a circunferência circunscrita.
8. É isso! Teste a Construção criando um novo desenho (com "Arquivo/Desenho"), construindo três pontos no desenho, selecionando esses três ponto e indo para "Executar/Sem Nome" ( assumindo que você não gravou a Construção).A circunferência circunscrita aparecerá magicamente.

### Construções Não Recursivas

O maior poder de Construções vem de sua habilidade de ser recursivo. Portanto, Construções não-recursivas são muito simples--o exemplo de circunferência circunscrita acima abrange praticamente tudo que existe para saber sobre isso. Aqui está alguns detalhes (eles se aplicam a Construções recursivas convenientemente):

- Objetos com pais podem ser marcados como Conhecidos. Nesse caso, freqüentemente faz sentido não construir os pais, se eles não serão usados para nada além disso. Alguns objetos são marcados "(não construído)" na Lista de Construção.

  Tecnicamente, aqui está a regra: Imagine o relacionamento ascendente-descendente como um diagrama de Venn sobre objetos. Se cada caminho ( no diagrama de Venn ) de um objeto A para cada objeto sem filhos tem ao menos um objeto Conhecido, então A não é construído.

- Você poderá não ser permitido marcar como Conhecido objetos os quais são necessários para a definição de um lugar geométrico. Por exemplo, você pode não ser permitido marcar o ponto diretor como Conhecido porque KSEG não pode garantir que esse ponto estará contido em uma curva quando a construção for executada.
- É possível para os objetos selecionados serem promovidos a objetos Conhecidos mesmo que os tipos desses objetos sejam diferentes. Por exemplo, se em uma Construção, você cria o segmento S, marca como Conhecido, e constrói um ponto sobre esse segmento, você pode selecionar ( em um documento diferente) um arco, circunferência, , semi-reta, ou segmento, executar essa construção, e um ponto aparecerá sobre o objeto que você selecionou. Contudo, se na Construção você constrói uma reta perpendicular a S passando pelo ponto, você pode não estar apto a executá-la sobre uma circunferência ou sobre um arco.

  O algoritmo que promove objetos selecionados a objetos Conhecidos não é trivial (mas ele ainda não é muito bom teoricamente de qualquer forma). A primeira coisa que é tentada é igualar a ordem selecionada à ordem do Conhecido. Se isso não funciona, uma busca é tentada (isso realmente pode fazer uma comparação um a um, mas isso é mais trabalhoso para implementar e o valor disso é questionável). Algumas vezes pode não ser permitido igualar os objetos selecionados a Conhecidos mesmo quando a equiparação é possível (e o item no menu Executar será desabilitado). Nesse caso apenas selecione os objetos em uma ordem diferente, dentro das possibilidades dos Conhecidos.

- Pontos livres (bem como medições e cálculos) que não são marcados como Conhecidos podem ser colocados randomicamente(aleatóriamente). Pontos contidos em curvas serão colocados em posições randomicas sobre essa curva.
- Executar/Rapidamente é um recurso muito conveniente para acessar uma biblioteca de Construções que você usa freqüentemente. Selecione o diretório no qual você guarda suas Construções favoritas com "Executar/Rapidamente/Escolher Diretório...", então selecione alguns objetos no documento corrente que correspondem aos Conhecidos de uma das Construções naquele diretório e vá para "Executa/Rapidamente/NomedoArquivodeConstrução.sec" para executá-la sem precisar abrir a construção. Para isso funcionar o KSEG pesquisa as Construções no diretório e habilita as que os Conhecidos coincidirem com os objetos selecionados atualmente.
- "Arquivo/Copiar Como Construção" permite a você fazer um desenho e convertê-lo para um arquivo de Construção. Isso é útil se você está executando como desenho e descobre algo que pode aplicar a outros desenhos--vá para "Arquivo/Copiar Como Construção" e uma nova construção aparece contendo os mesmos objetos geométricos que o desenho. Você pode também apagar objetos que você não precisa, marcar algum objeto Conhecido e aplicar a construção a outros documentos.

### Construções Recursivas

O melhor de usar Construções é recursividade. Ela permite a você construir fractais, convenientemente com repetições de Construções apenas. Para um exemplo simples, veja tractrix.sec (use um segmento curto e intensidade de repetição como 30). Para um exemplo mais complicado ( com múltiplos ramos de recursão), veja dragon.sec, o qual constrói um fractal.

Uma Construção torna-se recursiva quando você insere "objetos" de repetição dentro dela (eles são não são realmente objetos geométricos, eles apenas pretendem ser). Para inserir uma repetição, selecione alguns objetos os quais são promovidos a Conhecidos e vá para "Construção/Repetir Passos". Uma repetição diz ao KSEG que após todos os outros passos na Construção terem sido executados, ele deverá repetir a Construção recursivamente, iniciando com os objetos selecionados na hora que a repetição é especificada. Evidentemente KSEG não faz isso para sempre--quando você executa um Construção recursiva, KSEG pergunta a você pela intensidade máxima da repetição. Seja cuidadoso--se você tem mais de uma repetição em uma Construção, o número de objetos que o KSEG tem para construir é exponencial no tamanho máximo da repetição--em outras palavras, mantenha a intensidade de repetição pequena.. No meu antigo sistema de 350mhz, KSEG pode suportar 100.000 objetos confortavelmente--o que pode ser suficiente para qualquer coisa que posso pensar.

Lembre-se que ao inserir uma repetição em uma Construção, o conjunto de objetos Conhecidos torna-se fixo (você não estará apto a marcar novos objetos como Conhecidos, passando os objetos atualmente Conhecidos para objetos do tipo Normal, apagando um objeto Conhecido apaga-se todas as repetições, etc.) Isso é para prevenir as repetições tornem-se inválidas. Para alterar o conjunto de objetos Conhecidos apague primeiro a repetição.

Você também pode definir os objetos em "Final" e "Inicial" numa Construção recursiva. Objetos finais são simples: eles são somente construídos na etapa final da repetição. Isso é prático para muitas coisas, particularmente para fractais que somente mostram o nível mais alto de detalhes--veja dragon.sec ou sierp2.sec. Descendentes de objetos Finais também podem ser construídos somente na etapa final da repetição--eles são marcados como "(Final)" na lista de Construção.

"Definir Inicial" é complicado--isso é um recurso "avançado". Não está com toda sua força, but it has enough weird effects for it to be really hard to figure out sometimes. Um objeto Inicial é somente construído uma vez ( no primeiro nível de intensidade de repetição). Quaisquer objetos cujos pais são inicial (ou implicitamente inicial) tornam-se implicitamente Iniciais e estão marcados como "Inicial" na Lista de Construção. Para uma boa ilustração, veja sierp.sec: primeiro execute-a normalmente (note que os lados maiores do triângulo são construídos somente uma vez) e então construa o ponto P sobre o segmento inicial s_9 e contrua o segmento de reta PC (de P para o Conhecido ponto C). Execute novamente e observe o efeito. Objetos iniciais podem ser usados para economizar memória (como em koch.sec) ou para seus efeitos.

Em Construções recursivas, quando trabalhamos com Definir Final/Definir Conhecido/Definir Inicial, KSEG fará o melhor para previnir configurações inválidas ou desprovidas de significado, como um Inicial ou Conhecido tendo pais que são objetos Finais. Pode não ser óbvio o que KSEG está fazendo, mas é geralmente correto (se você descobrir um caso onde isso não é, me mande um e-mail por favor, com a construção válida e a descrição da ação que faz isso inválido).

### Exemplo de Construção Recursiva

1. Construa três pontos A, B e C, os segmentos AB, BC e CA e os pontos médios respectivos desses três segmentos (E, F e G).
2. Selecione os pontos A, B e C e vá em "Construção/Definir Conhecido". Antes a lista de Construção do KSEG informava que "Ponto A está livre" , com a execução do passo atual ela passará a informar "Conhecido(1) Ponto A", ocorrendo algo parecido com os pontos B e C.
3. Selecione D, E e F e clique em "Construção/Repetir Passos". Será acrescentado uma linha 10 à lista de Construção. Grave a Construção com o nome de "triangulos" (sem acento mesmo) e vá para "Arquivo/Desenho".
4. No desenho construa três pontos quaisquer e selecione-os.
5. Vá para "Executar/Rapidamente". Você deverá ver "triangulos.sec" habilitado. Clique sobre "triangulos.sec". Abrir-se-á uma janela.
6. Informe a "Intensidade de Repetição" e clique sobre o OK.

Início

Ilya Baran
ibaran@mit.edu
http://www.mit.edu/~ibaran/