# Ayuda de KSEG

## Salto Rápido:

Inicio Rápido: Instrucciones Paso a Paso
Introducción
Seleccionar Objetos
Construir
Transformaciones
Medidas y Cálculos
Editar y Reconstreñir
Vistas y Exportación de Imágenes
Construcciones

## Inicio Rápido: Instrucciones Paso a Paso

Al cabo de seguir estas instrucciones usted se habrá familiarizado con el uso básico de KSEG y podrá empezar a explorarlo por sí mismo. Para aprender las características avanzadas, lea todo este documento.

1. Ejecute KSEG (escriba 'kseg' sin comillas en la línea de comandos seguido de ENTER). Verá un espacio (lienzo) blanco abarcando la mayor parte de la ventana de croquis (rodeado por barras de herramientas, barras de desplazamiento, un menú y una barra de estado).
2. Haga clic derecho en medio del lienzo para construir el punto A.
3. Mantenga oprimido SHIFT mientras hace clic derecho nuevamente en un sitio distinto del lienzo para construir el punto B. Puesto que SHIFT se mantuvo oprimido, el punto A no se deselecciona, por lo que luego de este paso los dos puntos estarán seleccionados.
4. Seleccione "Nuevo/Círculo por centro y radio" desde el menú. Esto construirá un círculo centrado en el punto A pasando por el punto B. El círculo aparecerá seleccionado mientras que los puntos A y B se deseleccionan.
5. Seleccione el punto B haciéndole un clic izquierdo (lo cual también deseleccionará al círculo). Luego mantenga oprimido SHIFT y haga clic izquierdo en el punto A para seleccionarlo.
6. Nuevamente seleccione "Nuevo/Círculo por centro y radio" desde el menú. Esto construirá un círculo con centro en B (porque se seleccionó primero) y pasando por A.
7. Sosteniendo SHIFT haga clic en el primer círculo que usted construyó para seleccionarlo. Ahora ambos círculos están seleccionados.
8. Seleccione "Nuevo/Puntos de intersección" en el menú. Deberían de aparecer dos puntos en las intersecciones de los dos círculos, y ambos puntos se seleccionan.
9. Seleccione "Nuevo/Línea" en el menú. Esto construye la mediatriz (bisectriz perpendicular) de los puntos A y B.
10. Ahora mueva el punto A jalándolo con el botón izquierdo del ratón. Esto le dará una buena idea de lo que KSEG puede hacer.

Desde luego, este no es la manera más eficiente de construir una mediatriz en KSEG (aunque es esa sea la manera de hacerlo con regla y compás), pero el punto es mostrar cómo funcionan las construcciones y selecciones.

Retroceder al inicio

## Introducción

KSEG es una herramienta diseñada para permitirle visualizar fácilmente las propiedades dinámicas de construcciones con regla y compás y para volver la exploración geométrica tan rápida y fácil como sea posible. Casi cada vez que me siento a jugar con KSEG descubro alguna propiedad geométrica que no sabía antes.

Con KSEG usted puede crear una construcción dinámica primero poniendo puntos en la pantalla y luego usándolos para construir otros objetos, tales como líneas rectas o círculos. Luego usted puede mover los puntos que creó y mirar cómo responde la construcción entera. KSEG es muchísimo más que eso, desde luego, pero esta es la idea básica. También lo uso con frecuencia para generar diagramas geométricos de alta calidad para usarlos con LaTeX. Encuentro que la manera más sencilla de hacer esto es imprimir desde KSEG un archivo Postscript (.ps), convertirlo a Encapsulated Postscript (.eps), ponerle anotaciones en XFIG y exportarlo en formato PS o LaTeX.

Un problema de terminología: Utilizo el término "construcción" para referirme al archivo (fichero) "tipo macro" de KSEG, así como simplemente para describir un conjunto de objetos geométricos que pueden depender unos de otros. Usualmente es claro a partir del contexto a cuál de los dos significados me refiero, pero en este documento usaré la palabra "Construcción" con mayúscula para referirme al tipo de archivo, y "construcción" con minúscula para referirme a un conjunto de objetos geométricos.

### Objetos Geométricos

Puntos, rectas, medidas, cálculos, lugares geométricos, etc., son "objetos geométricos". Un objeto geométrico puede tener objetos geométricos "progenitores" de los cuales depende. Por ejemplo, si usted construye dos puntos y la recta que pasa a través de ellos, entonces los puntos son progenitores de la recta y la recta es descendiente de los puntos. Al mover (jalar) un punto libre, todos sus descendientes se recalculan. Al mover un objeto que tiene progenitores (esto se llama jalar en reversa), un algoritmo complicado determina cuáles progenitores mover para conseguir el movimiento deseado del objeto que se está jalando.

Un objeto geométrico puede ser "no existente" en un sentido geométrico, como por ejemplo un punto de intersección de círculos disjuntos. Si los círculos más tarde se aproximan uno al otro, los puntos comienzan propiamente a existir de nuevo. Los descendientes de objetos no existentes son también no existentes (con la excepción del lugar geométrico. Para detalles, lea la documentación de lugar geométrico más abajo). Así que si usted mueve un punto por aquí y por allá y de repente la mayor parte de la construcción desaparece debido a que dos segmentos de recta han dejado de intersectarse (los objetos que desaparecen son los descendientes del punto de intersección), no se preocupe: reaparecerá tan pronto como se intersecten de nuevo.

Retroceder al inicio

## Seleccionar Objetos

Para construir nuevos objetos usualmente se necesita seleccionar objetos existentes. He aquí las opciones posibles para hacer esto:

- Clic izquierdo en un espacio vacío deselecciona todos los objetos actualmente seleccionados.
- Clic izquierdo en un objeto deseleccionado selecciona a este objeto y deselecciona todos los demás.
- Presionar el botón izquierdo del ratón en un espacio vacío, arrastrando y luego soltando seleccionará todos los objetos que intersectan el rectángulo y deseleccionará todos los demás.
- Sosteniendo SHIFT y haciendo clic izquierdo en un objeto sirve para seleccionar un objeto si ya está seleccionado y deseleccionarlo si ya esta seleccionado. El resto de los objetos que estén seleccionados permanecerán seleccionados.
- Sosteniendo SHIFT, presionando el botón izquierdo del ratón en un punto vacío, arrastrando y soltando añadirá a la selección todos los objetos que intersecten al rectángulo.
- En una Construcción, también existe la opción de seleccionar objetos a través de la lista de Construcción. Puede hacer clic o arrastrar o usar SHIFT. Nótese que, a diferencia de otros métodos, esto le permite seleccionar objetos invisibles y no existentes.

Cuando haga clic en un área donde hay más de un objeto las cosas son mas complicadas (para KSEG, ¡no para usted! Le debería resultar muy intuitivo). Los objetos tienen una precedencia de selección. Primero puntos, curvas y texto y lugares geométricos son segundos, los objetos rellenos son los últimos. Si objetos con mayor precedencia están bajo el ratón entonces los objetos con menor precedencia se ignoran. Dentro de una misma precedencia el algoritmo es tal que dando repetidos clics recorre cíclicamente las posibles selecciones. La barra de estatus es siempre un buen lugar en el cual averiguar qué ocurrirá si usted hace clic.

### Grupos de Selección

Una manera más poderosa de seleccionar múltiples objetos es usar grupos de selección. Un grupo de selección es un conjunto de objetos que usted le dice a KSEG que agrupe para realizar operaciones de selección con ellos fácilmente. El menú "Editar/Grupos de selección..." despliega la ventana manejadora de grupos de selección (asociados con un documento). Al abrirla se muestra en una ventana de lista todos los grupos de selección que se tienen en el archivo en adición a los grupos predefinidos. Los grupos predefinidos están marcados con un asterisco --hay uno para cada tipo de objeto que agrupa todos los objetos de ese tipo.

Al seleccionar un grupo de selección (o varios) en la ventana de lista del manejador de grupos de selección y hacer clic en el botón Seleccionar, todos los objetos de ese grupo se seleccionan y todos los demás objetos se deseleccionan. Sosteniendo SHIFT mientras se hace clic en el botón de Seleccionar seleccionará los objetos en ese grupo sin deseleccionar otros objetos que pueden estar actualmente seleccionados. Un clic en el botón Deseleccionar deseleccionará solamente los objetos en el grupo. Cuando hay al menos un objeto seleccionado, el botón Nuevo Grupo se habilita. Úselo para crear un nuevo grupo consistente de los objetos seleccionados. No es posible eliminar grupos predefinidos.

Al seleccionar Afectar Objetos Invisibles solamente se actúa en los grupos de selección predeterminados. Si se deselecciona (comportamiento por defecto), "Todos los puntos" se refiere únicamente a los puntos visibles (no ocultos); si se selecciona, "Todos los puntos" se refiere también a los ocultos. Los grupos que no son predefinidos siempre seleccionan/deseleccionan todos los objetos en ellos, incluyendo los ocultos.

Un grupo (no definido) puede volverse vacío si todos sus miembros son eliminados (directamente o deshaciéndolos). Tales grupos están marcados con un signo de menos pero no se eliminan automáticamente (puesto que deshacer/rehacer puede regresar objetos en esos grupos a la vida). Sin embargo, los grupos vacíos no se guardan con el documento.

Retroceder al inicio

## Construir

Cuando se construyen nuevos objetos quedan inmediatamente seleccionados y, con la excepción de puntos construidos haciendo clic derecho oprimiendo SHIFT, todos los otros objetos se deseleccionan

### Puntos

- Para construir un punto libre, haga clic derecho en un área vacía del lienzo de KSEG.
- Para construir un punto constreñido a una curva (recta, segmento, rayo, círculo, arco), haga clic derecho sobre la curva.
- Para construir un punto constreñido a una intersección de dos curvas, haga clic derecho en la intersección. Alternativamente, seleccione las dos curvas y elija "Nuevo/Punto(s) de intersección" en el menú. Cuando las dos curvas tienen dos puntos de intersección (al menos potencialmente) la opción del menú construirá ambos, mientras que el clic derecho solamente construirá uno.
- Para construir el (los) punto(s) medio(s) de uno o mas segmentos de recta, selecciónelos y elija "Nuevo/ Punto(s) medio(s)".

### Segmentos

Solamente hay una forma de hacer un segmento de recta --seleccione dos o más puntos y elija "Nuevo/Segmento(s)". Si dos puntos estás seleccionados, un segmento será construido. Si n > 2 puntos se seleccionan entonces n segmentos serán construidos.

### Rayos

- Se puede construir un rayo que inicia en un punto y pasa por otro seleccionando los dos puntos (en orden) y yendo a "Nuevo/Rayo". Seleccione más de dos puntos para construir múltiples rayos.
- Para construir la bisectriz de un ángulo, seleccione tres puntos que definan el ángulo y vaya a "Nuevo/Bisectriz de ángulo". La bisectriz siempre bisecta la parte aguda del ángulo.

### Rectas

- Para construir una recta, seleccione dos o más puntos y vaya a "Nueva/Recta(s)".
- Para construir una recta paralela a otra dada y pasando por un punto, seleccione el punto y la recta (también se puede usar un segmento o rayo) y vaya a "Nuevo/Recta paralela". Pueden seleccionarse múltiples puntos o múltiples rectas (pero no ambos).
- Para construir una recta perpendicular, seleccione como lo haría para una recta paralela, pero elija "Nuevo/Recta(s) paralela(s)" en el menú.

### Círculos

- Para construir un círculo con centro dado y pasando por un punto, seleccione primero el centro y luego el otro punto y vaya a "Nuevo/Círculo por centro y radio".
- Para construir un círculo con centro y radio dados, seleccione el centro y un segmento de recta cuya longitud será el radio y elija "Nuevo/Círculo por centro y radio".

### Arcos

- Un arco solamente puede ser construido seleccionando tres puntos y yendo a "Nuevo/Arco por tres puntos".

### Lugares Geométricos

Un lugar geométrico es un objeto que representa la trayectoria de otro objeto geométrico (el objeto "conducido") conforme un punto (el "conductor") se mueve a lo largo de una curva. Para construir un lugar geométrico, seleccione un punto en una curva y un descendiente de ese punto. El objeto conducido puede ser un punto, una curva o incluso otro lugar geométrico (aunque esto puede ser muy lento). Un lugar geométrico podría existir incluso si el objeto conducido es no existente, puesto que el objeto conducido puede existir cuando el objeto conductor está en una posición diferente.

Por ejemplo, sea L una recta, sea A un punto en L, sea B un punto no en L, y sea K la recta a través de A perpendicular a AB. Entonces si K es el objeto conducido y A es el conductor, la envolvente del lugar geométrico trazado por K es la parábola con foco B que es tangente a L.

Puesto que un lugar geométrico es un conjunto infinito de objetos geométricos, KSEG no puede calcularlo exactamente sino que a cambio aproxima el lugar geométrico por muestreo. Se puede cambiar el número de muestras que KSEG realiza para un lugar geométrico particular haciendo doble-clic en ese lugar geométrico o bien seleccionándolo y eligiendo "Editar/Cambiar número de muestras...". Un caso especial es cuando el objeto guiado es un punto. En ese caso, KSEG automáticamente conecta los puntos muestreados y usa un algoritmo adaptativo para tratar de rápidamente suavizar y precisar el lugar geométrico. En ese caso, el número de muestras especificado sirve tan sólo como límite superior del número de muestras realmente ejecutadas --el algoritmo puede decidir dejar de muestrear si piensa que el lugar geométrico es suficientemente bueno. Este algoritmo adaptativo generalmente resulta en lugares geométricos de mucho mejor apariencia comparados a los generados por programas similares a KSEG.

### Objetos Rellenos

- Para construir el interior de un polígono, seleccione tres o más puntos y elija "Nuevo/Polígono".
- Para construir un sector de arco, seleccione un arco y elija "Nuevo/Sector de arco". Para un segmento de arco, seleccione un arco y elija "Nuevo/Segmento de arco".
- Para construir el interior de un círculo, seleccione un círculo y elija "Nuevo/Interior de círculo".

Retroceder al inicio

## Transformaciones

KSEG le permite aplicar ciertas transformaciones afines a los objetos geométricos. El procedimiento general es "elegir" algunos objetos para definir la transformación usando "Transformar/Elegir *" en el menú. Luego seleccione los objetos a transformar, elija la acción apropiada desde el menú transformar, y las copias transformadas de los objetos serán creadas. He aquí los detalles:

Elección:

- Para elegir un vector, seleccione dos puntos y vaya a "Transformar/Elegir vector". El vector irá del primer punto seleccionado al segundo.
- Para elegir el eje de simetría, seleccione una línea, un segmento o un rayo y vaya a "Transformar/Elegir eje de simetría".
- Para elegir un centro, seleccione un punto y vaya a "Transformar/Elegir centro".
- Para elegir un ángulo, seleccione o bien tres puntos o bien una sola medida o cálculo y vaya a "Transformar/Elegir ángulo".
- Para elegir una razón, seleccione o bien dos segmentos de línea o bien una sola medida o cálculo y vaya a "Transformar/Elegir razón".

Los grupos de objetos actualmente elegidos están marcados con amarillo para avisarle lo que las transformaciones harán. Si ya terminó de transformar y quiere deshacerse de las marcas amarillas (por razones estéticas o de captura de pantalla, ya que no aparecen al imprimir), entonces vaya a "Transformar/Borrar los elegidos".

- Para trasladar objetos necesita elegir un vector.
- Para reflejar objetos necesita elegir un eje de simetría.
- Para aplicar una homotecia, necesita un centro y una razón.
- Para rotar objetos, necesita un centro y un ángulo.

La capacidad de transformar objetos usando una medida o un cálculo para el radio o ángulo fácilmente le permite crear construcciones imposibles con sólo regla y compás. Puede que quiera tener cuidado con esto, pero también puede ser divertido --el archivo de ejemplo coord.seg muestra cómo puede hacer que KSEG grafique curvas paramétricas como lugares geométricos.

Retroceder al inicio

## Medidas y Cálculos

En KSEG se pueden medir diversas cantidades geométricas y efectuar cálculos con las medidas. Todas las distancias se miden en pixeles y los ángulos en grados. He aquí lo que puede medir:

- Para medir la distancia entre un punto y una curva u otro punto, seleccione los dos objetos geométricos y vaya a "Medir/Distancia".
- Para mediar la longitud de un segmento de recta, selecciónelo y vaya a "Medir/Longitud".
- Para medir la circunferencia de un círculo, seleccione el círculo y vaya a "Medir/Circunferencia".
- Para medir la longitud de arco de un arco, selecciónelo y vaya a "Medir/Longitud de arco".
- Para medir el radio de un arco de círculo, selecciónelo y vaya a "Medir/Radio".
- Para medir el ángulo definido por tres puntos, seleccione los tres puntos y vaya a "Medir/Ángulo".
- Para medir la razón entre las longitudes de dos segmentos de recta, selecciónelos y vaya a "Medir/Razón".
- Para medir la pendiente de un segmento de recta, un rayo o una recta, seleccione el objeto y vaya a "Medir/Pendiente".
- Para medir el área de un objeto relleno, seleccione el polígono, el sector de arco, el segmento de arco o el interior del círculo y vaya a "Medir/Área". Si tiene un polígono "malo" (cuyos lados se autointersectan), el "área" medida no será igual al área que parece tener en la pantalla.

Se pueden combinar varias medidas en un cálculo. Para crear un cálculo, bien elija "Medir/Calcular..." en el menú o haga doble clic en una medida existente. La opción del menú crea un cálculo "vacío" si nada estaba seleccionado, pero si una medida o cálculo estaba seleccionada entonces crea un cálculo que referencia al seleccionado. El doble clic crea un cálculo que referencia la medida en que se hizo el doble clic. En cualquier caso, la ventana del editor de cálculos aparece y ahí puede entrar la fórmula que desea calcular. Si se hace doble clic en un cálculo existente, aparecerá una ventana del editor de cálculos que le permite modificarlo.

La pila de deshacer en el editor de ecuaciones es completamente ajena de la pila de deshacer en el resto de KSEG y se pierde tan pronto se cierra la ventana del editor de cálculos.

Dentro de la ventana del editor de cálculos se pueden entrar números, operaciones aritméticas usuales, raíces selectas, potencias y fracciones desde la barra de herramientas (o use las teclas de método abreviado CTRL+2, CTRL+6, CTRL+/). También se pueden usar las funciones siguientes:

sqrt (raíz cuadrada), log (logaritmo natural), exp (exponencial o antilogaritmo natural), floor (truncar hacia abajo), ceil (truncar hacia arriba), fabs (valor absoluto), sin (seno), cos (coseno), tan (tangente), sinh (seno hiperbólico), cosh (coseno hiperbólico), tanh (tangente hiperbólica), asin (arco seno), acos (arco coseno), atan (arco tangente), asinh (arco de seno hiperbólico), acosh (arco de coseno hiperbólico), atanh (arco de tangente hiperbólica).

Note que las funciones anteriores trabajan con radianes, en contraste con las medidas y transformaciones, que lo hacen en grados. Sé que esto no es deseable, pero la única manera razonable de arreglarlo es añadiendo soporte de unidades a KSEG (lo cual no se ha hecho).

Finalmente, se puede referenciar otras medidas y cálculos dándoles un clic izquierdo en la ventana principal de KSEG mientras el editor de cálculos está abierto. No se permite referenciar cálculos que referencien el que se está editando.

Debo decir que esta es la parte de KSEG con la que estoy menos contento. No hay soporte para unidades razonables algunas y los cálculos son más bien torpes. Finalmente, el código de programa referente a fórmulas es feo y lento (y un tanto falto de depuración).

Retroceder al inicio

## Editar y Reconstreñir

### Etiquetas y Modificación de Apariencia

Se puede especificar cómo se desea que se dibuje un objeto geométrico particular (o varios de ellos) seleccionándolo(s) y yendo a "Editar/Color", "Editar/Estilo de línea", "Editar/Estilo de punto" o "Editar/Fuente", según sea apropiado. Al ir a estos menúes sin objetos seleccionados se modificará la apariencia por defecto de los objetos subsecuentemente construidos. Aunque los colores, fuentes, etc. no están disponibles en una barra de herramientas, es posible hacer clic en la línea de guiones en la parte superior de uno de estos menúes para "arrancarlo" y obtener un efecto similar a una barra de herramientas.

Los puntos y diversas curvas tienen etiquetas que se pueden mostrar (pues no se muestran por defecto) al seleccionar el/los objeto(s) e ir a "Editar/Mostrar etiqueta(s)". Las etiquetas se pueden modificar seleccionando el objeto y yendo a "Editar/Cambiar etiqueta" o haciendo doble clic en la etiqueta si está visible. Se puede incluso usar superíndices o subíndices en las etiquetas así como otros efectos si es que usted descubre cómo :-) Se puede arrastrar una etiqueta para cambiar su posición relativa al objeto al que se refiere.

### Reconstreñir

Nada es más frustrante que gastar media hora en una construcción elaborada y luego descubrir que se cometió un pequeño error al principio. El mecanismo de reconstricción de KSEG frecuentemente le permitirá arreglarlo fácilmente. Para reconstreñir un punto, sostenga CTRL, jale el punto mientras sostiene el botón izquierdo, y suéltelo sobre el/los objeto(s) sobre el que quiere reconstreñirlo.

Por ejemplo, suponga que construye un triángulo ABC, luego efectúa una larga construcción de un centro aún por descubrir, y luego decide investigar el comportamiento cuando ABC es isósceles. Para hacer AB=BC, construya el círculo con centro B pasando por A. Luego sostenga CTRL y jale C sobre el círculo. Luego de soltar el botón del ratón, C estará constreñido a yacer en el círculo de modo que ABC será isósceles. Si decide hacer ABC arbitrario de nuevo, sostenga CTRL, y arrastre C fuera del círculo y suéltelo en algún sitio vacío.

De modo que:

- Sostener CTRL y comenzar a arrastrar un punto inmediatamente libera al punto (lo hace libre).
- Soltar el punto en un sitio vacío hace que el punto permanezca libre.
- Soltar el punto en una curva constriñe al punto a yacer en esa curva.
- Soltar el punto en la intersección de dos curvas constriñe al punto a yacer en esa intersección.
- Soltar el punto en otro punto fusiona los dos puntos. Internamente, el punto que usted jaló desaparecerá y todos sus descendientes serán transferidos al punto sobre el cual lo soltó.

Todo lo anterior puede deshacerse con CTRL+Z ("Edición/Deshacer"). La barra de estado hará su mejor esfuerzo por mantenerle informado de qué pasará si suelta usted el punto.

A veces KSEG no le permitirá hacer la reconstricción deseada. Esto es por una buena razón (aunque puede haber errores de programación): no es posible reconstreñir un punto a uno de sus descendientes. Tampoco se puede reconstreñir un punto si al hacerlo se descompone la dependencia de un punto guiado en un lugar geométrico respecto a su conductor (tampoco se puede nunca reconstreñir un punto que es el conductor de algún lugar geométrico). Finalmente, hay reglas complicadas en Construcciones que tratan de asegurar que la construcción no se estropeará con una reconstricción. Por ejemplo, no es posible reconstreñir un punto "Dado" a que yazga en una curva "Final". Si usted encuentra que KSEG le permite efectuar una reconstrucción que invalida la Construcción, por favor avíseme.

Retroceder al inicio

## Vistas y Exportación de Imágenes

### Vista Panorámica y Acercamiento

Para poder ver mejor su construcción, KSEG le permite hacer acercamientos (o alejamientos) y moverla de una parte a otra del lienzo. Para hacer un acercamiento, vaya a "Ver/Acercamiento". El puntero del ratón cambia a una lente de aumento/lupa (cuando lo mueva sobre el bosquejo). Oprima el botón izquierdo y arrastre para arriba o abajo para acercarse o alejarse. El acercamiento o alejamiento ocurren alrededor del punto donde se hace el clic. Al soltar el botón, el puntero del ratón regresa a su forma de flecha normal. El nivel de acercamiento siempre se muestra en la barra de estado. Note que, independientemente del nivel de aumento, los cosas tales como puntos, ancho de linea y tamaño de letra no cambian de tamaño. La vista panorámica funciona de manera similar al acercamiento. Vaya a "Ver/Vista panorámica", oprima el botón izquierdo y arrastre el lienzo. Alternativamente puede hacerse una vista panorámica sin usar el menú: simplemente oprima el botón medio del ratón y jale.

Si va a "Ver/Acercamiento ajustado", KSEG automáticamente ajustará el acercamiento y moverá el lienzo para que justamente quepa en la ventana. Si elije "Ver/Acercamiento original (100%)", KSEG ajustará el nivel de acercamiento de vuelta a 100% y moverá la imagen de vuelta al origen.

### Vistas Múltiples

Para crear otra vista (en otra ventana) del documento actual, vaya a "Ver/Nueva vista". Una nueva ventana aparecerá. Los acercamientos y vistas panorámicas en una vista no afectan ninguna otra vista, pero modificar el documento o editar objetos en una vista afecta a todas las otras vistas del mismo documento. Puede usar vistas, por ejemplo, para trabajar en una pequeña parte de un bosquejo (o hacer movimientos finos en una vista acercada) mientras que simultáneamente ve los efectos en el bosquejo entero en una vista distinta.

### Exportación de Imágenes

Puede exportar los contenidos de la vista actual a un archivo de imagen (en varios formatos populares). Para hacerlo, vaya a "Archivo/Exportar a imagen...". Una ventana de diálogo aparece que le permite elegir el formato de archivo así como si quiere que la imagen sea de "Alta Calidad". Oprima "Aceptar" y elija el nombre de archivo en la ventana de diálogo que aparece. Las dimensiones de la imagen serán las dimensiones de la vista actual.

Si selecciona "Imagen de alta calidad", KSEG demorará más mientras exporta pero la imagen será dibujada con precisión más allá de los burdos pixeles en la pantalla. Esta opción es ideal para gráficas de web pero es posible que se vea horrible si la imprime (peor que la versión de baja calidad). Además, asegúrese de no usar alta calidad si la imagen es exportada en blanco y negro (pero tonos grises sí funcionan) pues se verá horrible. Usar el modo de baja calidad es más "seguro" puesto que la imagen exportada es exactamente lo que se ve en pantalla.

Retroceder al inicio

## Construcciones

Las Construcciones son probablemente la característica más poderosa de KSEG. Una Construcción es como un croquis normal de KSEG, excepto por el hecho de que puede animarse (ejecutarse) de vuelta en otro croquis (o Construcción) de KSEG. Primero, un ejemplo simple:

### Ejemplo Paso a Paso del Circuncírculo

Esta parte le guiará paso a paso a través de la Construcción del ejemplo circumcircle.sec. A lo largo del camino, le explicaré lo que cada paso significa. Esta es la Construcción del círculo que pasa por tres puntos dados.

- Cree una nueva Construcción yendo a "Archivo/Nueva Construcción".
- Construya tres puntos A, B y C. Estos puntos representarán los puntos dados a la Construcción.
- Seleccione A, B y C y hágalos "Dados" yendo a "Construcción/Hacer dado" [NT: La "D" mayúscula en "Dados" es intencional]. Esto le avisa a KSEG que estos puntos le serán dados a la Construcción cuando se anime más tarde.
- Construya los segmentos de recta AB y BC y sus puntos medios D y E.
- Construya la recta por D perpendicular a AB y la recta por E perpendicular a BC. Construya su intersección F. Éste es el circuncentro del triángulo ABC.
- Ahora construya el círculo con centro F que pasa por el punto A. Este es el circuncírculo deseado.
- Ahora seleccione todos los objetos que construyó excepto por el circuncírculo y los tres puntos Dados y vaya a "Editar/Ocultar objetos" para ocultarlos. Hacemos esto porque cuando animemos la construcción no queremos los objetos intermedios de la construcción ocupando la pantalla --tan sólo queremos el circuncírculo.
- ¡Eso es todo! Pruebe la Construcción creando un nuevo croquis (con "Archivo/Nuevo croquis"), construyendo tres puntos en el croquis, seleccionándolos y yendo a "Animar/Sin título" (suponiendo que no guardó la Construcción). ¡Una circunferencia aparecerá mágicamente!

### Construcciones No Recursivas

La mayor parte del poder de las Construcciones deriva de su habilidad de ser recursivas. Por tanto, las construcciones no recursivas son muy simples --el ejemplo del circuncírculo anterior cubre casi todo lo necesario acerca de ellas. He aquí algunos detalles (que también se aplican a Construcciones recursivas.

- Se puede marcar como Dados a objetos con progenitores. En tal caso, con frecuencia tiene sentido no construir los progenitores si no son útiles para nada más. Tales objetos se marcan "(no construido)" en la Lista de Construcciones.

Técnicamente, esta es la regla: imagine las relaciones progenitor/descendiente como un grafo dirigido cuyos vértices son los objetos. Si cada trayectoria (en el grafo dirigido) del objeto A a cada objeto sin descendientes tiene al menos un objeto Dado, entonces A no se construye.

- No se permite marcar como Dados a objetos que se necesitan en la definición de un lugar geométrico. Por ejemplo, no se puede marcar el punto conductor como Dado porque KSEG no puede garantizar que esté constreñido a una curva cuando la Construcción sea animada.
- Es posible aparear los objetos seleccionados con objetos Dados cuyos tipos son distintos. Por ejemplo, si en una Construcción crea un segmento S, lo marca como Dado, y construye un punto en él, entonces puede seleccionar (en un documento distinto) un arco, círculo, rayo, recta o segmento, animar esta Construcción, y un punto aparecerá en el objeto que seleccionó. Sin embargo, si en la Construcción se construye una recta perpendicular a S pasando por el punto, le será imposible animar la Construcción en un círculo o un arco.

El algoritmo que aparea los objetos seleccionados con lo objetos Dados no es trivial (ni es muy bueno teóricamente). Lo primero que se intenta es aparear el orden seleccionado con el orden Dado. Si eso no funciona se intenta una búsqueda (realmente se debería hacer un apareo bipartita pero es más trabajoso implementarlo y su valor es cuestionable). A veces el algoritmo no puede aparear los objetos seleccionados con los Dados aunque tal apareo sea posible (y en el menú, "Animar" estará deshabilitado). En tal caso, simplemente seleccione los objetos en distinto orden, más próximo al orden de los Dados.

- Los puntos libres (así como medidas y cálculos) que no se marcan como Dados se colocarán al azar. Los puntos constreñidos a una curva se ponen en posiciones aleatorias en la curva.
- La "Animación rápida" es una característica muy útil para acceder una biblioteca de de Construcciones que use comúnmente. Seleccione el directorio que almacena sus Construcciones favoritas con "Animar/Animación rápida/Cambiar directorio...", luego seleccione algunos objetos en el documento actual que correspondan a los Dados de uno de las Construcciones en ese directorio y vaya a "Animar/Animación rápida/NombreDeArchivo.sec" para animarla sin tener que primero cargar la Construcción. Para que esto funcione, KSEG analiza las Construcciones en el directorio y habilita aquéllas cuyos Dados correspondan a los objetos seleccionados.
- "Copiar como Construcción" le permite tomar un croquis y convertirlo en un documento de Construcción. Esto es útil si Ud. está jugando con un croquis y encuentra algo que le gustaría aplicar en otros croquis --vaya a "Archivo/Copiar como Construcción" y una nueva Construcción aparecerá conteniendo los mismos objetos geométricos que el croquis. Luego puede eliminar objetos que no necesite, marcar algunos objetos como Dados y aplicar la Construcción a otros documentos.

### Construcciones Recursivas

La manera más chévere de usar Construcciones es recursivamente. Esto le permite por ejemplo construir fractales, así como simplemente repetir Construcciones múltiples veces. Como ejemplo simple, vea tractrix.sec (utilice un segmento corto y profundidad de recursión de, digamos, 30). Para un ejemplo más complicado (con múltiples ramas de recursión), vea dragon.sec, el cual construye un fractal.

Una Construcción se vuelve recursiva al insertar "objetos" de tipo ciclo (bucle, rizo) en ella. Un ciclo le avisa a KSEG que, luego de que todos los demás pasos de la Construcción han sido efectuados, deberá repetir la construcción recursivamente comenzando con los objetos seleccionados cuando el ciclo se especifica. Desde luego que KSEG no hace esto para siempre: al animar una Construcción recursiva KSEG le pide una profundidad máxima de recursión. Tenga cuidado: si tiene más de un ciclo en la Construcción, el número de objetos que KSEG debe de construir crece exponencialmente con respecto a la máxima profundidad de recursión. En otras palabras, mantenga una profundidad de recursión pequeña. En mi viejo sistema de 350 MHz, KSEG puede encargarse de cerca de 100,000 objetos cómodamente (lo cual debería de ser suficiente para cualquier cosa que se me ocurra).

Recuerde que tan pronto como inserte un ciclo en una Construcción, el conjunto de objetos Dados se vuelve fijo (ya no podrá marcar nuevos objetos como Dados ni volver objetos Dados normales; además, eliminar un objeto Dado elimina también todos los ciclos, etc.) Esto es para prevenir que los ciclos se invaliden. Para cambiar el conjunto de objetos Dados, primero borre los ciclos.

También puede volver los objetos en una Construcción "Finales" o "Iniciales". Los objetos Finales son simples: tan sólo se construyen en el último nivel de recursión. Esto es útil para muchas cosas, particularmente para fractales que solamente muestran el nivel más alto de detalle: vea dragon.sec o sierp2.sec. Similarmente, los descendientes de objetos Finales únicamente pueden construirse en el último nivel de recursión: éstos se marcan "(final)" en la lista de Construcciones.

Los objetos iniciales son complicados: es una característica "avanzada". No es tan poderosa que digamos, pero tiene suficientes efectos raros como para ser realmente difícil de descifrar en ciertas ocasiones. Un objeto Inicial solamente se construye una vez (en el nivel inicial de recursión). Cualquier objeto todos cuyos progenitores sean Iniciales (o implícitamente Inicial) también se vuelve implícitamente Inicial y se marca con "(inicial)" en la lista de Construcción. Para una buena ilustración, vea sierp.sec: primero anímelo normalmente (observando que los lados más largos del triángulo se construyen una sola vez) y luego construya un punto P en el segmento inicial s_9 y construya el segmento PC (de P al punto Dado C). Anímelo de nuevo y observe el efecto. Los objetos Iniciales se pueden usar para conservar memoria (como en koch.sec) o debido a sus efectos.

En Construcciones recursivas, cuando manipula objetos Finales/Dados/Iniciales, KSEG hará su mejor esfuerzo para prevenir configuraciones inválidas o carentes de significado, tales como objetos Iniciales o Dados que tienen progenitores que son objetos Finales. Puede que no sea obvio lo que KSEG haciendo pero usualmente es lo correcto (si Ud. encuentra un caso en que no lo sea, envíeme un correo electrónico por favor conteniendo la Construcción válida y una descripción de la acción que la vuelve inválida).

Retroceder al inicio

Traducción al español de Eduardo Dueñez (Ligeramente adaptado de la versión inglesa)

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