# El manual de &kig;

Dominique
Devriese

    devriese@kde.org

Miguel
Revilla Rodríguez

    yo@miguelrevilla.com

Traductor
Santiago
Fernández Sancho

    santi@kde-es.org

Traductor
Leticia
Martín Hernández

    leticia.martin@gmail.com

Traductor
2002
2003
2004
Dominique Devriese
&FDLNotice;
2005-08-20
1.0 (&kde; 4.1.1)

&kig; es un programa de geometría interactiva para &kde;.

KDE
KDE-Edu
Kig
Geometría interactiva
KGeo
Cabri
Dr.Geo
KSeg

## Introducción

&kig; es una aplicación de geometría interactiva. Intenta servir para dos propósitos:

- Permitir que los estudiantes exploren figuras y conceptos matemáticos por medio de su equipo informático.

- Servir como una herramienta WYSIWYG (WYSIWYG es el acrónimo de «What You See Is What You Get», que quiere decir «lo que ves es lo que obtienes») para dibujar figuras matemáticas e incluirlas en otros documentos.

Puede informar sobre los problemas que encuentre en &kig; utilizando la herramienta de informe de fallos (Ayuda Informar de fallo...) o contactando conmigo en toscano.pino@tiscali.it.

Como &kig; admite macros y la construcción de lugares geométicos, es posible definir macros relativamente avanzadas. Si ha creado una macro interesante que podría resultar útil para otras personas, puede enviármela por correo a toscano.pino@tiscali.it y la incluiré en la distribución (si lo hace, estará bajo los términos de la licencia de &kig;, es decir, GPL, por lo que otros usuarios podrán utilizarla y adaptarla libremente).

## Uso básico

### Construcción de objetos

#### Construcción de puntos

Puede construir puntos de varias formas:

- Seleccione Objetos Puntos Punto o pulse el botón correspondiente en la barra de herramientas. Podrá construir un punto haciendo clic en la posición deseada de la ventana.

  En realidad, hay que repetir el mismo proceso a la hora de construir otros objetos: debe hacer clic en la entrada del menú o en el botón de la barra de herramientas correspondiente, y a continuación seleccionar los elementos necesarios para construir el objeto.

- Como la construcción de puntos es bastante habitual, solo necesitará pulsar en cualquier lugar de la pantalla con el &MMB; para crearlos, sin necesidad de ir al menú o al botón.

- Puede construir puntos mientras está construyendo otros objetos en el fondo, seleccionándolos opcionalmente para el objeto que está construyendo. Para obtener más información al respecto consulte .

Se ha construido un punto
Se ha construido un punto

#### Construcción de otros objetos

Para construir objetos diferentes a los puntos, normalmente hay que seleccionar la entrada apropiada en el menú Objetos o pulsar en uno de los botones de la barra de herramientas.

Construcción de un círculo
Construcción de un círculo

Esto iniciará la construcción de un nuevo objeto del tipo elegido. Todos estos tipos requieren de argumentos. Por ejemplo, si elige construir un círculo a partir de un centro y un punto, deberá proporcionar dos puntos, uno para el centro y otro para el punto sobre el círculo.

Estos argumentos también son objetos que pueden ser seleccionacionados, para lo que solo tiene que hacer clic sobre ellos. Cuando mueva el cursor sobre un argumento que desee utilizar para construir un objeto, se mostrará una imagen preliminar del objeto, de forma que sabrá qué apariencia va a tener. En el caso de objetos que requieran de puntos como argumentos, puede construir un nuevo punto en la posición actual del cursor pulsando el &LMB;.

Siempre es posible cancelar la construcción de un nuevo objeto pulsando la tecla &Esc; o el botón Cancelar construcción (un octágono rojo con una «X») de la barra de herramientas.

Construcción de un círculo.
Construcción de un círculo

### Selección de objetos

La selección de objetos puede realizarse de dos maneras:

- Un objeto quedará seleccionado si se pulsa sobre él con el ratón, anulando cualquier selección anterior. Si quiere seleccionar varios objetos a la vez, mantenga pulsada la tecla &Ctrl; cuando haga clic sobre un objeto.

- Si pulsa sobre una zona vacía de la pantalla y arrastra el cursor del ratón, podrá seleccionar todos los objetos dentro del rectángulo que se crea. Esta acción anulará cualquier selección anterior. Como en el caso anterior, si mantiene pulsada la tecla &Ctrl;, podrá conservar dicha selección.

Cuando tenga más de un objeto bajo el ratón, podrá decidir con facilidad qué objeto seleccionar o añadir a la selección actual. Si pulsa con el &LMB; mientras mantiene pulsada la tecla &Shift;, aparecerá un menú con todos los objetos bajo el ratón. A continuación podrá seleccionar el objeto que desee. Como se indicó anteriormente, el comportamiento de la tecla &Ctrl; afectará a la selección.

Selección de objetos
Selección de objetos

### Movimiento de objetos

Para mover objetos lo primero que tiene que hacer es seleccionarlos.

Una vez que haya seleccionado los objetos que desee mover, puede comenzar a moverlos manteniendo el &LMB; pulsado y arrastrándolos hasta la nueva posición. Cuando termine, basta con que suelte el &LMB;.

En el caso de algunos tipos de objetos (especialmente aquellos que están definidos por lugares geométricos complicados), su desplazamiento puede resultar lento si se tiene un equipo informático antiguo. Esto es,desgraciadamente, inevitable, dado el alto número de cálculos necesarios.

Si pulsa sobre uno de los objetos seleccionados con el &RMB; y selecciona Mover, al desplazar el ratón moverá el objeto. Una vez que el objeto se haya movido a la posición deseada, pulse el &LMB; para detener el movimiento del objeto.

### Eliminación de objetos

Para eliminar objetos primero hay que seleccionarlos y a continuación realizar una de estas operaciones:

- Pulsar la tecla Suprimir.

- Pulsar el botón Eliminar objetos de la barra de herramientas.

- Pulsar con el botón derecho del ratón sobre uno de los objetos y seleccionar Borrar en el menú contextual que aparece.

### Mostrar y ocultar objetos

En &kig; es posible ocultar objetos. Esto se hace seleccionando los objetos (pulsando con el &RMB;) y haciendo clic en Ocultar en el menú contextual que aparece.

Para volver a mostrar los objetos utilice Editar Mostrar todo. Esto mostrará todos los objetos ocultos.

#### Visión nocturna

La visión nocturna es una forma particular de trabajar con objetos ocultos. Cuando tenga que mover o cambiar algo en uno o más objetos pero sin mostrar todos los objetos ocultos que tiene, el modo de visión nocturna le será de ayuda.

Básicamente, le permite ver los objetos ocultos como si estuvieran visibles, de forma que puede manipularlos como lo haría normalmente. En el modo de visión nocturna, los objetos ocultos se vuelven visibles pero con un color gris.

Para activar o desactivar el modo de visión nocturna, utilice Preferencias Usar gafas infrarrojas.

### Deshacer y rehacer

En &kig;, puede deshacer casi cualquier cambio que haga en el documento. Solo necesita usar los botones Deshacer y Rehacer de la barra de herramientas o del menú Editar, o utilizar los accesos rápidos correspondientes.

### Modo de pantalla completa

&kig; también tiene un modo de pantalla completa. Para utilizarlo, pulse el correspondiente botón en la barra de herramientas o seleccione Preferencias Modo de pantalla completa.

Para dejar el modo de pantalla completa, pulse el &RMB; en cualquier lugar de la pantalla en que no haya ningún objeto y seleccione Salir del modo de pantalla completa, o use el acceso rápido &Ctrl;&Shift;F.

## Tipos de objetos en &kig;

&kig; admite un gran número de tipos de objetos. Tenga en cuenta que no todos los tipos de objetos disponibles se muestran en las barras de herramientas: existen objetos que solo podrá construir a través del menú Objetos de la barra de menú. Por supuesto, como en cualquier aplicación de &kde;, los contenidos de las barras de herramientas son configurables. Para ello utilice la opción Preferencias Configurar las barras de herramientas...

## Uso avanzado

### Menús contextuales

&kig; tiene menús contextuales para sus objetos. Basta pulsar con el &RMB; sobre uno de ellos para mostrarlo. Existen diferentes opciones para construir objetos, establecer colores e incluso ocultar, mover y eliminar objetos. Algunos objetos tienen sus propias opciones (&eg;, es posible volver a definir puntos sobre una recta en la que antes no estaban, &etc;). Estas opciones deberían ser sencillas de entender.

### Menús contextuales del documento

Al pulsar con el botón derecho en el documento (&ie;, no sobre un objeto) aparecerá un menú que puede utilizar para comenzar a construir un objeto nuevo, cambiar el sistema de coordenadas utilizado, mostrar objetos ocultos e incluso ampliar o reducir el documento.

### Definición de macros

Una de las características más avanzadas de &kig; es su uso de macros. Esto le permite definir nuevos tipos de objetos a partir de otros que ya están definidos.

Por ejemplo: suponga que desea realizar una macro para construir una circunferencia a partir de tres puntos. Debería introducir tres puntos y, a continuación, construir algunas perpendiculares y puntos medios para hallar el centro. Ahora podrá utilizar la orden Circunferencia a partir de un centro y un punto (utilizando uno de los tres puntos como punto para esta orden). La siguiente imagen debería aclarar esto un poco:

Prueba de ejecución de macros
Prueba de ejecución de macros

A continuación deberá definir la macro. Seleccione Nueva macro... en el menú Tipos o haga clic en el botón correspondiente de la barra de herramientas. Aparecerá un asistente indicándole que seleccione los objetos dados. En nuestro ejemplo, estos serán los tres puntos. Seleccione los tres puntos (haciendo clic sobre ellos para seleccionarlos, y lo mismo para eliminar la selección) y pulse el botón Siguiente para continuar. Finalmente, seleccione los últimos objetos (en nuestro ejemplo, la circunferencia).

El asistente para macros
El asistente para macros

Una vez hecho esto, pulse el botón Siguiente para continuar. Introduzca un nombre y, opcionalmente, una descripción del nuevo tipo, y pulse el botón Finalizar. Su macro está terminada.

Para utilizar el nuevo tipo de macro, haga clic en el botón correspondiente de la barra de herramientas o selecciónelo en el menú Objetos. La construcción de un objeto a partir de una macro es igual que la construcción de cualquier otro objeto.

Uso de su nuevo tipo
Uso de su nuevo tipo

### Trabajar con tipos

Como ha visto en el capítulo anterior, &kig; le permite crear sus propios objetos. &kig; también se asegura de que una vez que haya creado un objeto, este se guarde al salir y se cargue al iniciar de nuevo del programa. No es necesario que cargue o guarde manualmente las definiciones de macros. Sin embargo, &kig; le permite hacer más cosas con las macros. Si selecciona Tipos Gestionar tipos... en el menú, verá un diálogo donde podrá editar sus tipos. Esto le permite modificar los tipos existentes, eliminar los que no vaya a utilizar más, exportarlos a un archivo e incluso cargarlos de otro archivo.

Diálogo de edición de tipos
El diálogo de edición de tipos

### Etiquetas de texto

&kig; le permite añadir etiquetas de texto a una construcción. Son muy útiles para mostrar nombres, explicaciones u otro texto en las construcciones. &kig; también puede mostrar diferente información sobre los objetos (es decir, sus «propiedades»).

Para construir una etiqueta de texto, basta con que haga clic en el botón Etiqueta de texto en la barra de herramientas de &kig; o que seleccione Objetos Otros Etiqueta de texto en la barra de menú.

Lo siguiente que debe hacer es seleccionar una ubicación para la etiqueta de texto. También puede seleccionar una ubicación aleatoria en la pantalla o decidir «asociar» la etiqueta a un objeto.

Asociar una etiqueta a una circunferencia...
Asociar una etiqueta a una circunferencia...

Una vez haya seleccionado dónde quiere colocar la etiqueta, aparecerá el diálogo de la etiqueta de texto. Aquí podrá teclear el texto que desee que aparezca en la nueva etiqueta, tras lo cual deberá pulsar Finalizar. Ahora debería ver la etiqueta en su documento.

El diálogo de la etiqueta de texto
El diálogo de la etiqueta de texto

El ejemplo anterior era sencillo y estaba limitado a texto. Sin embargo, existe implementación para mostrar en una etiqueta información variable sobre los objetos (&eg;, puede construir una etiqueta con el texto «Este segmento tiene una longitud de %1 unidades.», donde %1 será reemplazado dinámicamente por la propia longitud del segmento).

Para hacerlo, introduzca un texto que contenga algún marcador de posición ( %1, %2, &etc;). A continuación, pulse el botón Siguiente para continuar. Si desea cambiar el texto o las variables siempre puede volver hacia atrás utilizando el botón Atrás.

El asistente mostrará ahora el texto introducido con el marcador de posición sustituido por algo como argumento 1. Para seleccionar la propiedad asociada a un determinado argumento debe pulsar primero sobre el argumento en cuestión. A continuación, pulse sobre el objeto que tiene asociada esta propiedad y seleccione esta propiedad en el menú que aparece. En el ejemplo anterior, debería hacer clic sobre argumento 1, después sobre el segmento de la ventana principal de &kig; y, finalmente, seleccionar la propiedad Longitud. A continuación puede completar el resto de las variables o seleccionar otra propiedad para estas si lo que desea es modificarlas. Cuando esté listo, pulse el botón Finalizar para completar la construcción de la etiqueta de texto.

Selección de una propiedad para una variable
Selección de una propiedad para una variable

### Lugares geométricos

&kig; admite el uso de lugares geométricos. Un lugar geométrico se define matemáticamente como el conjunto de todos los puntos o rectas que satisfacen o están determinados por condiciones específicas, por ejemplo, «una circunferencia es el lugar geométrico de los puntos equidistantes a un punto dado». Este es un ejemplo sobre cómo usar lugares geométricos en &kig;:

Considere la siguiente construcción geométrica: dibujamos una circunferencia y un punto que se mueva únicamente a lo largo de ella (construya este punto situando el cursor sobre la cincunferencia y pulsando el &MMB;. Si intenta mover el punto resultante, verá que no podrá hacerlo fuera de la circunferencia). A continuación, dibujamos un segmento desde este punto al centro de la circunferencia, y el punto medio de este segmento.

Una construcción simple utilizando un lugar geométrico
Una construcción simple utilizando un lugar geométrico

Ahora, si mueve el punto que está contenido en la circunferencia, verá que el segundo punto se moverá con él. Si mantuviera un lápiz en el segundo punto y moviera el primero a lo largo de la circunferencia, se dibujaría una nueva circunferencia con un radio la mitad que el de la anterior. La ruta que el segundo punto sigue mientras el primero se mueve alrededor de la circunferencia es su lugar geométrico.

En realidad, construir el lugar geométrico de un punto es muy sencillo. Haga clic en el botón Lugar geométrico de la barra de herramientas o seleccione Objetos Otros Lugar geométrico en la barra de menú. A continuación, seleccione como punto de movimiento el punto sobre la cincunferencia (aparecerá el texto Punto de movimiento, que podrá desplazar con el cursor), mientras que el otro es el punto dependiente. Se dibujará el lugar geométrico del punto dependiente.

## Creación de scripts

&kig; permite crear sus propios tipos personalizados usando el lenguaje de script Python. Esta es una característica muy avanzada y solo conozco otro programa de geometría interactiva con una funcionalidad similar (el programa &drgeo; de GNOME).

En &kig;, la creación de scripts con Python le permite básicamente crear sus propios objetos a partir de objetos primarios. Por ejemplo, si usted es un profesor de matemáticas y conoce una forma imaginativa de calcular un punto interesante sobre una cónica, en lugar de liarse con complejas construcciones y macros, puede escribir un código en Python para calcular el punto y &kig; se lo mostrará.

Suponga que no sabe que &kig; tiene construido el tipo «Punto medio» y desea mostrar el punto medio de dos puntos dados. Puede hacer clic en el botón Script en Python en la barra de herramientas o seleccionar Objetos Otros Script en Python en la barra de menú. Aparecerá un asistente con el que podrá comenzar a crear el script:

El asistente para la creación de scripts
El asistente para la creación de scripts

Lo primero que tiene que hacer es seleccionar los argumentos del script. En nuestro ejemplo, estos son los dos puntos de los que desea calcular el punto medio. Selecciónelos en la ventana principal de &kig; y pulse Siguiente para continuar.

Ahora se mostrará un cuadro de edición de texto en el que podrá introducir el código de su script. Aquí encontrará ya el código de la plantilla y algunos comentarios. Es importante estar seguro de que su código es un código Python válido. Aquellos familiarizados con Python sabrán que estamos definiendo una función de Python llamada `calc`. Es por lo tanto necesario seguir las reglas de Python para la definición de funciones. Por ejemplo, cada línea de la función deberá comenzar con un tabulador. La primera línea que no comience con un tabulador indicará que finaliza la definición de la función.

La función de Python que queremos definir se llama `calc` y en nuestro caso acepta dos argumentos. Estos son los objetos seleccionados como argumentos en la pantalla anterior. Necesitará tantos argumentos como haya seleccionado aquí. Estos se llamarán `arg1` y `arg2`, pero puede cambiar sus nombres por otros que tengan un mayor significado para usted.

En la función, puede realizar todos los cálculos que considere necesarios utilizando los dos argumentos (en caso de que los necesite). Debería devolver el objeto que desee definir. En nuestro caso, este es un objeto `Point` (punto). Los dos argumentos también son objetos `Point`, y podemos utilizar la función `Point.coordinate()` para definir las coordenadas de los dos puntos dados.

Los cálculos que se necesitan en nuestro ejemplo son muy simples, solo hay que sumar los dos conjuntos de coordenadas y dividir el nuevo conjunto por dos. A continuación construiremos un punto nuevo utilizando el resultado. El código Python necesario es:

    def calc( a, b ):
    m = ( a.coordinate() + b.coordinate() ) / 2;
    return Point( m )

Introducción del código
Introducción del código para calcular el punto medio usando el asistente para la creación de scripts.

Si pulsa el botón Finalizar, el nuevo objeto aparecerá en el documento de &kig;. Si mueve uno de los puntos, el punto que se acaba de crear se moverá con él. Se pueden construir objetos mucho más potentes de esta forma. Le animamos a que lo intente.

Se ha construido un objeto script.
El objeto script que acaba de ser construido.

Todos los objetos en &kig; pueden utilizarse en un código Python. Como hemos visto anteriormente, los puntos son de la clase `Point` y puede utilizarse, &eg;, el método `Point.coordinate()`. También puede devolver cualquier tipo de objeto, no solo uno de la clase `Point`. Existen muchos más métodos y clases disponibles en el código Python de &kig;, y puede obtener una guía más completa en el sitio web de &kig;.

## Características de &kig;

- &kig; es una aplicación de código abierto. Esto significa que usted es libre de utilizarlo y modificarlo en la forma que más le convenga. La distribución de &kig; está sujeta a algunas restricciones, básicamente que cualquier persona, al igual que usted o yo mismo, tiene los mismos derechos de utilización de &kig;, lo que incluye las modificaciones que usted haga.

  Los programas de software libre se desarrollan con un espíritu muy abierto y sus desarrolladores normalmente responden bien a los comentarios de los usuarios. Por lo tanto, si tiene cualquier pregunta, queja o comentario acerca de &kig;, por favor, hágaselo saber al autor enviando un correo a toscano.pino@tiscali.it.

- &kig; es una aplicación KPart, lo que significa que es posible integrarla en otro programa de &kde;. Si abre un archivo `.kig` con &konqueror;, este se abrirá directamente en la pantalla de &konqueror; sin la necesidad de iniciar una aplicación externa.

- El trabajar con &kig; debería resultar bastante sencillo. La construcción de objetos es sencilla e interactiva, a la vez que se van mostrando los resultados preliminares, &etc; Las acciones de mover, seleccionar y construir funcionan como se espera de ellas. El uso de rehacer también debería ser muy intuitivo.

- &kig; permite definir macros de una manera sencilla. Estos objetos se presentan ante el usuario como objetos normales. Se guardan al salir del programa y se cargan al volver a iniciarlo, de forma que no se pierden al salir. Puede administrarlos a través del diálogo Gestionar tipos... (vea ). Puede exportarlos a archivos, importarlos desde archivos, editarlos y eliminarlos.

- &kig; guarda sus datos en un formato &XML; perfectamente legible.

- &kig; admite la construcción de lugares geométricos.

- &kig; le permite exportar un archivo &kig; a diferentes formatos interesantes como imágenes, archivos XFig y LaTeX, e imágenes vectoriales SVG. Esto resulta bastante útil, ya que no todos los programas reconocen, de momento, el formato propio de &kig;.

- &kig; tiene un sistema de transformación muy flexible.

- &kig; pretende ser compatible con sus competidores. Por eso reconoce el formato de archivo de &kgeo;, el formato de archivo de &kseg; y, parcialmente, los formatos de &drgeo; y &cabri;; asimismo, se planea hacerlo compatible con otros formatos.

## Preguntas y respuestas

&reporting.bugs; &updating.documentation;

## Créditos y licencia

&kig;

Copyright de &kig; 2002-2004 Dominique Devriese devriese@kde.org.

Copyright de la documentación 2002-2004 Dominique Devriese devriese@kde.org.

Copyright de la documentación 2004-2005 Pino Toscano toscano.pino@tiscali.it.

Revisado por &Philip.Rodrigues; &Philip.Rodrigues.mail;.

Traducido por Miguel Revilla Rodríguez yo@miguelrevilla.com, Santiago Fernández Sancho santi@kde-es.org y Leticia Martín Hernández leticia.martin@gmail.com.

&underFDL; &underGPL;

## Instalación

### Cómo obtener &kig;

&install.intro.documentation;

### Compilación e instalación

&install.compile.documentation;

## Cómo contribuir

### Software libre

&kig; es software libre. Eso significa que su código fuente se distribuye libremente y que está disponible en Internet, de forma que cualquiera pueda utilizarlo, leerlo, modificarlo y distribuirlo. Yo trabajo en esto como afición y durante el proceso he aprendido mucho sobre programación, C++, &kde;/&Qt;, matemáticas, colaboración en software y proyectos de código abierto.

### Cómo contribuir

El motivo de este capítulo es aclararle a usted (el usuario) los derechos que la licencia de &kig; le proporciona. Como ocurre con todo software libre, puede (y lo invitamos a ello) solucionar los problemas que encuentre mientras lo usa, añadir aquellas opciones que eche en falta, distribuir su programa modificado y enviarme cualquier modificación a toscano.pino@tiscali.it, de forma que pueda incluirlas en la próxima versión para el disfrute de otros usuarios. Personalmente, no tengo ningún interés económico en este proyecto.

Si tiene dudas sobre sus derechos de utilización de este programa, sobre los derechos de otras personas a utilizar las modificaciones que usted haga sobre el mismo, &etc;, puede leer la licencia. La encontrará en el archivo `COPYING` que se encuentra en el árbol de archivos del código fuente de &kig; o pulsando en el enlace correspondiente del diálogo Acerca de Kig.

### ¿Cómo contribuir?

Cualquier contribución será bienvenida. Si no le gustan los iconos, piensa que el manual necesita una actualización o tiene una macro fantástica que desea compartir con el mundo, no dude en ponerse en contacto conmigo. Tenga en cuenta que toda contribución será distribuida bajo los términos de la licencia &GNU; GPL, cuyos términos puede encontrar en el archivo `COPYING` que se encuentra en el árbol del código fuente de &kig; y en el capítulo Créditos y licencias de este manual.

&documentation.index;