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: 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

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

Rectas

Círculos

Arcos

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

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:

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". 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: 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:

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.

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.

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/