SlideShare una empresa de Scribd logo
1 de 86
Descargar para leer sin conexión
Manual de Usuario de Dr. Geo




  Hilaire Fernandes, Andrea Centomo
              Adrian Soto
                OFSET
        http://www.ofset.org

        29 de agosto de 2004
2
´
Indice general

1. Introducci´n
              o                                                                                                                                             7
   1.1. Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                              7
   1.2. Dr. Geo en la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                 9

2. Funciones B´sicas
                 a                                                                                                                                         11
   2.1. Herramientas de Construcci´n . . . . . . . . . . . . .
                                    o                                                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   11
        2.1.1. Herramientas de puntos . . . . . . . . . . . .                                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
        2.1.2. Herramientas de l´ıneas . . . . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
        2.1.3. Herramientas de Transformaci´n . . . . . . .
                                               o                                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   14
        2.1.4. Herramientas Num´ricas . . . . . . . . . . . .
                                  e                                                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
        2.1.5. Herramientas para Macros de construcciones                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
   2.2. Otras herramientas . . . . . . . . . . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
               ´
        2.2.1. Arbol l´gico de construcci´n . . . . . . . . .
                      o                   o                                                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
        2.2.2. Mover la figura . . . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
        2.2.3. Borrar un objeto . . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
        2.2.4. Editar la Apariencia de un Objeto . . . . . .                                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
        2.2.5. Editando Propiedades de Objetos . . . . . . .                                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   20
        2.2.6. Activar un enrejado . . . . . . . . . . . . . .                                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
   2.3. Preferencias de Usuario . . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
        2.3.1. Comportamiento Predeterminado . . . . . . .                                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
        2.3.2. Otras Preferencias . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   22

3. Caracter´ ısticas Avanzadas                                                                                                                             23
   3.1. Macros de Construcciones . . . . . . . . . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   23
        3.1.1. Crear una Macro . . . . . . . . . . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   24
        3.1.2. Ejecutar una Macro . . . . . . . . . . . . . . . . . . . . . .                                                      .   .   .   .   .   .   26
   3.2. Script Scheme de Dr. Geo . . . . . . . . . . . . . . . . . . . . . .                                                       .   .   .   .   .   .   29
        3.2.1. DGS a trav´s de ejemplos . . . . . . . . . . . . . . . . . . .
                          e                                                                                                        .   .   .   .   .   .   29
        3.2.2. M´todos de referencia para los scripts de Dr. Geo . . . .
                  e                                                                                                                .   .   .   .   .   .   33
   3.3. Figura Scheme de Dr. Geo . . . . . . . . . . . . . . . . . . . . . .                                                       .   .   .   .   .   .   36
        3.3.1. Algunos Ejemplos . . . . . . . . . . . . . . . . . . . . . . .                                                      .   .   .   .   .   .   36
        3.3.2. M´todos de referencia para las figuras Scheme de Dr. Geo
                  e                                                                                                                .   .   .   .   .   .   38
        3.3.3. Sin´nimos en DGS . . . . . . . . . . . . . . . . . . . . . . .
                    o                                                                                                              .   .   .   .   .   .   46
        3.3.4. Galer´ de Ejemplos . . . . . . . . . . . . . . . . . . . . . .
                      ıa                                                                                                           .   .   .   .   .   .   48
   3.4. Bloquear las herramientas de la interfaz . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   51
        3.4.1. Bloqueo de las herramientas . . . . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   51
        3.4.2. Desbloqueo de las herramientas . . . . . . . . . . . . . . . .                                                      .   .   .   .   .   .   52

4. Archivos y documentos                                                                                                                                   53
   4.1. Guardar una construcci´n
                               o       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   53
   4.2. Guardar una sesi´n . . . .
                        o              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   53
   4.3. Guardar una Macro . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
   4.4. Abrir un archivo . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54

                                                           3
4                                                                                                                     ´
                                                                                                                      INDICE GENERAL

    4.5. Exportar una figura . . . . . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
         4.5.1. Exportar a L TEX . . . . . . .
                            A                                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
         4.5.2. Exportar a PostScript . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
         4.5.3. Exportar a png . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
         4.5.4. Exportar Fly Draw . . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
         4.5.5. Definir el ´rea de exportaci´n
                          a                o                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55

5. Aplicaciones Did´cticas
                      a                                                                                                                                       57
   5.1. Pit´goras y scripts . .
           a                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   57
   5.2. Teoremas y conjeturas     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   58
   5.3. N´meros irracionales .
         u                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   60
   5.4. Espiral de Baravelle .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   61
   5.5. Cadena de Papus . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   65
   5.6. C´lculo de π . . . . .
         a                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   66

6. Libro de recetas                                                                                                                                           69
   6.1. Crear un pol´
                    ıgono regular . . . .                 . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   69
        6.1.1. El modelo del pol´ıgono . .                . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   69
        6.1.2. La macro del pol´ıgono . .                 . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   70
        6.1.3. Algunas consideraciones .                  . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   70
   6.2. Imprimir una figura . . . . . . .                  . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   70
   6.3. Colocar un p´rrafo de texto en la
                    a                                     figura           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   71

A. Hist´rico.
       o                                                                                                                                                      77

B. GNU Free Documentation License                                                                                                                             79
Copyright

    Copyright (c) 2000-2004 OFSET.
    Permission is granted to copy, distribute and/or modify this document under the terms of
the GNU Free Documentation License, Version 1.2 or any later version published by the Free
Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ”GNU Free Documentation
License”.
    Other copyright apply to the respective owners of the modified documentations. See the
section history for the complet list.




                                             5
6   ´
    INDICE GENERAL
Cap´
   ıtulo 1

Introducci´n
          o

1.1.       Preliminares
    Dr. Geo es un programa tanto de geometr´ interactiva como de programaci´n en el
                                                   ıa                                o
lenguaje Scheme. Permite crear figuras geom´tricas, as´ como manipularlas interactivamente
                                               e        ı
respetando sus restricciones geom´tricas. Ofrece igualmente la posibilidad de introducirse
                                    e
gradualmente en la programaci´n. Es util para la ense˜anza a estudiantes de nivel b´sico o
                                o        ´              n                              a
superior.
    La interfaz de usuario de Dr. Geo ha sido concebida para dar, dentro de un conjunto
arm´nico, a la vez sencillez en su operaci´n, ergonom´ y funcionalidades avanzadas.
    o                                      o           ıa
    As´ la interfaz de Dr. Geo , con una gran sencillez, permite al ne´fito la familiarizaci´n
      ı                                                                o                   o
con las funciones b´sicas del programa. Posteriormente, a medida que lo conozca m´s, el
                     a                                                                   a
usuario conocer´ los aspectos m´s avanzados de la interfaz y del funcionamiento de Dr. Geo
                 a               a
: m´ltiples modos para la construcci´n de objetos 1 , macros de construcciones, sesiones,
    u                                   o
adaptabilidad de la interfaz, uso de scripts y de Figuras Scheme de Dr. Geo(i.e. Dr. Geo
es programable en dos modos distintos). Estas funciones avanzadas generan muy poca so-
brecarga a la interfaz, por lo que Dr. Geo es utilizado con entusiasmo en la ense˜anza  n
primaria, lo que no resta su uso en el nivel medio.
    En las secciones siguientes, expondremos las herramientas b´sicas. Posteriormente las
                                                                   a
funciones avanzadas ser´n presentadas en detalle.
                        a
    La estructura de la interfaz es la siguiente :

  1. la barra de men´ caracter´
                    u         ıstica con Archivo, Editar, Macros, Ventanas, Ayuda ;
  2. la barra de acciones para crear una nueva figura o un texto explicativo; contiene
     tambi´n las herramientas de hacer/deshacer y la rejilla .
           e

    Para crear una figura geom´trica nueva, el usuario debe hacer click en el primer bot´n de
                                e                                                          o
la barra de herramientas. De manera alternativa, una nueva figura puede ser creada usando
el elemento de la barra del men´ Archivo->Nuevo->Figura. Cuando una nueva figura es
                                  u
creada, una nueva barra de ´  ıconos formada por seis iconos aparece. Esta barra de ´     ıconos
termina con un men´ que permite ajustar la escala de la figura geom´trica actual.
                     u                                                   e
    Adem´s, una barra de ´
          a                ıconos vertical, a la izquierda de la figura, ofrece un r´pido acceso
                                                                                   a
a las herramientas m´s utilizadas.
                      a
    Los seis iconos de la barra de ´ıconos son entradas de men´ generales desde donde se
                                                                   u
llaman a funciones espec´ıficas. Estas funciones son descritas en el siguiente cap´ ıtulo.
   1 Se trata de poder, a partir de un mismo comando, crear un tipo de objeto seg´n se requiera. Por
                                                                                         u
ejemplo, a partir del comando para la construcci´n de un c´
                                                 o          ırculo, el usuario puede crear un c´ırculo a partir
de su centro y de ya sea un punto, una longitud, un segmento, etc. Con todo, este comando es representado
por un solo icono, y Dr. Geo se anticipa para ofrecer al usuario la construcci´n deseada. El efecto inmediato
                                                                              o
es que existe una disminuci´n en el tiempo de aprendizaje de la interfaz, al proponer un n´ mero importante
                           o                                                               u
de modos de construcci´no


                                                      7
8                                                         CAP´                  ´
                                                             ITULO 1. INTRODUCCION


                      Figura 1.1: Pantalla de Bienvenida de Dr. Geo




                          Figura 1.2: Una figura geom´trica vac´
                                                    e         ıa




    Para cada figura, un ´rbol sin´ptico est´ disponible. Inicialmente este panel est´ oculto en
                         a        o         a                                       a
el extremo izquierdo de modo que s´lo la representaci´n de la figura es visible. En cualquier
                                      o                 o
momento, el usuario puede empujar el panel hacia la derecha como sigue: Lleve el rat´n a la
                                                                                        o
parte izquierda de la figura, justo a la izquierda de donde est´ la regla; cuando el puntero del
                                                               a
rat´n cambie de forma, presione el bot´n y contin´e presionando mientras mueve el rat´n a
    o                                    o          u                                      o
la derecha. Con ello, ser´ visible la descripci´n de la figura. La descripci´n de una figura es
                         a                     o                             o
un ´rbol formado con todos los elementos de la figura. Los elementos que dependen de otros
    a
elementos pueden ser revelados al hacer click sobre el s´  ımbolo ‘+’. Con ello, se mostrar´na
los elementos que dieron origen (v.g. los que dieron origen a una l´       ınea pueden ser dos
puntos; aunque pueden ser otros originadores. Tambi´n se les llama elementos antecedentes
                                                        e
o elementos padre).
1.2. DR. GEO EN LA RED                                                             9


                  Figura 1.3: Una figura de Dr. Geo y su descripci´n
                                                                 o




1.2.    Dr. Geo en la red
   Dr. Geo dispone de su propio espacio en la red en el sitio ofset en la direcci´n :
                                                                                 o
http://www.ofset.org/drgeo
   En este espacio, el usuario encontrar´ la siguiente informaci´n :
                                        a                       o

     la informaci´n para obtener Dr. Geo ;
                 o

     la documentaci´n del programa;
                   o
     algunas indicaciones para involucrarse en el proyecto Dr. Geo ;
     algunas referencias para el uso pedag´gico del programa.
                                          o
10   CAP´                  ´
        ITULO 1. INTRODUCCION
Cap´
   ıtulo 2

Funciones B´sicas
           a

   Este cap´ıtulo describe las herramientas usadas para construir figuras geom´tricas. Al
                                                                                  e
final del cap´
            ıtulo, la configuraci´n de las preferencias del usuario es tambi´n presentada.
                                o                                          e




2.1.     Herramientas de Construcci´n
                                   o

   Estas herramientas est´n separadas en seis grupos disponibles desde la segunda barra de
                         a
herramientas de Dr. Geo .


         Figura 2.1: Categor´ de herramientas de Dr. Geo y sus descripciones
                            ıas




   Cuando el usuario hace click sobre uno de los iconos decorados con un triangulito verde,
una nueva barra vertical de iconos aparece inmediatamente. En ella se agrupan funciones de
una misma familia.
   De izquierda a derecha, tenemos acceso a las barras de herramientas verticales para:
construir puntos, construir l´
                             ıneas, realizar transformaciones geom´tricas, calcular valores
                                                                   e
num´ricos, generar macros de construcciones, y utilizar las herramientas de edici´n – Otras
    e                                                                            o
herramientas
    Estas funciones tambi´n aparecen dentro del men´ contextual de una figura, que es
                         e                            u
llamado haciendo click con el bot´n derecho en el fondo de la figura.
                                 o

                                            11
12                                                    CAP´                   ´
                                                         ITULO 2. FUNCIONES BASICAS

2.1.1.      Herramientas de puntos
Punto Libre



   Crear un punto libre en el ´rea o un punto libre en un objeto unidimensional(segmento,
                               a
semirrecta,recta, arco de c´
                           ırculo, c´
                                    ırculo, lugar geom´trico).
                                                      e

    1. En el primer caso, el punto creado puede moverse a cualquier lugar del fondo de la
       figura; para construirlo, el usuario simplemente hace click en cualquier parte del fondo.

    2. En el segundo caso, el punto est´ limitado a moverse en el objeto unidimensional (l´
                                          a                                                  ınea
       o c´
          ırculo); esta pegado al objeto. Para construir este tipo de punto el usuario hace click
       sobre una l´ ınea (i.e. una l´
                                    ınea recta, una semirrecta, un segmento, un c´ırculo, un arco
       de c´ırculo, etc.).

¿C´mo ubicar un punto dadas sus coordenadas ? La soluci´n m´s simple consiste
    o                                                                o     a
en colocar un punto libre y luego editar sus propiedades – herramienta Propiedades Secci´no
2.2.5, p´gina 20– ajustando sus coordenadas a voluntad..
        a
    Otra posibilidad – menos flexible para este tipo de figura– consiste en colocar dos valores
libres en la figura – herramienta Valor Num´ricoSecci´n 2.1.4, p´gina 15– y luego construir
                                             e         o         a
el punto con coordenadas dadas por esos dos valores – herramienta Punto definido por sus
coordenadas Secci´n 2.1.1, p´gina 12 Cette possibilit´ a un avantage sur la Este proced-
                   o          a                         e
imiento tiene una ventaja sobre el precedente: el punto construido no puede ser ya movido
con el rat´n; el punto est´ inexorablemente atado a su posici´n.
           o              a                                  o

Punto Medio



     Crear el punto medio de un par de puntos o la mitad de un segmento.

    1. En el primer caso, el usuario selecciona dos puntos.

    2. En el segundo caso, el usuario simplemente selecciona un segmento

.

Intersecci´n
          o



    Crear el(los) punto(s) de intersecci´n de dos l´
                                         o           ıneas (objetos unidimensionales, i.e. rec-
ta, semirrecta, segmento, arco de c´ ırculo, c´
                                              ırculo o lugar geom´trico). El usuario necesita
                                                                   e
seleccionar dos l´
                 ıneas (v.g arco de c´
                                     ırculo y semirrecta).

Punto definido por sus coordenadas




    Crear un punto definido por sus coordenadas. El usuario necesita seleccionar dos n´meros,
                                                                                     u
el primer n´mero seleccionado es la abscisa, el segundo la ordenada.
           u
´
2.1. HERRAMIENTAS DE CONSTRUCCION                                                        13

¿C´mo colocar un punto con restricciones a sus coordenadas? Esta funcion es muy
    o
utilizada cuando deseamos, por ejemplo, construir el lugar geom´trico de un punto. Esta
                                                                 e
construcci´n supone la existencia de dos valores – ver Secci´n Valores Num´ricos Secci´n
          o                                                 o                e          o
2.1.4, p´gina 15 – el punto es construidoluego de seleccionar esos dos valores. Los valores
        a
pueden ser independientes o uno depender del otro.

2.1.2.    Herramientas de l´
                           ıneas
Recta



   Crear una l´
              ınea recta definida por sus dos puntos. El usuario selecciona dos puntos.

Semirrecta



   Crea una semirrecta (tambi´n llamada rayo) definida por dos puntos. El usuario selec-
                                e
ciona dos puntos, el primero es el origen, el segundo pertenece a la semirrecta.

Segmento




   Crea un segmento definido por dos puntos.

Vector



    Crea un vector definido por dos puntos. El usuario selecciona dos puntos, el primer punto
es el origen, el segundo es el extremo.
    Una vez que el vector es creado, ´ste puede ser desplazado independientemente de los
                                       e
dos puntos que le dieron origen. Esto sigue siendo cierto para vectores construidos a trav´s
                                                                                          e
de una transformaci´n. (Ver la secci´n de Transformaciones en este manual).
                      o              o

C´
 ırculo



   Crea un c´
            ırculo. El usuario puede crear un c´
                                               ırculo a partir de varias opciones:

 1. el centro y un punto del c´
                              ırculo;

 2. el centro y un n´mero (el radio del c´
                    u                    ırculo);

 3. el centro y un segmento cuya longitud es el radio del c´
                                                           ırculo.

Arco de C´
         ırculo
14                                                  CAP´                   ´
                                                       ITULO 2. FUNCIONES BASICAS

    Crea un arco de c´ ırculo definido por tres puntos. El primer punto seleccionado es el
origen del arco, el tercero es su extremo, el segundo es un punto sobre el arco. Los tres
puntos seleccionados formar´n parte del arco.
                             a


Lugar geom´trico
          e




    Crea un lugar geom´trico (locus en lat´ dados dos puntos. El usuario selecciona dos
                        e                    ın)
puntos; uno es un punto libre sobre una l´
                                         ınea (linea o c´
                                                        ırculo); el otro es un punto que depende
del primero (i.e. cuando uno mueve el primero, el segundo tambi´n tiene que moverse).
                                                                      e


Pol´
   ıgono




   Crea un pol´ ıgono definido por n puntos. El usuario selecciona n+1 puntos delimitando el
pol´
   ıgono. El primero y el ultimo seleccionado deben ser los mismos, esto indica a Dr. Geo
                          ´
que la selecci´n esta terminada. El objeto pol´
              o                                ıgono no es un objeto como los objetos uni-
dimensionales, no es posible colocar un punto sobre ´l o calcular la intersecci´n entre un
                                                      e                        o
pol´
   ıgono y otro objeto unidimensional. Por otro lado, es posible aplicar a un pol´ıgono una
transformaci´n geom´trica (rotaci´n, reflexi´n, homotecia, etc.)
             o        e           o         o


2.1.3.     Herramientas de Transformaci´n
                                       o
L´
 ınea Paralela




    Crea una l´
              ınea paralela a una direcci´n y que pase a trav´s de un punto. El usuario
                                           o                     e
selecciona un punto y una direcci´n (i.e. una l´
                                 o             ınea recta, una semirrecta, un segmento o un
vector).


L´
 ınea Perpendicular




    Crea una l´
              ınea perpendicular a una direcci´n y que pasa a trav´s de un punto. El usuario
                                              o                   e
selecciona un punto y una direcci´n (i.e. una l´
                                 o             ınea recta, una semirrecta, un segmento o un
vector). (Ortogonal es un sin´nimo de Perpendicular)
                             o


Simetr´ Axial (Reflexi´n)
      ıa             o




    Crea la imagen de un objeto a trav´s de una simetr´ axial (reflexi´n en una recta).
                                          e                ıa             o
El usuario selecciona el objeto a transformar y el eje de simetr´ (que debe ser una recta).
                                                                ıa
Cuando el usuario quiere construir la imagen de una l´    ınea recta, la primera l´
                                                                                  ınea recta
seleccionada por el usuario ser´ la recta a reflejar.
                               a
´
2.1. HERRAMIENTAS DE CONSTRUCCION                                                         15

Simetr´ Central
      ıa



   Crea la imagen de un objeto a trav´s de una simetr´ central. El usuario selecciona los
                                        e               ıa
objetos que ser´n transformados y el centro de simetr´ (un punto). Cuando el usuario quiere
               a                                     ıa
construir la imagen de un punto, el primer punto seleccionado es el punto a transformar.(La
simetr´ central es equivalente a una rotaci´n de 180 grados).
      ıa                                    o

Traslaci´n
        o



   Crear la imagen de un objeto a trav´s de una traslaci´n. El usuario selecciona el objeto
                                         e                o
que ser´ transformado y el vector de traslaci´n. Cuando el usuario quiere construir la imagen
       a                                     o
de un vector, el primer vector seleccionado es el vector que ser´ trasladado.
                                                                a

Rotaci´n
      o



    Crea la imagen de un objeto a trav´s de una rotaci´n. El usuario selecciona el punto que
                                       e               o
ser´ rotado, el centro y el ´ngulo de la rotaci´n. Cuando el usuario quiere crear la imagen
   a                        a                  o
de un punto, el primer punto seleccionado es el punto a transformar.
    El ´ngulo puede ser seleccionado a partir de varios tipos de valores :
       a

     valor num´rico : el ´ngulo es expresado en radianes. Ejemplos de valores num´ricos :
                  e         a                                                    e
     valor libre, un valor devuelto por un script Guile de Dr. Geo, etc. ;

     la medida de un ´ngulo geom´trico formado por tres puntos : su medida
                           a           e
     es entonces expresada en grados. Atenci´n, pues en este caso la medida estar´ en el
                                            o                                    a
     intervalo [0 ; 180] ;

     la medida de un ´ngulo orientado entre dos vectores : esta medida es expresada
                       a
     en grados y cubre el intervalo ]-180 ; 180].

Escala (Homotecia)




    Crea la imagen de un objeto a trav´s de una transformaci´n de escala (es decir, ho-
                                         e                        o
motecia). El usuario selecciona el objeto a transformar, el centro de homotecia, y el factor
(i.e. un n´mero). Cuando el usuario quiera crear la imagen de un punto, el primer punto
          u
seleccionado es el punto a transformar. (Por ejemplo, si se desea hacer un pol´
                                                                              ıgono un tercio
de grande, se selecciona un punto –centro de homotecia–, el pol´ ıgono, y el valor 0.33333 )

2.1.4.     Herramientas Num´ricas
                           e
Distancias, longitudes & N´ meros
                          u




   Crea un valor num´rico. El valor num´rico puede ser computado o editado por el usuario
                     e                  e
dependiendo de las selecciones que haga el usuario:
16                                                  CAP´                   ´
                                                       ITULO 2. FUNCIONES BASICAS

 1. dos puntos: la distancia entre dos puntos;

 2. un segmento: la longitud de este segmento;

 3. un vector; la magnitud de ese vector (tambi´n llamada norma del vector);
                                               e

 4. un c´
        ırculo: el per´
                      ımetro del c´
                                  ırculo;

 5. un arco de c´
                ırculo; la longitud del arco;

 6. una l´
         ınea recta: la pendiente de la recta;

 7. una l´
         ınea recta y un punto: la distancia entre la l´
                                                       ınea y el punto

 8. un click sobre el fondo permite al usuario entrar un valor nuevo (i.e. un valor num´rico
                                                                                       e
    libre)

    Esta ultima posibilidad es muy intenresante en ciertas situaciones. Por ejemplo, ella
         ´
permite fijar una longitud, el radio de un c´ırculo, la medida de un ´ngulo (en radianes) o
                                                                     a
las coordenadas de un punto. Estos valores num´ricos pueden ser enseguida utilizados por
                                                 e
las herramientas de construcci´n de c´
                              o       ırculos, de rotaci´n de objetos o para la creaci´n de
                                                        o                             o
puntos dadas sus coordenadas.


´
Angulo




    Calcula la magnitud de un ´ngulo definido por tres puntos o dos vectores. En el primer
                                 a
caso, el ´ngulo se considera no orientado (i.e. un ´ngulo geom´trico con valores en el intervalo
         a                                         a          e
[0 ; 180◦ ]. En el segundo caso, el ´ngulo se considera orientado y toma valores en el rango
                                    a
]-180 ; 180].


Coordenadas




    Al selecciona un punto o un vector, nos da como resultado las coordenadas del punto o
nos da las coordenadas del vector (coordenadas del punto final menos coordenadas del punto
inicial). Esta herramienta crea tanto a la abscisa como a la ordenada.


Script Guile de Dr. Geo




    Crea un script Scheme de Dr. Geo(i.e. un script en el lenguaje Scheme). El script recibe
una entrada de n objetos. Siempre dar´ como resultado un n´mero, que ser´ presentado en
                                      a                      u             a
la figura. Un script puede ser usado para obtener efectos colaterales o por el valor que da
como resultado. Los Scripts Scheme de Dr. Geo est´n cubiertos en detalle en el Cap´
                                                     a                                  ıtulo
Construcciones Avanzadas Cap´ ıtulo 3 y exactamente en la Secci´n ScriptSecci´n 3.2, p´gina
                                                               o             o         a
29.
2.2. OTRAS HERRAMIENTAS                                                                    17

2.1.5.    Herramientas para Macros de construcciones
Crear una Macro



   Extrae una secuencia de construcci´n dada en una figura y la convierte en la macro de
                                     o
una construcci´n.
              o

Ejecutar una Macro



   Ejecuta (i.e. “lanza” o “corre”) una macro previamente construida. La macro puede
haber sido reci´n creada o puede ser cargada desde un archivo.
               e

         (!)    Las construcciones de Macro est´n expuestas en laSecci´n Con-
                                                a                     o
                strucci´n de Macros 3.1, p´gina 23.
                       o                  a


2.2.     Otras herramientas
2.2.1.    ´
          Arbol l´gico de construcci´n
                 o                  o
    Cada figura esta asociada a un arbol l´gico de construcci´n. Este ´rbol es cronol´gico;
                                     ´      o                   o        a              o
es decir que recuerda, desde la parte alta hasta la parte baja, el orden de construcci´n de la
                                                                                      o
figura. Ciertas entradas del ´rbol pueden ser desplegadas para que aparezcan los antecedentes
                             a
–es decir, los objetos originadores (objetos padres)– utilizados en la definici´n del objeto.
                                                                              o
    Inicialmente el ´rbol esta oculto (enmascarado); de hecho est´ replegado en el borde
                     a                                                a
izquierdo de la ventana. Para hacerlo aparecer hace falta desplegarlo con la ayuda del rat´n.
                                                                                           o
Mover el puntero del rat´n hacia el borde izquierdo de la ventana de Dr. Geo cuando ´ste
                          o                                                               e
se transforme en “¡-¿”, presionar el bot´n del rat´n y manteni´ndolo presionado mueva el
                                         o          o             e
rat´n a la derecha.
   o

2.2.2.    Mover la figura
   La figura puede ser movida presionando al mismo tiempo la tecla Control y el bot´n
                                                                                  o
izquierdo del rat´n al moverlo hacia donde se desea mover la figura.
                 o

Mover un Objeto



    Un objeto puede ser movido al jalarlo con el rat´n. La figura es redibujada con respecto
                                                     o
a las nuevas posiciones. Casi cualquier tipo de objeto geom´trico puede ser movido. Cuando
                                                           e
es necesario, Dr. Geo mueve los puntos libres asociados con la figura. Por ejemplo, cuando
el usuario mueve una l´ınea definida por dos puntos libres, Dr. Geo mover´ los dos puntos
                                                                            a
simult´neamente..
       a

2.2.3.    Borrar un objeto



  Los objetos en la figura pueden ser borrados cuando se activa este men´. En cualquier
                                                                         u
momento posterior, el usuario puede anular el borrado usando la funci´n “deshacer” de la
                                                                     o
18                                                   CAP´                   ´
                                                        ITULO 2. FUNCIONES BASICAS

bara de ´ıconos o del men´ editar-¿deshacer. Inicialmente el n´mero de anulaciones posibles
                          u                                     u
es de 10, pero el usuario puede ajustar este valor a trav´s del di´logo de preferencias (Editar
                                                         e        a
-¿preferencias).

2.2.4.    Editar la Apariencia de un Objeto



    Cada objeto geom´trico posee atributos de apariencia como son el color, el grosor, el
                       e
nombre, el tama˜o o la forma. Adem´s, es posible ocultar temporalmente un objeto sin
                  n                      a
borrarlo. Por ejemplo, puede ser util ocultar construcciones intermedias sin borrarlas. Todos
                                  ´
estos atributos puedes ser ajustados desde un di´logo activado cuando el usuario selecciona
                                                   a
un objeto en la figura.
    El di´logo de apariencia para puntos se relaciona con cualquier tipo de objeto de punto.
         a
Desde ´l es posible ajustar el color, la forma, el tama˜o, nombre y visibilidad.
       e                                               n


                 Figura 2.2: El di´logo de estilo para un objeto tipo punto
                                  a




    El di´logo de apariencia para l´
          a                         ıneas se refiere a l´
                                                       ıneas rectas, semirrectas (rayos), segmen-
tos, vectores, c´
                ırculos, arcos de c´
                                   ırculos, lugares geom´tricos. Desde ´l, es posible ajustar el
                                                          e               e
color, el grosor, el nombre y su visibilidad. Cuando una recta, una semirrecta, un vector o un
segmento son definidos por dos puntos que tienen nombres no vac´ entonces el nombre de
                                                                       ıos,
la recta es autom´ticamente deducido a partir de los nombres de los puntos que la originan.
                    a
En este caso el usuario no puede renombrar a la recta.
    El di´logo de estilo para los objetos tipo num´rico y tipo pol´
          a                                          e                ıgono se refiere a todo tipo
de valores (editados por el usuario, calculados por un Script Scheme de Dr. Geo o valores
que representan una medida de un objeto geom´trico) y de formas de pol´
                                                   e                           ıgono. (Notar que
dos pol´ıgonos pueden tener colores distintos; podemos cambiarles el color)
2.2. OTRAS HERRAMIENTAS                                                          19




            Figura 2.3: El di´logo de apariencia para objetos tipo l´
                             a                                      ınea




      Figura 2.4: El di´logo de estilo para objetos num´ricos y tipo pol´
                       a                               e                ıgono.
20                                                 CAP´                   ´
                                                      ITULO 2. FUNCIONES BASICAS

2.2.5.    Editando Propiedades de Objetos



    Ciertas propiedades de los objetos son ajustables por el usuario. Cuando el usuario hace
click en tales objetos, un di´logo apropiado aparece. De hecho, los siguientes objetos poseen
                             a
propiedades ajustables por el usuario:

 1. punto libre : la abscisa y la ordenada pueden ser editadas;



                   Figura 2.5: Editar las coordenadas de un punto libre




 2. valor libre : su valor puede ser editado



                               Figura 2.6: Editar valor libre




 3. script : su c´digo puede ser editado (El c´digo esta en el lenguaje Scheme, que es un
                 o                            o
    dialecto del lenguaje Lisp)



                              Figura 2.7: Editando un script
2.3. PREFERENCIAS DE USUARIO                                                              21

2.2.6.    Activar un enrejado
    Es posible mostrar un enrejado unitario dentro de cualquier figura de Dr. Geo. El co-
mando es accesible desde el men´ Editar->Mostrar u ocultar rejilla. Puede ser tam-
                                 u
bi´n activado con la tecla Ctrl-G. Si el comando es reactivado, el enrejado es ocultado. El
  e
enrejado es unitario: cada subdivisi´n representa una unidad. Por ultimo, si el enrejado esta
                                    o                             ´
activado al momento de guardar la figura; ´ste tambi´n ser´ guardado junto con ella.
                                            e         e    a


2.3.     Preferencias de Usuario
2.3.1.    Comportamiento Predeterminado
   El comportamiento predeterminado de Dr. Geo puede ser modificado de varias maneras.
Para ajustar las preferencias, el usuario va al elemento del men´ Editar->Preferencias...
                                                                u
para abrir el di´logo de preferencias.
                a


                    Figura 2.8: Preferencias de las figuras geom´tricas
                                                               e




   El di´logo se compone de dos partes ::
        a
 1. La primera parte trata sobre propiedades de las figuras geom´tricas. Las distintas
                                                                    e
    opciones permiten al usuario dar las reglas predeterminadas para cada tipo de objeto
    (geom´trico o num´rico). Estas reglas se refieren a la apariencia de los objetos.
          e           e
 2. La segunda parte trata sobre preferencias globales :
          El nivel para Deshacer/Rehacer;
          El nombre de la figura predeterminado que se usar´ cuando una nueva figura es
                                                            a
          creada. El %d es remplazado por un valor entero que es manejado por Dr. Geo,
          este valor es incrementado con cada nueva figura creada;
22                                              CAP´                   ´
                                                   ITULO 2. FUNCIONES BASICAS

         El navegador de internet predeterminado para visualisar la ayuda en l´
                                                                              ınea ;
         Los nombres predeterminadas para ser utilizados cuando se guarde una figura o
         una sesi´n ;
                 o
         Los nombres predeterminados para exportar en los formatos L TEX y PostScript ;
                                                                   A




2.3.2.   Otras Preferencias
   Adem´s del comportamiento predeterminada de Dr. Geo, el usuario puede cambiar el
        a
nombre de una figura desde el elemento men´ Editar->Renombrar.
                                         u


                     Figura 2.9: Renombrar la vista de una figura
Cap´
   ıtulo 3

Caracter´
        ısticas Avanzadas

    En este cap´ıtulo presentamos caracter´ısticas usadas para extender las caracter´
                                                                                    ısticas de
Dr. Geo o adaptarlo a una situaci´n pedag´gica dada.
                                    o          o
    La primera es la macro de una construcci´n geom´trica. Ella permite la extracci´n de
                                                 o      e                                o
la l´gica de una construcci´n en un registro. Ya hecho esto, este registro se puede repetir
    o                        o
o guardar en un archivo que lleve la extensi´n .mgeo, y puede ser abierto cuando sea
                                                  o
necesario..
    Los Scripts Scheme de Dr. Geo – Dr. Geo Script en ingl´s; abreviado DGS -representan
                                                              e
otra forma de extender Dr. Geo. Estos scripts son en realidad elementos de figuras como
cualquier otro elemento geom´trico. Ellos reciben como entrada las referencias a los elemen-
                               e
tos de figura seleccionados por el usuario y dan como resultado un valor num´rico, que se
                                                                                 e
inserta en la figura . Son, en efecto, funciones 1 injertadas en una figura, y son evaluadas
en cada actualizaci´n de la figura (i.e. cada vez que el programa requiere volver a dibujar la
                      o
figura)
    Los Scripts Guile de Dr. Geo pueden ser utiles por el valor que dan como resultado o
                                                  ´
por sus efectos colaterales, dependiendo de lo que el usuario desee hacer.
    Extendiendo la funcionalidad de los Scripts de DrGeo, Dr. Geo puede ir todav´ m´s  ıa a
                                           ´
all´, con la Figura Scheme de Dr. Geo: Esta consiste en un archivo de texto que contiene
   a
una figura geom´trica completamente escrita en el lenguaje de programaci´n Scheme. La
                  e                                                           o
potencia de este modo de crear una figura radica en permitir una construcci´n usando el
                                                                                o
tipo de programaci´n llamado funcional 2 , y no solamente declarativo, como es el caso de la
                      o
interfaz gr´fica. De este modo, Dr. Geo se convierte en un programa que puede ser utilizado
           a
para la introducci´n a la programaci´n.
                    o                 o
    Por ultimo, la adaptaci´n de la interfaz de usuario de Dr. Geo permite al maestro
         ´                   o
preparar una sesi´n de trabajo con varios documentos en los que ciertas funciones han sido
                   o
bloqueadas a trav´s de una contrase˜a (password). El objetivo de esto es permitir el uso del
                    e                n
programa en ciertas situaciones pedag´gicas dadas.
                                        o


3.1.       Macros de Construcciones
   Una Macro para una una construcci´n es una especie de procedimiento que recibe como
                                        o
entrada a elementos de figuras y devuelve uno o m´s elementos de figuras, construidas por
                                                   a
la macro. Ellas son construidas en un modelo definido por el usuario. Esto significa que ella
(o ´l) tiene que elaborar la serie de pasos para la construcci´n s´lo una vez, a partir de
   e                                                          o o
entonces ordena a Dr. Geo grabar esta serie de pasos en una macro (macro-construction).
Esta macro puede ser entonces guardada en un archivo con extensi´n .mgeo.
                                                                  o
   Para grabar una serie de pasos para la construcci´n, Dr. Geo necesita saber cu´les
                                                       o                               a
son los elementos iniciales de la serie y los elementos que se van a dar como resultado.
  1O   procedimientos para los que se iniciaron en el lenguaje Pascal.
  2 Por  ejemplo, permite la recursi´n.
                                    o


                                                     23
24                                         CAP´
                                              ITULO 3. CARACTER´
                                                               ISTICAS AVANZADAS

Desde luego que los elementos que se den como resultado deben depender solamente de los
elementos iniciales, 3 , de otro modo Dr. Geo no podr´ deducir los elementos producidos a
                                                      ıa
partir de los dados.
   De este modo, Dr. Geo deduce la l´gica de la serie de pasos de la construcci´n y la guarde
                                       o                                       o
en una macro. El usuario puede ejecutar esta macro con s´lo especificar los elementos de
                                                            o
entrada (que deben coincidir con los par´metros que necesita la macro) en la figura. Entonces
                                         a
la macro crealos elementos especificados como resultado.

           (!)    Los elementos invisibles de las figuras intermedias tambi´n son
                                                                          e
                  construidos por la macro. Estos elementos son necesarios para
                  crear los elementos resultantes

   Para ilustrar la caracter´ıstica de macros para construcciones, supondremos que el usuario
desea grabar la construcci´n de un c´
                           o            ırculo que pasa por tres puntos. Supondremos, adem´s,
                                                                                          a
que se desea obtener el centro del c´  ırculo.


                                 Figura 3.1: Nuestra figura inicial




   Antes de la creaci´n de la macro, el usuario necesita construir la figura final, ´sta es
                     o                                                            e
usada como un molde con el cual se crea la macro.

                   Figura 3.2: Nuestra figura con la construcci´n resultante
                                                              o




3.1.1.     Crear una Macro
   En esta etapa, la serie de pasos para la construcci´n ya est´ hecha. Ahora el usuario
                                                      o        a
necesita ordenar a Dr. Geo que quiere una macro a partir de esta serie de pasos. Puede
  3 Esta restricci´n ha sido posteriormente flexibilizada, lo cual permite ir m´s all´ con las macors. Ver
                  o                                                           a     a
Crear un pol´
            ıgono regular Secci´n 6.1, p´gina 69.
                               o        a
3.1. MACROS DE CONSTRUCCIONES                                                               25



llamar la funci´n Construir una macro de la barra de ´
               o                                      ıconos          o del men´ contextual
                                                                               u
que aparece al pulsar el bot´n derecho sobre el fondo de la figura..
                            o
    Desde el men´ de creaci´n de la macro, el usuario selecciona los par´metros de entrada
                  u         o                                            a
y de salida, el nombre y la descripci´n de la macro.
                                     o


                Figura 3.3: La primera parte del men´ de creaci´n de la macro
                                                    u          o




    La segunda parte del di´logo sirve para seleccionar los par´metros de entrada. En nuestro
                           a                                   a
ejemplo, estos son los tres puntos iniciales. El usuario s´lo necesita llegar a este lugar y
                                                            o
seleccionar los tres puntos en la figura. Los elementos seleccionados parpadear´n.
                                                                                a


             Figura 3.4: Segunda parte, los tres puntos ya est´n seleccionados
                                                              a




    En la tercera parte del di´logo, el usuario selecciona los par´metros de salida. En nuestro
                              a                                   a
ejemplo, deseamos que el c´ ırculo y el centro sean los par´metros de salida para la macro. El
                                                            a
usuario procede entonces como en el caso de los par´metros de entrada par seleccionarlos.
                                                        a
    En la cuarta parte del di´logo, el usuario escribe el nombre y la descripci´n de la macro.
                              a                                                 o
Estos datos son desplegados cuando el usuario ejecuta una macro, de modo que ayuda a
distinguir una macro de otra.
    En la ultima parte del di´logo (la quinta), el usuario crea la macro haciendo click sobre
          ´                   a
el bot´n Aplicar(finalizar la construcci´n). Alternativamente, el usuario puede regresar a
      o                                    o
las partes previas para ajustar los par´metros de la macro.
                                         a

          (!)     Si los par´metros de entrada y de salida no coinciden (Dr. Geo
                            a
                  no puede extraer la l´gica de la construcci´n), la macro no puede
                                        o                     o
                  ser construida. En este caso, el usuario necesita reconsiderar la
                  selecci´n de los par´metros de entrada y de salida. Puede regresar
                         o            a
                  a la segunda o a la tercera parte del men´ de creaci´n para ajustar
                                                           u          o
                  sus elecciones.
26                                    CAP´
                                         ITULO 3. CARACTER´
                                                          ISTICAS AVANZADAS


         Figura 3.5: La tercera p´gina, el c´
                                 a          ırculo y su centro ya est´n seleccionados
                                                                     a




             Figura 3.6: La cuarta parte, el nombre y la descripci´n de la macro
                                                                  o




   En este momento la macro est´ construida y grabada en Dr. Geo. En la siguiente
                               a
secci´n, veremos c´mo usarla.
     o            o


3.1.2.     Ejecutar una Macro
     Para ejecutar la macro de una construcci´n, el usuario llama la funci´n Ejecutar macro
                                             o                            o


previamente construida de la barra de ´   ıconos         o desde el men´ contextual que se
                                                                       u
obtiene pulsando el boton derecho. Una ventana de di´logo que describe el procedimiento
                                                       a
se inserta entonces.
    Desde la ventana de di´logo, el usuario selecciona la macro. En la segunda parte, se-
                            a
lecciona la macro de la lista en la parte m´s alta del di´logo. Una vez que la macro fue
                                             a            a
seleccionada, puede hacer click directamente en los par´metros de entrada en la figura. Tan
                                                       a
pronto como todos los par´metros de entrada sean seleccionados, la macro es ejecutada y
                            a
los elementos de salida aparecen.
    En nuestro ejemplo, la macro necesita tres par´metros de entrada (tres puntos) y crea a
                                                  a
partir de ellos un c´
                    ırculo y un punto. Para ejecutar nuestra macro, necesitamos una figura
con al menos tres puntos.
    Una vez que nuestra macro es ejecutada usando esos tres puntos, obtenemos el c´  ırculo
deseado y tambi´n su centro.
                 e

Con la ayuda del men´ Macros
                    u
   Existe otro procedimiento –m´s r´pido– para ejecutar una macro. La barra de men´ prin-
                               a a                                                u
cipal de Dr. Geo contiene un men´ Macro-constructions. Este men´ esta poblado con
                                   u                                  u
3.1. MACROS DE CONSTRUCCIONES                                                             27


   Figura 3.7: El usuario selecciona los par´metros de entrada directamente en la figura
                                            a




                          Figura 3.8: Una figura con tres puntos




                 Figura 3.9: La figura resultante con el c´
                                                         ırculo y su centro




los nombres de las macros cargadas en la memoria del programa. Para ejecutar una macro,
el usuario selecciona directamente la macro de su preferencia.
    En outre un passage du pointeur souris au dessus de chaque item de menu fait apparaˆıtre
une info-bulle de la description de la macro. L’utilisateur peut ainsi avoir rapidement une
explication sur l’ensemble des macro-constructions.
28                                  CAP´
                                       ITULO 3. CARACTER´
                                                        ISTICAS AVANZADAS




     Figura 3.10: Ejecutar una macro directamente desde el men´ Macro-constructions
                                                              u
3.2. SCRIPT SCHEME DE DR. GEO                                                                              29

3.2.       Script Scheme de Dr. Geo
    Dr. Geo es compatible con Guile. Esto quiere decir que es posible ejecutar un script
del lenguaje Scheme en Dr. Geo. Pero ¿qu´ es Guile? Leemos en el manual de Guile :
                                        e

      Guile es un int´rprete del lenguaje de programaci´n Scheme, concebida para su
                     e                                 o
      uso en una gran variedad de ambientes

    Las siguientes citas describen de modo preciso como es Guile usado dentro de Dr. Geo:

      Como un shell, Guile puede correr interactivamente, leyendo expresiones del
      usuario, evalu´ndolas, y mostrando los resultados, o como un int´rprete para
                     a                                                   e
      un script, leyendo y ejecutando c´digo de Scheme a partir de un archivo. Por
                                         o
      otro lado, Guile tambi´n est´ disponible como una biblioteca (library) de obje-
                            e      a
      tos, lo que permite a otras aplicaciones f´cilmente incorporar un int´rprete de
                                                a                          e
      Scheme completo. Un programa puede usar Guile como un lenguaje de exten-
      si´n, un lenguaje de configuraci´n simple y poderoso, o como un “pegamento”
        o                              o
      multiprop´sito que conecta primitivas elaboradas dentro del programa.
                o

    En Dr. Geo, una API (Interfaz de programa para una aplicaci´n, –Application Program
                                                                      o
Interface– en Ingl´s) est´ disponible a partir del int´rprete Guile. Esta API es un conjunto de
                  e      a                            e
“enlaces” en la maquinaria geom´trica. Por lo tanto el usuario puede escribir un script para
                                  e
manipular elementos de figuras (geom´tricas y num´ricas). Asimismo, ya que los scripts son
                                        e               e
figuras como cualquier otra, los scripts no necesitan ser guardados en un archivo separado;
son guardados en el archivo de la figura. En lo que sigue usaremos el acr´nimo DGS para
                                                                              o
referirnos a un Script Scheme de Dr. Geo (“Dr. Geo Script”).

3.2.1.      DGS a trav´s de ejemplos
                      e
    La herramienta para crear un DGS esta disponibe al seleccionar la secci´n Valor Num´rico
                                                                           o              e
dentro del men´ contextual que se obtiene al hacer click con el bot´n derecho del rat´n en
                u                                                    o                   o
el fondo de la figura. Un DGS puede recibir de 0 a n par´metros de entrada.
                                                          a
    Despu´s de haber escogido el DGS, basta hacer click en los objetos geom´tricos (o num´ri-
          e                                                                 e               e
cos) que constituir´n los par´metros de entrada. Al terminar de escoger los par´metros de
                   a          a                                                   a
entrada, se debe hacer click en un area libre del fondo de la figura; con ello, el script sera
                                    ´
visible.
    En lo que sigue nos proponemos trabajar con algunos ejemplos de DGS que permitir´n       a
comprender f´cilmente su uso y su potencialidad.
              a
    Los DGS, como las macros, dan una dimensi´n particular a Dr. Geo, Le permiten,
                                                   o
junto con las macros4 , llevar a cabo cosas que los autores del programa no incorporaron o
no quisieron incorporar: “Ir hacia donde ellos no fueron o no quisieron ir”.
    Es tambi´n importante comprender que la mayor parte de las funciones del int´rprete
             e                                                                         e
GNU Guile est´n disponibles a trav´s del DGS. Esto es particularmente cierto para las
                a                     e
librer´ de funciones5 que utilizaremos ampliamente.
      ıas

DGS sin par´metros de entrada El procedimiento para crear un script sin par´metros
              a                                                            a
de entrada es el siguiente :

 1. Despu´s de haber escogido Script Guile de Dr. Geo Secci´n 2.1.4, p´gina 16, hacer
           e                                                  o         a
    click en el lugar de la figura donde se desee colocar el script. Como deseamos que
    el script no tenga par´metros de entrada, debemos prestar atenci´n y no hacer click
                          a                                          o
   4 Las macros constituyen el aspecto geom´trico, en tanto que los DGS abarcan tambi´n el aspecto num´ri-
                                             e                                         e                  e
co; pero no s´lo eso, pues nos permiten utilizarlos con un esp´
             o                                                ıritu de programador (“hacker”, en ingl´s, ser´
                                                                                                     e      ıa
un t´rmino m´s apropiado)
     e         a
   5 En particular, las funciones matem´ticas
                                        a
30                                        CAP´
                                             ITULO 3. CARACTER´
                                                              ISTICAS AVANZADAS

       err´neamente en alg´n objeto geom´trico; no sea que Dr. Geo considere ese objeto
          o               u             e
       como un par´metro de entrada 6 .
                  a

 2. Una vez que el DGS ha sido creado, aparece en la figura la cadena de caracteres
    “Dr. Genius”. Todo script reci´n creado contiene un comando predeterminado que
                                  e
    muestra ese mensaje. Usted puede editarlo seleccionando propiedades del objeto Sec-
    ci´n 2.2.5, p´gina 20.
      o          a

 3. Una vez que esta herramienta ha sido seleccionada, hacer click sobre el script –o para
    ser m´s precisos sobre su valor– de su elecci´n. Una ventana se abrir´ con el contenido
          a                                      o                       a
    del script y le permitir´ editarlo. En lo que sigue, usaremos ese di´logo para escribir
                            a                                           a
    nuestros ejemplos.


    Un generador de n´ meros aleatorios y otros ejemplos Si usted desea un gener-
                          u
ador de n´meros aleatorios, nada es m´s simple: simplemente su script contiene unicamente
          u                             a                                      ´
la siguiente l´
              ınea (recuerde hacer click en aplicar y luego cerrar...):

(random 10)

    As´ cada vez que se dibuja la figura, este script devuelve un n´mero entero aleatorio en
       ı,                                                            u
el intervalo [0 ; 10[ (es decir, [0 ; 10) )
    Si usted prefiere un n´mero real en el intervalo [0 , 1), utilice el siguiente script:
                            u

(random:uniform)

           (!)    Algunas precisiones :

                        El valor devuelto por el script es el valor calculado por la
                        ultima l´
                        ´       ınea del script. En nuestros ejemplos, se trata del
                        valor devuelto por la funci´n que usamos.
                                                   o
                        La ultima l´
                           ´       ınea debe devolver un n´mero real; de otro modo
                                                          u
                        Dr. Geo imprimir´ “Resultado no imprimible”.
                                           a

                        Si lo que se desea es mostrar el valor de una variable, basta
                        poner esa variable en la ultima l´
                                                 ´        ınea.



     C´lculo de algunas constantes comunes Para calcular el valor aproximado de π :
      a

(acos -1)

     O de e :

(exp 1)

    Los valores devueltos por estos DGS pueden ser inmediatamente utilizados como todos
los dem´s valores num´ricos que Dr. Geo genera. Por todo lo anterior, los DGS son ver-
        a              e
daderamente nuestros aliados. Pero eso no es todo, los DGS pueden hacer muchas m´s cosas
                                                                                a
interesantes cuando reciben par´metros de entrada. Enseguida veremos c´mo.
                                a                                       o
  6 Si por accidente hacemos click sobre un objeto, el seleccionar de nuevo la herramienta Script en el

men´ bastar´ para anular nuestro error
    u       a
3.2. SCRIPT SCHEME DE DR. GEO                                                                           31

DGS con al menos un par´metro de entrada El procedimiento para crear un DGS
                                a
con un par´metro de entrada es esencialmente el mismo. Justo despu´s de haber seleccionado
           a                                                           e
la herramienta script, basta hacer click sobre el objeto que ser´ el par´metro de entrada y
                                                                   a      a
enseguida hacer click sobre el fondo de la figura, en el lugar donde se desee tener al nuevo
script.
    Enseguida, dentro del script, el parametro de entrada ser´ referido por la variable a1. En
                                                                 a
caso de tengamos dos o m´s par´metros de entrada, utilizaremos, respetando el orden en
                            a      a
que fueron seleccionados, las variables a1, a2, a3, a4, etc. dependiendo del n´mero de objetos
                                                                              u
seleccionados.
    Dependiendo del objeto que seleccionemos, diversos m´todos estar´n disponibles para
                                                                e          a
obtener valores, como pueden ser coordenadas, longitud, etc. Estos m´todos son mostrados
                                                                         e
en la Secci´n M´todos de referencia para un DGS 3.2.2, p´gina 33.
           o    e                                              a
    En lo que sigue, expondremos gradualmente un ejemplo no muy complicado en que
construiremos la curva de una funci´n as´ como la tangente en un punto de la curva que
                                      o     ı
podremos mover.
    La    figura     final     es    mostrada       por     Dr.      Geo.    Esta    se    llama
slope.fgeo(/usr/share/drgeo/examples/figures/slope.fgeo)


                              Figura 3.11: La figura que obtendremos




    Definir un valor en un intervalo dado. En una nueva figura, empezamos colocando
dos puntos y el segmento que ellos determinan. Sobre este segmento colocamos un punto
libre al que llamaremos “¡Mu´veme!”(“Move me!” en ingl´s). Este punto nos sirve para
                               e                           e
determinar un valor num´rico que identifica la posici´n del punto dentro del segmento; esto
                         e                          o
lo lograremos dentro del script.
    En seguida crearemos un script que tiene como unico par´metro de entrada el punto
                                                     ´        a
“¡Mu´veme!”.
      e
    Ya que a1 es la variable en el script del punto “¡Mu´veme!”, el script siguiente (que
                                                         e
llamaremos Xo) nos dar´ un valor decimal comprendido entre [-10 ; 10] .
                        a
(define x (getAbscissa a1))
(* 20 (- x 0.5))
   Cabe aclarar algunas cosas. En la primera l´  ınea, (getAbscissa a1) permite obtener la
               ınea” del objeto al que se refiere a17 . En la segunda l´
“abscisa curvil´                                                      ınea calibramos el valor.
   7 En este punto x toma un valor entre 0 y 1 inclusive. La “abscisa curvil´   ınea” del objeto es 0 en un
extremo, y va creciendo hasta ser 1 en el otro extremo; es 0.5 en la mitad, 0.25 a un cuarto, etc.
32                                               CAP´
                                                    ITULO 3. CARACTER´
                                                                     ISTICAS AVANZADAS

En este caso la expresi´n significa 20 × (x − 0,5). Dado que ´sta es la ultima l´
                       o                                     e         ´       ınea del script,
el resultado de esta ultima operaci´n ser´ el valor que el script devuelva, y ser´ un n´mero
                     ´             o      a                                      a      u
decimal en el intervalo [−10; +10] como se deseaba8 .
    Finalmente, llamemos este script Xo. (Esto se puede hacer en el men´ contextual: selec-
                                                                           u
cione otros, luego apariencia, y haga click en el script para ponerle nombre).

    Dibujar la gr´fica de una funci´n. El valor obtenido por el script precedente nos
                    a                      o
servir´, a trav´s de otro script, para calcular la imagen del punto bajo la funci´n x → cos(x).
      a        e                                                                 o
Este segundo script tiene como par´metro de entrada al script Xo.
                                      a

(define x (getValue a1))
(cos x)

    Subrayemos que en (getValue a1) el objeto al que se refiere a1 no es el punto
“¡Mu´veme!”, sino el script Xo, y que no estamos obteniendo la “abscisa curvil´
      e                                                                           ınea” de
un punto, sino el valor de un n´mero (en este caso del script Xo, que dentro del segundo
                                u
script es llamado a1). Llamamos a este script Yo
    Por ejemplo, si el punto “¡Mu´veme!” estaba a la mitad entonces su “abscisa curvil´
                                 e                                                    ınea”
es 0.5, de modo que Xo toma el valor 20 × (0,5 − 0,5) = 0, y Yo toma el valor cos(0)=1.
    Enseguida crearemos el punto Mo de coordenadas (Xo ; Yo). Es un punto de la curva de
la funci´n x → cos(x). Para dibujar la porci´n de la gr´fica con dominio [-10 ; 10], creare-
        o                                    o         a
mos el lugar geom´trico del punto Mo cuando el punto “¡Mu´veme” describe el segmento.
                   e                                         e
Con ello obtendremos la gr´fica!(Recordar que para crear Mo, hay que seleccionar, en el
                             a
men´ contextual, punto, coordenadas y luego hacer click en los scripts que dan las coorde-
     u
nadas. Para lograr el lugar geom´trico, recordar seleccionar en el men´ contextual curva,
                                  e                                    u
lugar geom´trico y luego seleccionar los puntos “¡Mu´veme!” y Mo.)
             e                                       e

   Calcular y dibujar la tangente a la gr´fica en un punto Para dibujar la tangente
                                          a
en Mo=(Xo,Yo), hace falta tener la pendiente en ese punto. Usando C´lculo Diferencial,
                                                                    a
sabemos que la pendiente esta dada por la derivada, que en este caso es x → −sin(x)
evaluada en el punto Xo. De modo que crearemos un script que tiene como par´metro de
                                                                           a
entrada al script Xo :

(- 0 (sin (getValue a1)))

    La notaci´n prefija (i.e “* 2 3” en vez de “2 * 3”) utilizada por Scheme/Guile puede
              o
parecer poco intuitiva, pero es cuesti´n de simplemente acostumbrarse a ella; es simplemente
                                      o
decir “El producto de dos y tres” en lugar de “dos por tres”.
    Llamemos al script reci´n creado “Pendiente en el punto Mo”.
                            e
    Resta, pues dibujar la tangente. Para esto calcularemos, primero, las coordenadas de un
segundo punto – M1– de esa recta.
    Comencemos por su abscisa (No confundir con la “abscisa geom´trica”); por ejemplo:
                                                                      e
X1 = X0 + 2. Para hacer esto crearemos un script que tendr´ como par´metro de entrada
                                                              a           a
al script Xo , y al que llamaremos X1:

(define x1 (getValue a1))
(+ x1 2)

      Encontremos en este momento la ordenada del punto M1. Para ello necesitamos:

        Mo (referencia a1) ;
        la pendiente en Mo (a2) ;
        la abscisa X1 (a3).(No confundir con “la abscisa geom´trica”)
                                                             e
     8 Ya   que x estaba entre 0 y 1, 20 × (x − 0,5) estar´ entre -10 y 10.
                                                          a
3.2. SCRIPT SCHEME DE DR. GEO                                                              33

   Despu´s de seleccionar como par´metros de entrada al punto Mo, a la pendiente en
         e                        a
Mo(que llamamos “Pendiente en el punto Mo”, “Slope at Mo” en ingl´s), y a X1, determi-
                                                                    e
namos la ordenada de M1, que llamaremos Y1, a trav´s del siguiente c´lculo:
                                                  e                 a
   Y o + m × (X1 − X0) :

(define   x0 (car (getCoordinates a1)))
(define   y0 (cadr (getCoordinates a1)))
(define   m (getValue a2))
(define   x1 (getValue a3))
(+ (* m   (- x1 x0)) y0)

    En relaci´n con la funci´n (getCoordinates a1) en la que a1 debe ser una referencia
              o             o
a un objeto de tipo punto, el m´todo devuelve una lista que contiene las coordenadas del
                                 e
punto, en este caso Mo. La instrucci´n car permite extraer el primer elemento de esta lista;
                                     o
la instrucci´n cadr, el segundo. El resto del script debe resultar claro.
            o
    Habiendo nombrado este ultimo script Y1, construimos el punto M1=(X1 ; Y1), y, para
                              ´
terminar, construimos la tangente (MoM1). (Para esto ya no necesitamos scripts; podemos
usar el men´, escogiendo punto dadas sus coordenadas y la recta dados dos puntos).
            u
    Por supuesto, habr´ sido posible utilizar unos dos o tres scripts en lugar de la gran
                        ıa
cantidad que usamos. Sin embargo, esperamos que estos peque˜os ejemplos logren en usted
                                                                 n
el deseo de experimentar por usted mismo los DGS.

3.2.2.    M´todos de referencia para los scripts de Dr. Geo
           e
  Las secciones siguientes contienen la descripci´n de los m´todos disponibles para los
                                                 o           e
DGS. Estos m´todos est´n clasificados de acuerdo al tipo de objeto geom´trico o num´rico.
            e          a                                              e           e

Punto

valor (getAbscissa punto)
punto : Referencia a un punto sobre una curva
Devuelve: La “abscisa geom´trica” del punto sobre la curva.El valor pertenece al intervalo
                           e
[0 ; 1]
Ejemplo:
(define x (getAbscissa a1))
(* x 10)


(setAbscissa punto x)
punto : Referencia a un punto libre sobre una l´  ınea
x : Valor decimal en el intervalo [0 ; 1] que representa a la nueva “abscisa geom´trica”
                                                                                 e
Ejemplo:
(setAbscissa a1 0.5)


lista (getCoordinates punto|vector)
Devuelve las coordenadas de un punto o de un vector.
punto|vector : Referencia a un punto o un vector
Devuelve: Lista que contiene las coordenadas del punto o del vector
Ejemplo:
(define c (getCoordinates a1))
(define x (car c))
(define y (cadr c))
(+ (* x x) (* y y))
34                                    CAP´
                                         ITULO 3. CARACTER´
                                                          ISTICAS AVANZADAS

(setCoordinates punto coord)
Asigna coordenadas a un punto
punto : Referencia a un punto libre en el plano
coord : Lista de dos n´meros decimales
                      u
Ejemplo:
(define l (list 1.4 (random 5)))
(setCoordinate a1 l)


Recta, Semirrecta, Segmento, Vector

valor (getSlope direcci´n)
                       o
direcci´n : Referencia a un objeto de tipo recta, semirrecta, segmento o vector
        o
Devuelve: La pendiente en esa direcci´n
                                     o
Ejemplo:
(define p (getSlope a1))


valor (getUnit direcci´n)
                      o
direcci´n : Referencia a un objeto de tipo recta, semirrecta, segmento o vector
        o
Devuelve: Una lista que contiene las coordenadas de un vector unitario en la direcci´n dada
                                                                                    o
Ejemplo:
(define v (getUnit a1))


valor (getNormal direcci´n)
                        o
direcci´n : Referencia a un objeto de tipo recta, semirrecta segmento o vector
        o
Devuelve: Una lista que contiene las coordenadas de un vector normal a la direcci´n dada
                                                                                 o
Ejemplo:
(define n (getNormal a1))


valor (getNorm vector)
vector : Referencia a un vector
Devuelve: La norma (i.e., magnitud, longitud) de ese vector
Ejemplo:
(define n (getNorm a1))


valor (getLength segmento)
segmento : Referencia a un segmento
Devuelve: La longitud de ese segmento
Ejemplo:
(define l (getLength a1))


C´
 ırculo, Arco de c´
                  ırculo

lista (getCenter c´rculo|arco)
                  ı
c´rculo|arco : Referencia a un c´
 ı                                ırculo o un arco de c´
                                                       ırculo
Devuelve: Lista que contiene las coordenadas del centro de un c´
                                                               ırculo o de un arco de c´
                                                                                       ırculo
Ejemplo:
3.2. SCRIPT SCHEME DE DR. GEO                                                        35

(define c (getCenter a1))
(car c)



valor (getRadius c´rculo|arco)
                  ı
c´rculo|arco : Referencia a un c´
 ı                                ırculo o un arco de c´
                                                       ırculo
Devuelve: Radio del c´
                     ırculo o del arco de c´ırculo
Ejemplo:
(define r (getRadius a1))



valor (getLength c´rculo|arco)
                  ı
c´rculo|arco : Referencia a un c´
 ı                               ırculo o un arco de c´
                                                      ırculo
Devuelve: Per´
             ımetro del c´
                         ırculo o longitud del arco de c´
                                                        ırculo
Ejemplo:
(define l (getLength a1))



Funciones Num´ricas
             e

valor (getValue n´mero)
                 u
n´mero : Referencia a un n´mero
 u                        u
Devuelve: Valor de ese n´mero
                        u
Ejemplo:
(define a (getValue a1))
(define b (getValue a2))
(+ a b)



(setValue n´mero v)
           u
n´mero : Referencia a un n´mero
 u                        u
v : Valor decimal
Ejemplo:
(define v (getValue a1))
(setValue a2 v)



´
Angulo


valor (getAngle ´ngulo)
                a
´ngulo : Referencia a un ´ngulo orientado o geom´trico
a                        a                      e
Devuelve: La medida de ese ´ngulo en grados. Para obtener la medida en radianes, utilice
                            a
la funci´n getValue
        o
Ejemplo:
(define angle1 (getAngle a1))
(define angle2 (getAngle2))
(define angle3 (getAngle a3))
(+ angle1 angle2 angle3)
36                                    CAP´
                                         ITULO 3. CARACTER´
                                                          ISTICAS AVANZADAS

Otros

(move item t)
item : Referencia a un objeto de la figura
t : vector de dos dimensiones
Ejemplo:
(define v (vector .1 0))
(move a1 v)



3.3.     Figura Scheme de Dr. Geo
     Las Figuras Scheme de Dr. Geo – (FSD) – son figuras escritas en un lenguaje relati-
vamente natural. No se trata entonces de construir una figura con la ayuda de la interfaz
gr´fica de Dr. Geo sino m´s bien de describir una figura dentro del lenguaje Scheme(Una
   a                        a
variante de Lisp). Hemos cuidado mucho que la sintaxis utilizada sea f´cil y concisa. Adem´s,
                                                                      a                   a
el conjunto de palabras clave utilizadas en Scheme para para describir una figura simple son
adaptables de modo que aparezcan en Espa˜ol, Franc´s, Ingl´s, etc. . Una combinaci´n de
                                             n         e       e                        o
varios idiomas es tambi´n posible; pero no es deseable.(N. del T. es por ello que varias
                         e
palabras clave en este manual aparecen en Espa˜ol. Basta con traducir un archivo en el
                                                  n
directorio scm donde Dr. Geo est´ instalado; notar que en la traducci´n hecha del archivo,
                                    a                                   o
se incluy´ una versi´n de los comandos con acentos y e˜es, as´ como otra sin acentos y sin
          o         o                                    n      ı
e˜es. Las palabras clave no traducidas seran escritas en ingl´s.)
 n                                                           e

3.3.1.    Algunos Ejemplos
    (N.del T. En lo que sigue se usar´n las palabras “referencia” y “nombre”. “referencia”
                                      a
es una variable que apunta a un objeto. “nombre” es el r´tulo que aparece en la figura. A
                                                           o
veces se usar´ el termino variable; pero “referencia” es m´s preciso en otros casos.)
             a                                            a
    En s´ Scheme es un lenguaje de muy alto nivel. Cuando una figura es definida en este
        ı,
lenguaje, disponemos tambi´n de todo su poder para, por ejemplo, definir recursivamente
                            e
alguna parte de la figura o bien para colocar aleatoriamente ciertos objetos de tal suerte
que, cada vez que se cargue la figura, los objetos aparecer´n ligeramente distintos. En pocas
                                                          a
palabras, los FSD no est´n atados a las limitantes de la interfaz gr´fica, y adem´s poseen
                         a                                           a             a
todo el poder del lenguaje Scheme. Un FSD es entonces un archivo con extension .scm
creado con la ayuda de un editor de texto, el cual es abierto en Dr. Geo con la ayuda del
comando Archivo->Evaluar.
    Comencemos por estudiar un ejemplo sencillo de FSD :

(nueva-figura "Mi figura")

   Este es el script m´s peque˜o que podemos definir. Despu´s de ser cargado en Dr. Geo,
                      a       n                           e
simplemente crea una nueva figura vac´ con el nombre “Mi figura”. Podemos escribir co-
                                      ıa
mandos (nueva-figura "Mi figura") tantas veces como deseemos.
   Veamos ahora un segundo ejemplo :

(nueva-figura "Mi figura")
(sea Punto "A" libre 1.2 -2)

   Este FSD define una figura con un punto libre A de coordenadas iniciales (1, 2 ; − 2).
Como podemos ver la sintaxis de la definici´n de un objeto geom´trico es relativamente
                                             o                   e
c´moda, a tal grado que esa expresada en nuestra lengua madre. Esto es de inter´s especial
 o                                                                             e
para la ense˜anza secundaria. De hecho, todos los comandos de definici´n de objeto tienen
            n                                                        o
una sintaxis com´n. Tal sintaxis es como sigue:
                u
3.3. FIGURA SCHEME DE DR. GEO                                                                            37

 1. Se comienza siempre con la palabra clave sea, la cual indica que deseamos definir un
    nuevo objeto
 2. Inmediatamente le sigue la clase de objeto; en este caso Punto.
 3. El nombre del objeto va enseguida, A, debe siempre estar entre dos comillas ”. Si no
    deseamos nombrar al objeto, de todos modos es necesario dar un nombre vac´ como
                                                                                ıo
    sigue: ””.
 4. Para terminar, necesitamos precisar, dentro de la clase, qu´ tipo de objeto, en nuestro
                                                                e
    ejemplo, la clase es punto, y el tipo es libre. Esto significa que el punto A es libre.
 5. El tipo de objeto es seguido por una lista de argumentos que depende de la clase
    de objeto y de que tipo de objeto. En nuestro ejemplo, esta lista se compone de dos
    n´meros, las coordenadas del punto libre A.
     u

    Prosigamos con un tercer ejemplo :

(define (tri´ngulo p1 p2 p3)
            a
  (Segmento "" extremos p1 p2)
  (Segmento "" extremos p2 p3)
  (Segmento "" extremos p1 p3))

(define (azar)
  (- 8 (* 16 (random:uniform))))

(nueva-figura "Mi figura")

(sea Punto "A" libre (azar) 0)
(sea Punto "B" libre 5 0)
(sea Punto "C" libre (azar) 5)

(tri´ngulo A B C)
    a

   (N. del T. En este ejemplo, dos palabras est´n en ingl´s: “random” que significa “azar”,
                                               a         e
y “uniform” que significa “uniforme”. Como se coment´ antes es posible traducirlas modif-
                                                       o
icando el archivo dentro del directorio scm donde Dr. Geo est´ instalado. El archivo para
                                                                e
espa˜ol es: /usr/share/drgeo/scm/drgeo scm interface constant es.scm).
    n
   Este ejemplo es particularmente interesante, nos muestra tres cosas importantes :

 1. La definici´n de una construcci´n de alto nivel no prevista por los autores de Dr. Geo.
               o                  o
    En el programa que acabamos de ver hemos definido la funci´n tri´ngulo la cual, a
                                                                   o      a
    partir de tres puntos construye el tri´ngulo que pasa por esos tres puntos. Podemos
                                          a
    comparar esto con las macros; pero con un grado de libertad mucho m´s amplio e
                                                                                a
    importante.
 2. La definici´n de las funciones asociadas, en este caso definimos la funci´n azar que
               o                                                            o
    devuelve un n´mero decimal comprendido entre -8 y 8. Utilizamos esta funci´n para
                  u                                                              o
    a˜adir un elemento de azar en ciertos puntos en nuestra figura. De este modo cada vez
     n
    que se cargue la figura, ´sta ser´ ligeramente distinta.
                            e       a
 3. En efecto, la utilizaci´n de la palabra clave sea no es obligatoria; nosotros la uti-
                            o
    lizamos para guardar una referencia al objeto creado. Por ejemplo, dentro de la fun-
    ci´n tri´ngulo no guardamos referencias para los segmentos creados. Por otro lado,
      o      a
    cuando definimos los puntos A, B y C necesitamos guardar una referencia para ellos,
    estas referencias se llamar´n igual9 ; pero sin las comillas; as´ nuestras referencias son:
                               a                                    ı
   9 Desde el punto de vista del lenguaje Scheme, estas referencias son s´  ımbolos que apuntan hacia una
estructura interna del objeto –un prototipo– mientras que los nombres son simplemente cadenas de caracteres.
38                                    CAP´
                                         ITULO 3. CARACTER´
                                                          ISTICAS AVANZADAS

     A, B y C. En lo que sigue llamaremos s´ımbolos a esas variables, esta es la terminolog´
                                                                                           ıa
     precisa del lenguaje Scheme. De este modo, al llamar a la funci´n tri´ngulo, pasamos
                                                                    o       a
     como par´metros a los s´
               a               ımbolos A, B y C que son utilizados para definir nuestros tres
     segmentos.

  Notar que cuando definimos los segmentos, no les dimos ning´n nombre; en ese caso
                                                                u
Dr. Geo les dar´ un nombre que est´ determinado a partir del nombre de sus extremos.
                 a                  a
Nuestros tres segmentos tendr´n entonces los nombres [AB], [BC] y [AC].
                             a
  Para concluir esta secci´n, veamos un ultimo ejemplo :
                          o             ´

(sea Punto "A" libre 1 0)
(sea Punto "B" libre 5 0)
(sea Recta "d1" 2puntos A B)

(env´a
    ı    A color amarillo)
(env´a
    ı    A forma redonda)
(env´a
    ı    A tama~o grande)
               n
(env´a
    ı    B oculto)
(env´a
    ı    d1 grosor punteado)

    Los tres primeros comandos crean dos puntos y una recta. La parte que nos interesa
particularmente es la serie de comandos env´a. Estos comandos permiten la comunicaci´n
                                              ı                                             o
con un objeto cuyo s´ımbolo hemos guardado; en este caso tenemos los s´  ımbolos A, B y d1. El
comando consiste en enviar un mensaje a un objeto. Su primer par´metro de entrada es el
                                                                      a
objeto con el que deseamos comunicarnos, el segundo argumento es el mensaje, los restantes
argumentos est´n determinados por tipo de mensaje que es enviado. Por ejemplo (env´a A
               a                                                                         ı
color amarillo) env´ el mensaje color con par´metro de entrada amarillo. El punto A
                       ıa                         a
toma entonces el color amarillo. Es f´cil comprender el sentido de los otros comandos env´a.
                                     a                                                     ı
Estos ser´n explicadosen la secci´n siguiente.
         a                       o
    Hemos terminado nuestra peque˜a visita guiada a las Figuras Scheme de Dr. Geo, FSD.
                                     n
En las secciones siguientes expondremos el conjunto de comandos disponibles para definir
las FSD.


3.3.2.    M´todos de referencia para las figuras Scheme de Dr. Geo
           e
    La definici´n de los objetos en un documento FSD se hace a trav´s de prototipos. Los
              o                                                     e
prototipos son en cierto sentido objetos a los que podemos interrogar y modificar como
veremos en lo que sigue.
    Empero, antes de la definici´n de objeto alguno en un FSD, el FSD debe ser creado con
                               o
el comando nueva-figura en el principio del archivo.


Comandos generales


(nueva-figura nombre)
nombre : Cadena de caracteres
Devuelve: No devuelve ning´n valor. Es llamada por el efecto que produce, no por el valor
                           u
que devuelve. Este comando crea una figura nueva. Los objetos creados posteriormente se
crean dentro de esta figura hasta que se vuelva a llamar este comando.
Ejemplo:
(nueva-figura "Mi 1er figura")
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo
Dr Geo

Más contenido relacionado

La actualidad más candente (10)

Java 2D
Java 2DJava 2D
Java 2D
 
Desarrollo de un Sistema de Juego Ubicuo bajo Plataforma Android
Desarrollo de un Sistema de Juego Ubicuo bajo Plataforma AndroidDesarrollo de un Sistema de Juego Ubicuo bajo Plataforma Android
Desarrollo de un Sistema de Juego Ubicuo bajo Plataforma Android
 
Introducción a la Informática
Introducción a la InformáticaIntroducción a la Informática
Introducción a la Informática
 
Gretl guide-es[1]
Gretl guide-es[1]Gretl guide-es[1]
Gretl guide-es[1]
 
Manual Scilab
Manual ScilabManual Scilab
Manual Scilab
 
Pensar en cpp
Pensar en cpp Pensar en cpp
Pensar en cpp
 
estructuras de datos
estructuras de datosestructuras de datos
estructuras de datos
 
Econometria aplicada con gretl
Econometria aplicada con gretlEconometria aplicada con gretl
Econometria aplicada con gretl
 
R manual
R manualR manual
R manual
 
Pensar enc++
Pensar enc++Pensar enc++
Pensar enc++
 

Similar a Dr Geo (20)

Tutorial c18
Tutorial c18Tutorial c18
Tutorial c18
 
skrooge.pdf
skrooge.pdfskrooge.pdf
skrooge.pdf
 
52811100 manual-sp
52811100 manual-sp52811100 manual-sp
52811100 manual-sp
 
Manual guadalinex edu
Manual guadalinex eduManual guadalinex edu
Manual guadalinex edu
 
Manualscilab 090513151714 Phpapp02
Manualscilab 090513151714 Phpapp02Manualscilab 090513151714 Phpapp02
Manualscilab 090513151714 Phpapp02
 
Fibras opticas
Fibras opticasFibras opticas
Fibras opticas
 
M´etodos num´ericos
M´etodos num´ericosM´etodos num´ericos
M´etodos num´ericos
 
Memoria Proyecto Fin de Carrera
Memoria Proyecto Fin de CarreraMemoria Proyecto Fin de Carrera
Memoria Proyecto Fin de Carrera
 
Estudio de mejora del mantenimiento mediante la aplicación de la distribución...
Estudio de mejora del mantenimiento mediante la aplicación de la distribución...Estudio de mejora del mantenimiento mediante la aplicación de la distribución...
Estudio de mejora del mantenimiento mediante la aplicación de la distribución...
 
Unixsec
UnixsecUnixsec
Unixsec
 
Guia de matematicas
Guia de matematicasGuia de matematicas
Guia de matematicas
 
Java 2d
Java 2dJava 2d
Java 2d
 
Manual técnico anclajes 2019.pdf
Manual técnico anclajes 2019.pdfManual técnico anclajes 2019.pdf
Manual técnico anclajes 2019.pdf
 
Informatica3
Informatica3Informatica3
Informatica3
 
Introduccion a la informatica
Introduccion a  la informaticaIntroduccion a  la informatica
Introduccion a la informatica
 
Librocompleto
LibrocompletoLibrocompleto
Librocompleto
 
Librocompleto
LibrocompletoLibrocompleto
Librocompleto
 
Inforrmatica pdf 1
Inforrmatica pdf 1Inforrmatica pdf 1
Inforrmatica pdf 1
 
Librocompleto
LibrocompletoLibrocompleto
Librocompleto
 
Librocompleto
LibrocompletoLibrocompleto
Librocompleto
 

Más de Andres Amilivia (20)

Proyecto de la lengua
Proyecto de la lenguaProyecto de la lengua
Proyecto de la lengua
 
Cena show
Cena showCena show
Cena show
 
Manual tux paint 17
Manual tux paint 17Manual tux paint 17
Manual tux paint 17
 
Algoritmos programacioncuaderno1
Algoritmos programacioncuaderno1Algoritmos programacioncuaderno1
Algoritmos programacioncuaderno1
 
Feria ceibal
Feria ceibalFeria ceibal
Feria ceibal
 
Salida 1 b y 2 b
Salida 1 b y 2 bSalida 1 b y 2 b
Salida 1 b y 2 b
 
Ajedrez
AjedrezAjedrez
Ajedrez
 
Iepa xo
Iepa xoIepa xo
Iepa xo
 
Mural
MuralMural
Mural
 
3ºb cecru
3ºb cecru3ºb cecru
3ºb cecru
 
2ºb
2ºb2ºb
2ºb
 
Pres ciudadania digital maldonado
Pres ciudadania digital maldonado Pres ciudadania digital maldonado
Pres ciudadania digital maldonado
 
Escuela leones
Escuela leonesEscuela leones
Escuela leones
 
Cooperativismo
CooperativismoCooperativismo
Cooperativismo
 
Menú escolar
Menú escolarMenú escolar
Menú escolar
 
La educacion sexual educacion primaria
La educacion sexual  educacion primariaLa educacion sexual  educacion primaria
La educacion sexual educacion primaria
 
Ejemplo mapa con etoys
Ejemplo mapa con etoysEjemplo mapa con etoys
Ejemplo mapa con etoys
 
Math graph 32
Math graph 32Math graph 32
Math graph 32
 
La educacion sexual educacion primaria
La educacion sexual  educacion primariaLa educacion sexual  educacion primaria
La educacion sexual educacion primaria
 
La educacion sexual educacion primaria
La educacion sexual  educacion primariaLa educacion sexual  educacion primaria
La educacion sexual educacion primaria
 

Dr Geo

  • 1. Manual de Usuario de Dr. Geo Hilaire Fernandes, Andrea Centomo Adrian Soto OFSET http://www.ofset.org 29 de agosto de 2004
  • 2. 2
  • 3. ´ Indice general 1. Introducci´n o 7 1.1. Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2. Dr. Geo en la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2. Funciones B´sicas a 11 2.1. Herramientas de Construcci´n . . . . . . . . . . . . . o . . . . . . . . . . . . . . 11 2.1.1. Herramientas de puntos . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.2. Herramientas de l´ıneas . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.3. Herramientas de Transformaci´n . . . . . . . o . . . . . . . . . . . . . . 14 2.1.4. Herramientas Num´ricas . . . . . . . . . . . . e . . . . . . . . . . . . . . 15 2.1.5. Herramientas para Macros de construcciones . . . . . . . . . . . . . . 17 2.2. Otras herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 ´ 2.2.1. Arbol l´gico de construcci´n . . . . . . . . . o o . . . . . . . . . . . . . . 17 2.2.2. Mover la figura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.3. Borrar un objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.4. Editar la Apariencia de un Objeto . . . . . . . . . . . . . . . . . . . . 18 2.2.5. Editando Propiedades de Objetos . . . . . . . . . . . . . . . . . . . . . 20 2.2.6. Activar un enrejado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3. Preferencias de Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1. Comportamiento Predeterminado . . . . . . . . . . . . . . . . . . . . . 21 2.3.2. Otras Preferencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3. Caracter´ ısticas Avanzadas 23 3.1. Macros de Construcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1. Crear una Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.2. Ejecutar una Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2. Script Scheme de Dr. Geo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.1. DGS a trav´s de ejemplos . . . . . . . . . . . . . . . . . . . e . . . . . . 29 3.2.2. M´todos de referencia para los scripts de Dr. Geo . . . . e . . . . . . 33 3.3. Figura Scheme de Dr. Geo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.1. Algunos Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.2. M´todos de referencia para las figuras Scheme de Dr. Geo e . . . . . . 38 3.3.3. Sin´nimos en DGS . . . . . . . . . . . . . . . . . . . . . . . o . . . . . . 46 3.3.4. Galer´ de Ejemplos . . . . . . . . . . . . . . . . . . . . . . ıa . . . . . . 48 3.4. Bloquear las herramientas de la interfaz . . . . . . . . . . . . . . . . . . . . . 51 3.4.1. Bloqueo de las herramientas . . . . . . . . . . . . . . . . . . . . . . . . 51 3.4.2. Desbloqueo de las herramientas . . . . . . . . . . . . . . . . . . . . . . 52 4. Archivos y documentos 53 4.1. Guardar una construcci´n o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2. Guardar una sesi´n . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.3. Guardar una Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4. Abrir un archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3
  • 4. 4 ´ INDICE GENERAL 4.5. Exportar una figura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.5.1. Exportar a L TEX . . . . . . . A . . . . . . . . . . . . . . . . . . . . . . . 54 4.5.2. Exportar a PostScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.3. Exportar a png . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.4. Exportar Fly Draw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.5. Definir el ´rea de exportaci´n a o . . . . . . . . . . . . . . . . . . . . . . . 55 5. Aplicaciones Did´cticas a 57 5.1. Pit´goras y scripts . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2. Teoremas y conjeturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.3. N´meros irracionales . u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4. Espiral de Baravelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.5. Cadena de Papus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.6. C´lculo de π . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6. Libro de recetas 69 6.1. Crear un pol´ ıgono regular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.1.1. El modelo del pol´ıgono . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.1.2. La macro del pol´ıgono . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.1.3. Algunas consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.2. Imprimir una figura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.3. Colocar un p´rrafo de texto en la a figura . . . . . . . . . . . . . . . . . . . . . 71 A. Hist´rico. o 77 B. GNU Free Documentation License 79
  • 5. Copyright Copyright (c) 2000-2004 OFSET. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ”GNU Free Documentation License”. Other copyright apply to the respective owners of the modified documentations. See the section history for the complet list. 5
  • 6. 6 ´ INDICE GENERAL
  • 7. Cap´ ıtulo 1 Introducci´n o 1.1. Preliminares Dr. Geo es un programa tanto de geometr´ interactiva como de programaci´n en el ıa o lenguaje Scheme. Permite crear figuras geom´tricas, as´ como manipularlas interactivamente e ı respetando sus restricciones geom´tricas. Ofrece igualmente la posibilidad de introducirse e gradualmente en la programaci´n. Es util para la ense˜anza a estudiantes de nivel b´sico o o ´ n a superior. La interfaz de usuario de Dr. Geo ha sido concebida para dar, dentro de un conjunto arm´nico, a la vez sencillez en su operaci´n, ergonom´ y funcionalidades avanzadas. o o ıa As´ la interfaz de Dr. Geo , con una gran sencillez, permite al ne´fito la familiarizaci´n ı o o con las funciones b´sicas del programa. Posteriormente, a medida que lo conozca m´s, el a a usuario conocer´ los aspectos m´s avanzados de la interfaz y del funcionamiento de Dr. Geo a a : m´ltiples modos para la construcci´n de objetos 1 , macros de construcciones, sesiones, u o adaptabilidad de la interfaz, uso de scripts y de Figuras Scheme de Dr. Geo(i.e. Dr. Geo es programable en dos modos distintos). Estas funciones avanzadas generan muy poca so- brecarga a la interfaz, por lo que Dr. Geo es utilizado con entusiasmo en la ense˜anza n primaria, lo que no resta su uso en el nivel medio. En las secciones siguientes, expondremos las herramientas b´sicas. Posteriormente las a funciones avanzadas ser´n presentadas en detalle. a La estructura de la interfaz es la siguiente : 1. la barra de men´ caracter´ u ıstica con Archivo, Editar, Macros, Ventanas, Ayuda ; 2. la barra de acciones para crear una nueva figura o un texto explicativo; contiene tambi´n las herramientas de hacer/deshacer y la rejilla . e Para crear una figura geom´trica nueva, el usuario debe hacer click en el primer bot´n de e o la barra de herramientas. De manera alternativa, una nueva figura puede ser creada usando el elemento de la barra del men´ Archivo->Nuevo->Figura. Cuando una nueva figura es u creada, una nueva barra de ´ ıconos formada por seis iconos aparece. Esta barra de ´ ıconos termina con un men´ que permite ajustar la escala de la figura geom´trica actual. u e Adem´s, una barra de ´ a ıconos vertical, a la izquierda de la figura, ofrece un r´pido acceso a a las herramientas m´s utilizadas. a Los seis iconos de la barra de ´ıconos son entradas de men´ generales desde donde se u llaman a funciones espec´ıficas. Estas funciones son descritas en el siguiente cap´ ıtulo. 1 Se trata de poder, a partir de un mismo comando, crear un tipo de objeto seg´n se requiera. Por u ejemplo, a partir del comando para la construcci´n de un c´ o ırculo, el usuario puede crear un c´ırculo a partir de su centro y de ya sea un punto, una longitud, un segmento, etc. Con todo, este comando es representado por un solo icono, y Dr. Geo se anticipa para ofrecer al usuario la construcci´n deseada. El efecto inmediato o es que existe una disminuci´n en el tiempo de aprendizaje de la interfaz, al proponer un n´ mero importante o u de modos de construcci´no 7
  • 8. 8 CAP´ ´ ITULO 1. INTRODUCCION Figura 1.1: Pantalla de Bienvenida de Dr. Geo Figura 1.2: Una figura geom´trica vac´ e ıa Para cada figura, un ´rbol sin´ptico est´ disponible. Inicialmente este panel est´ oculto en a o a a el extremo izquierdo de modo que s´lo la representaci´n de la figura es visible. En cualquier o o momento, el usuario puede empujar el panel hacia la derecha como sigue: Lleve el rat´n a la o parte izquierda de la figura, justo a la izquierda de donde est´ la regla; cuando el puntero del a rat´n cambie de forma, presione el bot´n y contin´e presionando mientras mueve el rat´n a o o u o la derecha. Con ello, ser´ visible la descripci´n de la figura. La descripci´n de una figura es a o o un ´rbol formado con todos los elementos de la figura. Los elementos que dependen de otros a elementos pueden ser revelados al hacer click sobre el s´ ımbolo ‘+’. Con ello, se mostrar´na los elementos que dieron origen (v.g. los que dieron origen a una l´ ınea pueden ser dos puntos; aunque pueden ser otros originadores. Tambi´n se les llama elementos antecedentes e o elementos padre).
  • 9. 1.2. DR. GEO EN LA RED 9 Figura 1.3: Una figura de Dr. Geo y su descripci´n o 1.2. Dr. Geo en la red Dr. Geo dispone de su propio espacio en la red en el sitio ofset en la direcci´n : o http://www.ofset.org/drgeo En este espacio, el usuario encontrar´ la siguiente informaci´n : a o la informaci´n para obtener Dr. Geo ; o la documentaci´n del programa; o algunas indicaciones para involucrarse en el proyecto Dr. Geo ; algunas referencias para el uso pedag´gico del programa. o
  • 10. 10 CAP´ ´ ITULO 1. INTRODUCCION
  • 11. Cap´ ıtulo 2 Funciones B´sicas a Este cap´ıtulo describe las herramientas usadas para construir figuras geom´tricas. Al e final del cap´ ıtulo, la configuraci´n de las preferencias del usuario es tambi´n presentada. o e 2.1. Herramientas de Construcci´n o Estas herramientas est´n separadas en seis grupos disponibles desde la segunda barra de a herramientas de Dr. Geo . Figura 2.1: Categor´ de herramientas de Dr. Geo y sus descripciones ıas Cuando el usuario hace click sobre uno de los iconos decorados con un triangulito verde, una nueva barra vertical de iconos aparece inmediatamente. En ella se agrupan funciones de una misma familia. De izquierda a derecha, tenemos acceso a las barras de herramientas verticales para: construir puntos, construir l´ ıneas, realizar transformaciones geom´tricas, calcular valores e num´ricos, generar macros de construcciones, y utilizar las herramientas de edici´n – Otras e o herramientas Estas funciones tambi´n aparecen dentro del men´ contextual de una figura, que es e u llamado haciendo click con el bot´n derecho en el fondo de la figura. o 11
  • 12. 12 CAP´ ´ ITULO 2. FUNCIONES BASICAS 2.1.1. Herramientas de puntos Punto Libre Crear un punto libre en el ´rea o un punto libre en un objeto unidimensional(segmento, a semirrecta,recta, arco de c´ ırculo, c´ ırculo, lugar geom´trico). e 1. En el primer caso, el punto creado puede moverse a cualquier lugar del fondo de la figura; para construirlo, el usuario simplemente hace click en cualquier parte del fondo. 2. En el segundo caso, el punto est´ limitado a moverse en el objeto unidimensional (l´ a ınea o c´ ırculo); esta pegado al objeto. Para construir este tipo de punto el usuario hace click sobre una l´ ınea (i.e. una l´ ınea recta, una semirrecta, un segmento, un c´ırculo, un arco de c´ırculo, etc.). ¿C´mo ubicar un punto dadas sus coordenadas ? La soluci´n m´s simple consiste o o a en colocar un punto libre y luego editar sus propiedades – herramienta Propiedades Secci´no 2.2.5, p´gina 20– ajustando sus coordenadas a voluntad.. a Otra posibilidad – menos flexible para este tipo de figura– consiste en colocar dos valores libres en la figura – herramienta Valor Num´ricoSecci´n 2.1.4, p´gina 15– y luego construir e o a el punto con coordenadas dadas por esos dos valores – herramienta Punto definido por sus coordenadas Secci´n 2.1.1, p´gina 12 Cette possibilit´ a un avantage sur la Este proced- o a e imiento tiene una ventaja sobre el precedente: el punto construido no puede ser ya movido con el rat´n; el punto est´ inexorablemente atado a su posici´n. o a o Punto Medio Crear el punto medio de un par de puntos o la mitad de un segmento. 1. En el primer caso, el usuario selecciona dos puntos. 2. En el segundo caso, el usuario simplemente selecciona un segmento . Intersecci´n o Crear el(los) punto(s) de intersecci´n de dos l´ o ıneas (objetos unidimensionales, i.e. rec- ta, semirrecta, segmento, arco de c´ ırculo, c´ ırculo o lugar geom´trico). El usuario necesita e seleccionar dos l´ ıneas (v.g arco de c´ ırculo y semirrecta). Punto definido por sus coordenadas Crear un punto definido por sus coordenadas. El usuario necesita seleccionar dos n´meros, u el primer n´mero seleccionado es la abscisa, el segundo la ordenada. u
  • 13. ´ 2.1. HERRAMIENTAS DE CONSTRUCCION 13 ¿C´mo colocar un punto con restricciones a sus coordenadas? Esta funcion es muy o utilizada cuando deseamos, por ejemplo, construir el lugar geom´trico de un punto. Esta e construcci´n supone la existencia de dos valores – ver Secci´n Valores Num´ricos Secci´n o o e o 2.1.4, p´gina 15 – el punto es construidoluego de seleccionar esos dos valores. Los valores a pueden ser independientes o uno depender del otro. 2.1.2. Herramientas de l´ ıneas Recta Crear una l´ ınea recta definida por sus dos puntos. El usuario selecciona dos puntos. Semirrecta Crea una semirrecta (tambi´n llamada rayo) definida por dos puntos. El usuario selec- e ciona dos puntos, el primero es el origen, el segundo pertenece a la semirrecta. Segmento Crea un segmento definido por dos puntos. Vector Crea un vector definido por dos puntos. El usuario selecciona dos puntos, el primer punto es el origen, el segundo es el extremo. Una vez que el vector es creado, ´ste puede ser desplazado independientemente de los e dos puntos que le dieron origen. Esto sigue siendo cierto para vectores construidos a trav´s e de una transformaci´n. (Ver la secci´n de Transformaciones en este manual). o o C´ ırculo Crea un c´ ırculo. El usuario puede crear un c´ ırculo a partir de varias opciones: 1. el centro y un punto del c´ ırculo; 2. el centro y un n´mero (el radio del c´ u ırculo); 3. el centro y un segmento cuya longitud es el radio del c´ ırculo. Arco de C´ ırculo
  • 14. 14 CAP´ ´ ITULO 2. FUNCIONES BASICAS Crea un arco de c´ ırculo definido por tres puntos. El primer punto seleccionado es el origen del arco, el tercero es su extremo, el segundo es un punto sobre el arco. Los tres puntos seleccionados formar´n parte del arco. a Lugar geom´trico e Crea un lugar geom´trico (locus en lat´ dados dos puntos. El usuario selecciona dos e ın) puntos; uno es un punto libre sobre una l´ ınea (linea o c´ ırculo); el otro es un punto que depende del primero (i.e. cuando uno mueve el primero, el segundo tambi´n tiene que moverse). e Pol´ ıgono Crea un pol´ ıgono definido por n puntos. El usuario selecciona n+1 puntos delimitando el pol´ ıgono. El primero y el ultimo seleccionado deben ser los mismos, esto indica a Dr. Geo ´ que la selecci´n esta terminada. El objeto pol´ o ıgono no es un objeto como los objetos uni- dimensionales, no es posible colocar un punto sobre ´l o calcular la intersecci´n entre un e o pol´ ıgono y otro objeto unidimensional. Por otro lado, es posible aplicar a un pol´ıgono una transformaci´n geom´trica (rotaci´n, reflexi´n, homotecia, etc.) o e o o 2.1.3. Herramientas de Transformaci´n o L´ ınea Paralela Crea una l´ ınea paralela a una direcci´n y que pase a trav´s de un punto. El usuario o e selecciona un punto y una direcci´n (i.e. una l´ o ınea recta, una semirrecta, un segmento o un vector). L´ ınea Perpendicular Crea una l´ ınea perpendicular a una direcci´n y que pasa a trav´s de un punto. El usuario o e selecciona un punto y una direcci´n (i.e. una l´ o ınea recta, una semirrecta, un segmento o un vector). (Ortogonal es un sin´nimo de Perpendicular) o Simetr´ Axial (Reflexi´n) ıa o Crea la imagen de un objeto a trav´s de una simetr´ axial (reflexi´n en una recta). e ıa o El usuario selecciona el objeto a transformar y el eje de simetr´ (que debe ser una recta). ıa Cuando el usuario quiere construir la imagen de una l´ ınea recta, la primera l´ ınea recta seleccionada por el usuario ser´ la recta a reflejar. a
  • 15. ´ 2.1. HERRAMIENTAS DE CONSTRUCCION 15 Simetr´ Central ıa Crea la imagen de un objeto a trav´s de una simetr´ central. El usuario selecciona los e ıa objetos que ser´n transformados y el centro de simetr´ (un punto). Cuando el usuario quiere a ıa construir la imagen de un punto, el primer punto seleccionado es el punto a transformar.(La simetr´ central es equivalente a una rotaci´n de 180 grados). ıa o Traslaci´n o Crear la imagen de un objeto a trav´s de una traslaci´n. El usuario selecciona el objeto e o que ser´ transformado y el vector de traslaci´n. Cuando el usuario quiere construir la imagen a o de un vector, el primer vector seleccionado es el vector que ser´ trasladado. a Rotaci´n o Crea la imagen de un objeto a trav´s de una rotaci´n. El usuario selecciona el punto que e o ser´ rotado, el centro y el ´ngulo de la rotaci´n. Cuando el usuario quiere crear la imagen a a o de un punto, el primer punto seleccionado es el punto a transformar. El ´ngulo puede ser seleccionado a partir de varios tipos de valores : a valor num´rico : el ´ngulo es expresado en radianes. Ejemplos de valores num´ricos : e a e valor libre, un valor devuelto por un script Guile de Dr. Geo, etc. ; la medida de un ´ngulo geom´trico formado por tres puntos : su medida a e es entonces expresada en grados. Atenci´n, pues en este caso la medida estar´ en el o a intervalo [0 ; 180] ; la medida de un ´ngulo orientado entre dos vectores : esta medida es expresada a en grados y cubre el intervalo ]-180 ; 180]. Escala (Homotecia) Crea la imagen de un objeto a trav´s de una transformaci´n de escala (es decir, ho- e o motecia). El usuario selecciona el objeto a transformar, el centro de homotecia, y el factor (i.e. un n´mero). Cuando el usuario quiera crear la imagen de un punto, el primer punto u seleccionado es el punto a transformar. (Por ejemplo, si se desea hacer un pol´ ıgono un tercio de grande, se selecciona un punto –centro de homotecia–, el pol´ ıgono, y el valor 0.33333 ) 2.1.4. Herramientas Num´ricas e Distancias, longitudes & N´ meros u Crea un valor num´rico. El valor num´rico puede ser computado o editado por el usuario e e dependiendo de las selecciones que haga el usuario:
  • 16. 16 CAP´ ´ ITULO 2. FUNCIONES BASICAS 1. dos puntos: la distancia entre dos puntos; 2. un segmento: la longitud de este segmento; 3. un vector; la magnitud de ese vector (tambi´n llamada norma del vector); e 4. un c´ ırculo: el per´ ımetro del c´ ırculo; 5. un arco de c´ ırculo; la longitud del arco; 6. una l´ ınea recta: la pendiente de la recta; 7. una l´ ınea recta y un punto: la distancia entre la l´ ınea y el punto 8. un click sobre el fondo permite al usuario entrar un valor nuevo (i.e. un valor num´rico e libre) Esta ultima posibilidad es muy intenresante en ciertas situaciones. Por ejemplo, ella ´ permite fijar una longitud, el radio de un c´ırculo, la medida de un ´ngulo (en radianes) o a las coordenadas de un punto. Estos valores num´ricos pueden ser enseguida utilizados por e las herramientas de construcci´n de c´ o ırculos, de rotaci´n de objetos o para la creaci´n de o o puntos dadas sus coordenadas. ´ Angulo Calcula la magnitud de un ´ngulo definido por tres puntos o dos vectores. En el primer a caso, el ´ngulo se considera no orientado (i.e. un ´ngulo geom´trico con valores en el intervalo a a e [0 ; 180◦ ]. En el segundo caso, el ´ngulo se considera orientado y toma valores en el rango a ]-180 ; 180]. Coordenadas Al selecciona un punto o un vector, nos da como resultado las coordenadas del punto o nos da las coordenadas del vector (coordenadas del punto final menos coordenadas del punto inicial). Esta herramienta crea tanto a la abscisa como a la ordenada. Script Guile de Dr. Geo Crea un script Scheme de Dr. Geo(i.e. un script en el lenguaje Scheme). El script recibe una entrada de n objetos. Siempre dar´ como resultado un n´mero, que ser´ presentado en a u a la figura. Un script puede ser usado para obtener efectos colaterales o por el valor que da como resultado. Los Scripts Scheme de Dr. Geo est´n cubiertos en detalle en el Cap´ a ıtulo Construcciones Avanzadas Cap´ ıtulo 3 y exactamente en la Secci´n ScriptSecci´n 3.2, p´gina o o a 29.
  • 17. 2.2. OTRAS HERRAMIENTAS 17 2.1.5. Herramientas para Macros de construcciones Crear una Macro Extrae una secuencia de construcci´n dada en una figura y la convierte en la macro de o una construcci´n. o Ejecutar una Macro Ejecuta (i.e. “lanza” o “corre”) una macro previamente construida. La macro puede haber sido reci´n creada o puede ser cargada desde un archivo. e (!) Las construcciones de Macro est´n expuestas en laSecci´n Con- a o strucci´n de Macros 3.1, p´gina 23. o a 2.2. Otras herramientas 2.2.1. ´ Arbol l´gico de construcci´n o o Cada figura esta asociada a un arbol l´gico de construcci´n. Este ´rbol es cronol´gico; ´ o o a o es decir que recuerda, desde la parte alta hasta la parte baja, el orden de construcci´n de la o figura. Ciertas entradas del ´rbol pueden ser desplegadas para que aparezcan los antecedentes a –es decir, los objetos originadores (objetos padres)– utilizados en la definici´n del objeto. o Inicialmente el ´rbol esta oculto (enmascarado); de hecho est´ replegado en el borde a a izquierdo de la ventana. Para hacerlo aparecer hace falta desplegarlo con la ayuda del rat´n. o Mover el puntero del rat´n hacia el borde izquierdo de la ventana de Dr. Geo cuando ´ste o e se transforme en “¡-¿”, presionar el bot´n del rat´n y manteni´ndolo presionado mueva el o o e rat´n a la derecha. o 2.2.2. Mover la figura La figura puede ser movida presionando al mismo tiempo la tecla Control y el bot´n o izquierdo del rat´n al moverlo hacia donde se desea mover la figura. o Mover un Objeto Un objeto puede ser movido al jalarlo con el rat´n. La figura es redibujada con respecto o a las nuevas posiciones. Casi cualquier tipo de objeto geom´trico puede ser movido. Cuando e es necesario, Dr. Geo mueve los puntos libres asociados con la figura. Por ejemplo, cuando el usuario mueve una l´ınea definida por dos puntos libres, Dr. Geo mover´ los dos puntos a simult´neamente.. a 2.2.3. Borrar un objeto Los objetos en la figura pueden ser borrados cuando se activa este men´. En cualquier u momento posterior, el usuario puede anular el borrado usando la funci´n “deshacer” de la o
  • 18. 18 CAP´ ´ ITULO 2. FUNCIONES BASICAS bara de ´ıconos o del men´ editar-¿deshacer. Inicialmente el n´mero de anulaciones posibles u u es de 10, pero el usuario puede ajustar este valor a trav´s del di´logo de preferencias (Editar e a -¿preferencias). 2.2.4. Editar la Apariencia de un Objeto Cada objeto geom´trico posee atributos de apariencia como son el color, el grosor, el e nombre, el tama˜o o la forma. Adem´s, es posible ocultar temporalmente un objeto sin n a borrarlo. Por ejemplo, puede ser util ocultar construcciones intermedias sin borrarlas. Todos ´ estos atributos puedes ser ajustados desde un di´logo activado cuando el usuario selecciona a un objeto en la figura. El di´logo de apariencia para puntos se relaciona con cualquier tipo de objeto de punto. a Desde ´l es posible ajustar el color, la forma, el tama˜o, nombre y visibilidad. e n Figura 2.2: El di´logo de estilo para un objeto tipo punto a El di´logo de apariencia para l´ a ıneas se refiere a l´ ıneas rectas, semirrectas (rayos), segmen- tos, vectores, c´ ırculos, arcos de c´ ırculos, lugares geom´tricos. Desde ´l, es posible ajustar el e e color, el grosor, el nombre y su visibilidad. Cuando una recta, una semirrecta, un vector o un segmento son definidos por dos puntos que tienen nombres no vac´ entonces el nombre de ıos, la recta es autom´ticamente deducido a partir de los nombres de los puntos que la originan. a En este caso el usuario no puede renombrar a la recta. El di´logo de estilo para los objetos tipo num´rico y tipo pol´ a e ıgono se refiere a todo tipo de valores (editados por el usuario, calculados por un Script Scheme de Dr. Geo o valores que representan una medida de un objeto geom´trico) y de formas de pol´ e ıgono. (Notar que dos pol´ıgonos pueden tener colores distintos; podemos cambiarles el color)
  • 19. 2.2. OTRAS HERRAMIENTAS 19 Figura 2.3: El di´logo de apariencia para objetos tipo l´ a ınea Figura 2.4: El di´logo de estilo para objetos num´ricos y tipo pol´ a e ıgono.
  • 20. 20 CAP´ ´ ITULO 2. FUNCIONES BASICAS 2.2.5. Editando Propiedades de Objetos Ciertas propiedades de los objetos son ajustables por el usuario. Cuando el usuario hace click en tales objetos, un di´logo apropiado aparece. De hecho, los siguientes objetos poseen a propiedades ajustables por el usuario: 1. punto libre : la abscisa y la ordenada pueden ser editadas; Figura 2.5: Editar las coordenadas de un punto libre 2. valor libre : su valor puede ser editado Figura 2.6: Editar valor libre 3. script : su c´digo puede ser editado (El c´digo esta en el lenguaje Scheme, que es un o o dialecto del lenguaje Lisp) Figura 2.7: Editando un script
  • 21. 2.3. PREFERENCIAS DE USUARIO 21 2.2.6. Activar un enrejado Es posible mostrar un enrejado unitario dentro de cualquier figura de Dr. Geo. El co- mando es accesible desde el men´ Editar->Mostrar u ocultar rejilla. Puede ser tam- u bi´n activado con la tecla Ctrl-G. Si el comando es reactivado, el enrejado es ocultado. El e enrejado es unitario: cada subdivisi´n representa una unidad. Por ultimo, si el enrejado esta o ´ activado al momento de guardar la figura; ´ste tambi´n ser´ guardado junto con ella. e e a 2.3. Preferencias de Usuario 2.3.1. Comportamiento Predeterminado El comportamiento predeterminado de Dr. Geo puede ser modificado de varias maneras. Para ajustar las preferencias, el usuario va al elemento del men´ Editar->Preferencias... u para abrir el di´logo de preferencias. a Figura 2.8: Preferencias de las figuras geom´tricas e El di´logo se compone de dos partes :: a 1. La primera parte trata sobre propiedades de las figuras geom´tricas. Las distintas e opciones permiten al usuario dar las reglas predeterminadas para cada tipo de objeto (geom´trico o num´rico). Estas reglas se refieren a la apariencia de los objetos. e e 2. La segunda parte trata sobre preferencias globales : El nivel para Deshacer/Rehacer; El nombre de la figura predeterminado que se usar´ cuando una nueva figura es a creada. El %d es remplazado por un valor entero que es manejado por Dr. Geo, este valor es incrementado con cada nueva figura creada;
  • 22. 22 CAP´ ´ ITULO 2. FUNCIONES BASICAS El navegador de internet predeterminado para visualisar la ayuda en l´ ınea ; Los nombres predeterminadas para ser utilizados cuando se guarde una figura o una sesi´n ; o Los nombres predeterminados para exportar en los formatos L TEX y PostScript ; A 2.3.2. Otras Preferencias Adem´s del comportamiento predeterminada de Dr. Geo, el usuario puede cambiar el a nombre de una figura desde el elemento men´ Editar->Renombrar. u Figura 2.9: Renombrar la vista de una figura
  • 23. Cap´ ıtulo 3 Caracter´ ısticas Avanzadas En este cap´ıtulo presentamos caracter´ısticas usadas para extender las caracter´ ısticas de Dr. Geo o adaptarlo a una situaci´n pedag´gica dada. o o La primera es la macro de una construcci´n geom´trica. Ella permite la extracci´n de o e o la l´gica de una construcci´n en un registro. Ya hecho esto, este registro se puede repetir o o o guardar en un archivo que lleve la extensi´n .mgeo, y puede ser abierto cuando sea o necesario.. Los Scripts Scheme de Dr. Geo – Dr. Geo Script en ingl´s; abreviado DGS -representan e otra forma de extender Dr. Geo. Estos scripts son en realidad elementos de figuras como cualquier otro elemento geom´trico. Ellos reciben como entrada las referencias a los elemen- e tos de figura seleccionados por el usuario y dan como resultado un valor num´rico, que se e inserta en la figura . Son, en efecto, funciones 1 injertadas en una figura, y son evaluadas en cada actualizaci´n de la figura (i.e. cada vez que el programa requiere volver a dibujar la o figura) Los Scripts Guile de Dr. Geo pueden ser utiles por el valor que dan como resultado o ´ por sus efectos colaterales, dependiendo de lo que el usuario desee hacer. Extendiendo la funcionalidad de los Scripts de DrGeo, Dr. Geo puede ir todav´ m´s ıa a ´ all´, con la Figura Scheme de Dr. Geo: Esta consiste en un archivo de texto que contiene a una figura geom´trica completamente escrita en el lenguaje de programaci´n Scheme. La e o potencia de este modo de crear una figura radica en permitir una construcci´n usando el o tipo de programaci´n llamado funcional 2 , y no solamente declarativo, como es el caso de la o interfaz gr´fica. De este modo, Dr. Geo se convierte en un programa que puede ser utilizado a para la introducci´n a la programaci´n. o o Por ultimo, la adaptaci´n de la interfaz de usuario de Dr. Geo permite al maestro ´ o preparar una sesi´n de trabajo con varios documentos en los que ciertas funciones han sido o bloqueadas a trav´s de una contrase˜a (password). El objetivo de esto es permitir el uso del e n programa en ciertas situaciones pedag´gicas dadas. o 3.1. Macros de Construcciones Una Macro para una una construcci´n es una especie de procedimiento que recibe como o entrada a elementos de figuras y devuelve uno o m´s elementos de figuras, construidas por a la macro. Ellas son construidas en un modelo definido por el usuario. Esto significa que ella (o ´l) tiene que elaborar la serie de pasos para la construcci´n s´lo una vez, a partir de e o o entonces ordena a Dr. Geo grabar esta serie de pasos en una macro (macro-construction). Esta macro puede ser entonces guardada en un archivo con extensi´n .mgeo. o Para grabar una serie de pasos para la construcci´n, Dr. Geo necesita saber cu´les o a son los elementos iniciales de la serie y los elementos que se van a dar como resultado. 1O procedimientos para los que se iniciaron en el lenguaje Pascal. 2 Por ejemplo, permite la recursi´n. o 23
  • 24. 24 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS Desde luego que los elementos que se den como resultado deben depender solamente de los elementos iniciales, 3 , de otro modo Dr. Geo no podr´ deducir los elementos producidos a ıa partir de los dados. De este modo, Dr. Geo deduce la l´gica de la serie de pasos de la construcci´n y la guarde o o en una macro. El usuario puede ejecutar esta macro con s´lo especificar los elementos de o entrada (que deben coincidir con los par´metros que necesita la macro) en la figura. Entonces a la macro crealos elementos especificados como resultado. (!) Los elementos invisibles de las figuras intermedias tambi´n son e construidos por la macro. Estos elementos son necesarios para crear los elementos resultantes Para ilustrar la caracter´ıstica de macros para construcciones, supondremos que el usuario desea grabar la construcci´n de un c´ o ırculo que pasa por tres puntos. Supondremos, adem´s, a que se desea obtener el centro del c´ ırculo. Figura 3.1: Nuestra figura inicial Antes de la creaci´n de la macro, el usuario necesita construir la figura final, ´sta es o e usada como un molde con el cual se crea la macro. Figura 3.2: Nuestra figura con la construcci´n resultante o 3.1.1. Crear una Macro En esta etapa, la serie de pasos para la construcci´n ya est´ hecha. Ahora el usuario o a necesita ordenar a Dr. Geo que quiere una macro a partir de esta serie de pasos. Puede 3 Esta restricci´n ha sido posteriormente flexibilizada, lo cual permite ir m´s all´ con las macors. Ver o a a Crear un pol´ ıgono regular Secci´n 6.1, p´gina 69. o a
  • 25. 3.1. MACROS DE CONSTRUCCIONES 25 llamar la funci´n Construir una macro de la barra de ´ o ıconos o del men´ contextual u que aparece al pulsar el bot´n derecho sobre el fondo de la figura.. o Desde el men´ de creaci´n de la macro, el usuario selecciona los par´metros de entrada u o a y de salida, el nombre y la descripci´n de la macro. o Figura 3.3: La primera parte del men´ de creaci´n de la macro u o La segunda parte del di´logo sirve para seleccionar los par´metros de entrada. En nuestro a a ejemplo, estos son los tres puntos iniciales. El usuario s´lo necesita llegar a este lugar y o seleccionar los tres puntos en la figura. Los elementos seleccionados parpadear´n. a Figura 3.4: Segunda parte, los tres puntos ya est´n seleccionados a En la tercera parte del di´logo, el usuario selecciona los par´metros de salida. En nuestro a a ejemplo, deseamos que el c´ ırculo y el centro sean los par´metros de salida para la macro. El a usuario procede entonces como en el caso de los par´metros de entrada par seleccionarlos. a En la cuarta parte del di´logo, el usuario escribe el nombre y la descripci´n de la macro. a o Estos datos son desplegados cuando el usuario ejecuta una macro, de modo que ayuda a distinguir una macro de otra. En la ultima parte del di´logo (la quinta), el usuario crea la macro haciendo click sobre ´ a el bot´n Aplicar(finalizar la construcci´n). Alternativamente, el usuario puede regresar a o o las partes previas para ajustar los par´metros de la macro. a (!) Si los par´metros de entrada y de salida no coinciden (Dr. Geo a no puede extraer la l´gica de la construcci´n), la macro no puede o o ser construida. En este caso, el usuario necesita reconsiderar la selecci´n de los par´metros de entrada y de salida. Puede regresar o a a la segunda o a la tercera parte del men´ de creaci´n para ajustar u o sus elecciones.
  • 26. 26 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS Figura 3.5: La tercera p´gina, el c´ a ırculo y su centro ya est´n seleccionados a Figura 3.6: La cuarta parte, el nombre y la descripci´n de la macro o En este momento la macro est´ construida y grabada en Dr. Geo. En la siguiente a secci´n, veremos c´mo usarla. o o 3.1.2. Ejecutar una Macro Para ejecutar la macro de una construcci´n, el usuario llama la funci´n Ejecutar macro o o previamente construida de la barra de ´ ıconos o desde el men´ contextual que se u obtiene pulsando el boton derecho. Una ventana de di´logo que describe el procedimiento a se inserta entonces. Desde la ventana de di´logo, el usuario selecciona la macro. En la segunda parte, se- a lecciona la macro de la lista en la parte m´s alta del di´logo. Una vez que la macro fue a a seleccionada, puede hacer click directamente en los par´metros de entrada en la figura. Tan a pronto como todos los par´metros de entrada sean seleccionados, la macro es ejecutada y a los elementos de salida aparecen. En nuestro ejemplo, la macro necesita tres par´metros de entrada (tres puntos) y crea a a partir de ellos un c´ ırculo y un punto. Para ejecutar nuestra macro, necesitamos una figura con al menos tres puntos. Una vez que nuestra macro es ejecutada usando esos tres puntos, obtenemos el c´ ırculo deseado y tambi´n su centro. e Con la ayuda del men´ Macros u Existe otro procedimiento –m´s r´pido– para ejecutar una macro. La barra de men´ prin- a a u cipal de Dr. Geo contiene un men´ Macro-constructions. Este men´ esta poblado con u u
  • 27. 3.1. MACROS DE CONSTRUCCIONES 27 Figura 3.7: El usuario selecciona los par´metros de entrada directamente en la figura a Figura 3.8: Una figura con tres puntos Figura 3.9: La figura resultante con el c´ ırculo y su centro los nombres de las macros cargadas en la memoria del programa. Para ejecutar una macro, el usuario selecciona directamente la macro de su preferencia. En outre un passage du pointeur souris au dessus de chaque item de menu fait apparaˆıtre une info-bulle de la description de la macro. L’utilisateur peut ainsi avoir rapidement une explication sur l’ensemble des macro-constructions.
  • 28. 28 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS Figura 3.10: Ejecutar una macro directamente desde el men´ Macro-constructions u
  • 29. 3.2. SCRIPT SCHEME DE DR. GEO 29 3.2. Script Scheme de Dr. Geo Dr. Geo es compatible con Guile. Esto quiere decir que es posible ejecutar un script del lenguaje Scheme en Dr. Geo. Pero ¿qu´ es Guile? Leemos en el manual de Guile : e Guile es un int´rprete del lenguaje de programaci´n Scheme, concebida para su e o uso en una gran variedad de ambientes Las siguientes citas describen de modo preciso como es Guile usado dentro de Dr. Geo: Como un shell, Guile puede correr interactivamente, leyendo expresiones del usuario, evalu´ndolas, y mostrando los resultados, o como un int´rprete para a e un script, leyendo y ejecutando c´digo de Scheme a partir de un archivo. Por o otro lado, Guile tambi´n est´ disponible como una biblioteca (library) de obje- e a tos, lo que permite a otras aplicaciones f´cilmente incorporar un int´rprete de a e Scheme completo. Un programa puede usar Guile como un lenguaje de exten- si´n, un lenguaje de configuraci´n simple y poderoso, o como un “pegamento” o o multiprop´sito que conecta primitivas elaboradas dentro del programa. o En Dr. Geo, una API (Interfaz de programa para una aplicaci´n, –Application Program o Interface– en Ingl´s) est´ disponible a partir del int´rprete Guile. Esta API es un conjunto de e a e “enlaces” en la maquinaria geom´trica. Por lo tanto el usuario puede escribir un script para e manipular elementos de figuras (geom´tricas y num´ricas). Asimismo, ya que los scripts son e e figuras como cualquier otra, los scripts no necesitan ser guardados en un archivo separado; son guardados en el archivo de la figura. En lo que sigue usaremos el acr´nimo DGS para o referirnos a un Script Scheme de Dr. Geo (“Dr. Geo Script”). 3.2.1. DGS a trav´s de ejemplos e La herramienta para crear un DGS esta disponibe al seleccionar la secci´n Valor Num´rico o e dentro del men´ contextual que se obtiene al hacer click con el bot´n derecho del rat´n en u o o el fondo de la figura. Un DGS puede recibir de 0 a n par´metros de entrada. a Despu´s de haber escogido el DGS, basta hacer click en los objetos geom´tricos (o num´ri- e e e cos) que constituir´n los par´metros de entrada. Al terminar de escoger los par´metros de a a a entrada, se debe hacer click en un area libre del fondo de la figura; con ello, el script sera ´ visible. En lo que sigue nos proponemos trabajar con algunos ejemplos de DGS que permitir´n a comprender f´cilmente su uso y su potencialidad. a Los DGS, como las macros, dan una dimensi´n particular a Dr. Geo, Le permiten, o junto con las macros4 , llevar a cabo cosas que los autores del programa no incorporaron o no quisieron incorporar: “Ir hacia donde ellos no fueron o no quisieron ir”. Es tambi´n importante comprender que la mayor parte de las funciones del int´rprete e e GNU Guile est´n disponibles a trav´s del DGS. Esto es particularmente cierto para las a e librer´ de funciones5 que utilizaremos ampliamente. ıas DGS sin par´metros de entrada El procedimiento para crear un script sin par´metros a a de entrada es el siguiente : 1. Despu´s de haber escogido Script Guile de Dr. Geo Secci´n 2.1.4, p´gina 16, hacer e o a click en el lugar de la figura donde se desee colocar el script. Como deseamos que el script no tenga par´metros de entrada, debemos prestar atenci´n y no hacer click a o 4 Las macros constituyen el aspecto geom´trico, en tanto que los DGS abarcan tambi´n el aspecto num´ri- e e e co; pero no s´lo eso, pues nos permiten utilizarlos con un esp´ o ıritu de programador (“hacker”, en ingl´s, ser´ e ıa un t´rmino m´s apropiado) e a 5 En particular, las funciones matem´ticas a
  • 30. 30 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS err´neamente en alg´n objeto geom´trico; no sea que Dr. Geo considere ese objeto o u e como un par´metro de entrada 6 . a 2. Una vez que el DGS ha sido creado, aparece en la figura la cadena de caracteres “Dr. Genius”. Todo script reci´n creado contiene un comando predeterminado que e muestra ese mensaje. Usted puede editarlo seleccionando propiedades del objeto Sec- ci´n 2.2.5, p´gina 20. o a 3. Una vez que esta herramienta ha sido seleccionada, hacer click sobre el script –o para ser m´s precisos sobre su valor– de su elecci´n. Una ventana se abrir´ con el contenido a o a del script y le permitir´ editarlo. En lo que sigue, usaremos ese di´logo para escribir a a nuestros ejemplos. Un generador de n´ meros aleatorios y otros ejemplos Si usted desea un gener- u ador de n´meros aleatorios, nada es m´s simple: simplemente su script contiene unicamente u a ´ la siguiente l´ ınea (recuerde hacer click en aplicar y luego cerrar...): (random 10) As´ cada vez que se dibuja la figura, este script devuelve un n´mero entero aleatorio en ı, u el intervalo [0 ; 10[ (es decir, [0 ; 10) ) Si usted prefiere un n´mero real en el intervalo [0 , 1), utilice el siguiente script: u (random:uniform) (!) Algunas precisiones : El valor devuelto por el script es el valor calculado por la ultima l´ ´ ınea del script. En nuestros ejemplos, se trata del valor devuelto por la funci´n que usamos. o La ultima l´ ´ ınea debe devolver un n´mero real; de otro modo u Dr. Geo imprimir´ “Resultado no imprimible”. a Si lo que se desea es mostrar el valor de una variable, basta poner esa variable en la ultima l´ ´ ınea. C´lculo de algunas constantes comunes Para calcular el valor aproximado de π : a (acos -1) O de e : (exp 1) Los valores devueltos por estos DGS pueden ser inmediatamente utilizados como todos los dem´s valores num´ricos que Dr. Geo genera. Por todo lo anterior, los DGS son ver- a e daderamente nuestros aliados. Pero eso no es todo, los DGS pueden hacer muchas m´s cosas a interesantes cuando reciben par´metros de entrada. Enseguida veremos c´mo. a o 6 Si por accidente hacemos click sobre un objeto, el seleccionar de nuevo la herramienta Script en el men´ bastar´ para anular nuestro error u a
  • 31. 3.2. SCRIPT SCHEME DE DR. GEO 31 DGS con al menos un par´metro de entrada El procedimiento para crear un DGS a con un par´metro de entrada es esencialmente el mismo. Justo despu´s de haber seleccionado a e la herramienta script, basta hacer click sobre el objeto que ser´ el par´metro de entrada y a a enseguida hacer click sobre el fondo de la figura, en el lugar donde se desee tener al nuevo script. Enseguida, dentro del script, el parametro de entrada ser´ referido por la variable a1. En a caso de tengamos dos o m´s par´metros de entrada, utilizaremos, respetando el orden en a a que fueron seleccionados, las variables a1, a2, a3, a4, etc. dependiendo del n´mero de objetos u seleccionados. Dependiendo del objeto que seleccionemos, diversos m´todos estar´n disponibles para e a obtener valores, como pueden ser coordenadas, longitud, etc. Estos m´todos son mostrados e en la Secci´n M´todos de referencia para un DGS 3.2.2, p´gina 33. o e a En lo que sigue, expondremos gradualmente un ejemplo no muy complicado en que construiremos la curva de una funci´n as´ como la tangente en un punto de la curva que o ı podremos mover. La figura final es mostrada por Dr. Geo. Esta se llama slope.fgeo(/usr/share/drgeo/examples/figures/slope.fgeo) Figura 3.11: La figura que obtendremos Definir un valor en un intervalo dado. En una nueva figura, empezamos colocando dos puntos y el segmento que ellos determinan. Sobre este segmento colocamos un punto libre al que llamaremos “¡Mu´veme!”(“Move me!” en ingl´s). Este punto nos sirve para e e determinar un valor num´rico que identifica la posici´n del punto dentro del segmento; esto e o lo lograremos dentro del script. En seguida crearemos un script que tiene como unico par´metro de entrada el punto ´ a “¡Mu´veme!”. e Ya que a1 es la variable en el script del punto “¡Mu´veme!”, el script siguiente (que e llamaremos Xo) nos dar´ un valor decimal comprendido entre [-10 ; 10] . a (define x (getAbscissa a1)) (* 20 (- x 0.5)) Cabe aclarar algunas cosas. En la primera l´ ınea, (getAbscissa a1) permite obtener la ınea” del objeto al que se refiere a17 . En la segunda l´ “abscisa curvil´ ınea calibramos el valor. 7 En este punto x toma un valor entre 0 y 1 inclusive. La “abscisa curvil´ ınea” del objeto es 0 en un extremo, y va creciendo hasta ser 1 en el otro extremo; es 0.5 en la mitad, 0.25 a un cuarto, etc.
  • 32. 32 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS En este caso la expresi´n significa 20 × (x − 0,5). Dado que ´sta es la ultima l´ o e ´ ınea del script, el resultado de esta ultima operaci´n ser´ el valor que el script devuelva, y ser´ un n´mero ´ o a a u decimal en el intervalo [−10; +10] como se deseaba8 . Finalmente, llamemos este script Xo. (Esto se puede hacer en el men´ contextual: selec- u cione otros, luego apariencia, y haga click en el script para ponerle nombre). Dibujar la gr´fica de una funci´n. El valor obtenido por el script precedente nos a o servir´, a trav´s de otro script, para calcular la imagen del punto bajo la funci´n x → cos(x). a e o Este segundo script tiene como par´metro de entrada al script Xo. a (define x (getValue a1)) (cos x) Subrayemos que en (getValue a1) el objeto al que se refiere a1 no es el punto “¡Mu´veme!”, sino el script Xo, y que no estamos obteniendo la “abscisa curvil´ e ınea” de un punto, sino el valor de un n´mero (en este caso del script Xo, que dentro del segundo u script es llamado a1). Llamamos a este script Yo Por ejemplo, si el punto “¡Mu´veme!” estaba a la mitad entonces su “abscisa curvil´ e ınea” es 0.5, de modo que Xo toma el valor 20 × (0,5 − 0,5) = 0, y Yo toma el valor cos(0)=1. Enseguida crearemos el punto Mo de coordenadas (Xo ; Yo). Es un punto de la curva de la funci´n x → cos(x). Para dibujar la porci´n de la gr´fica con dominio [-10 ; 10], creare- o o a mos el lugar geom´trico del punto Mo cuando el punto “¡Mu´veme” describe el segmento. e e Con ello obtendremos la gr´fica!(Recordar que para crear Mo, hay que seleccionar, en el a men´ contextual, punto, coordenadas y luego hacer click en los scripts que dan las coorde- u nadas. Para lograr el lugar geom´trico, recordar seleccionar en el men´ contextual curva, e u lugar geom´trico y luego seleccionar los puntos “¡Mu´veme!” y Mo.) e e Calcular y dibujar la tangente a la gr´fica en un punto Para dibujar la tangente a en Mo=(Xo,Yo), hace falta tener la pendiente en ese punto. Usando C´lculo Diferencial, a sabemos que la pendiente esta dada por la derivada, que en este caso es x → −sin(x) evaluada en el punto Xo. De modo que crearemos un script que tiene como par´metro de a entrada al script Xo : (- 0 (sin (getValue a1))) La notaci´n prefija (i.e “* 2 3” en vez de “2 * 3”) utilizada por Scheme/Guile puede o parecer poco intuitiva, pero es cuesti´n de simplemente acostumbrarse a ella; es simplemente o decir “El producto de dos y tres” en lugar de “dos por tres”. Llamemos al script reci´n creado “Pendiente en el punto Mo”. e Resta, pues dibujar la tangente. Para esto calcularemos, primero, las coordenadas de un segundo punto – M1– de esa recta. Comencemos por su abscisa (No confundir con la “abscisa geom´trica”); por ejemplo: e X1 = X0 + 2. Para hacer esto crearemos un script que tendr´ como par´metro de entrada a a al script Xo , y al que llamaremos X1: (define x1 (getValue a1)) (+ x1 2) Encontremos en este momento la ordenada del punto M1. Para ello necesitamos: Mo (referencia a1) ; la pendiente en Mo (a2) ; la abscisa X1 (a3).(No confundir con “la abscisa geom´trica”) e 8 Ya que x estaba entre 0 y 1, 20 × (x − 0,5) estar´ entre -10 y 10. a
  • 33. 3.2. SCRIPT SCHEME DE DR. GEO 33 Despu´s de seleccionar como par´metros de entrada al punto Mo, a la pendiente en e a Mo(que llamamos “Pendiente en el punto Mo”, “Slope at Mo” en ingl´s), y a X1, determi- e namos la ordenada de M1, que llamaremos Y1, a trav´s del siguiente c´lculo: e a Y o + m × (X1 − X0) : (define x0 (car (getCoordinates a1))) (define y0 (cadr (getCoordinates a1))) (define m (getValue a2)) (define x1 (getValue a3)) (+ (* m (- x1 x0)) y0) En relaci´n con la funci´n (getCoordinates a1) en la que a1 debe ser una referencia o o a un objeto de tipo punto, el m´todo devuelve una lista que contiene las coordenadas del e punto, en este caso Mo. La instrucci´n car permite extraer el primer elemento de esta lista; o la instrucci´n cadr, el segundo. El resto del script debe resultar claro. o Habiendo nombrado este ultimo script Y1, construimos el punto M1=(X1 ; Y1), y, para ´ terminar, construimos la tangente (MoM1). (Para esto ya no necesitamos scripts; podemos usar el men´, escogiendo punto dadas sus coordenadas y la recta dados dos puntos). u Por supuesto, habr´ sido posible utilizar unos dos o tres scripts en lugar de la gran ıa cantidad que usamos. Sin embargo, esperamos que estos peque˜os ejemplos logren en usted n el deseo de experimentar por usted mismo los DGS. 3.2.2. M´todos de referencia para los scripts de Dr. Geo e Las secciones siguientes contienen la descripci´n de los m´todos disponibles para los o e DGS. Estos m´todos est´n clasificados de acuerdo al tipo de objeto geom´trico o num´rico. e a e e Punto valor (getAbscissa punto) punto : Referencia a un punto sobre una curva Devuelve: La “abscisa geom´trica” del punto sobre la curva.El valor pertenece al intervalo e [0 ; 1] Ejemplo: (define x (getAbscissa a1)) (* x 10) (setAbscissa punto x) punto : Referencia a un punto libre sobre una l´ ınea x : Valor decimal en el intervalo [0 ; 1] que representa a la nueva “abscisa geom´trica” e Ejemplo: (setAbscissa a1 0.5) lista (getCoordinates punto|vector) Devuelve las coordenadas de un punto o de un vector. punto|vector : Referencia a un punto o un vector Devuelve: Lista que contiene las coordenadas del punto o del vector Ejemplo: (define c (getCoordinates a1)) (define x (car c)) (define y (cadr c)) (+ (* x x) (* y y))
  • 34. 34 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS (setCoordinates punto coord) Asigna coordenadas a un punto punto : Referencia a un punto libre en el plano coord : Lista de dos n´meros decimales u Ejemplo: (define l (list 1.4 (random 5))) (setCoordinate a1 l) Recta, Semirrecta, Segmento, Vector valor (getSlope direcci´n) o direcci´n : Referencia a un objeto de tipo recta, semirrecta, segmento o vector o Devuelve: La pendiente en esa direcci´n o Ejemplo: (define p (getSlope a1)) valor (getUnit direcci´n) o direcci´n : Referencia a un objeto de tipo recta, semirrecta, segmento o vector o Devuelve: Una lista que contiene las coordenadas de un vector unitario en la direcci´n dada o Ejemplo: (define v (getUnit a1)) valor (getNormal direcci´n) o direcci´n : Referencia a un objeto de tipo recta, semirrecta segmento o vector o Devuelve: Una lista que contiene las coordenadas de un vector normal a la direcci´n dada o Ejemplo: (define n (getNormal a1)) valor (getNorm vector) vector : Referencia a un vector Devuelve: La norma (i.e., magnitud, longitud) de ese vector Ejemplo: (define n (getNorm a1)) valor (getLength segmento) segmento : Referencia a un segmento Devuelve: La longitud de ese segmento Ejemplo: (define l (getLength a1)) C´ ırculo, Arco de c´ ırculo lista (getCenter c´rculo|arco) ı c´rculo|arco : Referencia a un c´ ı ırculo o un arco de c´ ırculo Devuelve: Lista que contiene las coordenadas del centro de un c´ ırculo o de un arco de c´ ırculo Ejemplo:
  • 35. 3.2. SCRIPT SCHEME DE DR. GEO 35 (define c (getCenter a1)) (car c) valor (getRadius c´rculo|arco) ı c´rculo|arco : Referencia a un c´ ı ırculo o un arco de c´ ırculo Devuelve: Radio del c´ ırculo o del arco de c´ırculo Ejemplo: (define r (getRadius a1)) valor (getLength c´rculo|arco) ı c´rculo|arco : Referencia a un c´ ı ırculo o un arco de c´ ırculo Devuelve: Per´ ımetro del c´ ırculo o longitud del arco de c´ ırculo Ejemplo: (define l (getLength a1)) Funciones Num´ricas e valor (getValue n´mero) u n´mero : Referencia a un n´mero u u Devuelve: Valor de ese n´mero u Ejemplo: (define a (getValue a1)) (define b (getValue a2)) (+ a b) (setValue n´mero v) u n´mero : Referencia a un n´mero u u v : Valor decimal Ejemplo: (define v (getValue a1)) (setValue a2 v) ´ Angulo valor (getAngle ´ngulo) a ´ngulo : Referencia a un ´ngulo orientado o geom´trico a a e Devuelve: La medida de ese ´ngulo en grados. Para obtener la medida en radianes, utilice a la funci´n getValue o Ejemplo: (define angle1 (getAngle a1)) (define angle2 (getAngle2)) (define angle3 (getAngle a3)) (+ angle1 angle2 angle3)
  • 36. 36 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS Otros (move item t) item : Referencia a un objeto de la figura t : vector de dos dimensiones Ejemplo: (define v (vector .1 0)) (move a1 v) 3.3. Figura Scheme de Dr. Geo Las Figuras Scheme de Dr. Geo – (FSD) – son figuras escritas en un lenguaje relati- vamente natural. No se trata entonces de construir una figura con la ayuda de la interfaz gr´fica de Dr. Geo sino m´s bien de describir una figura dentro del lenguaje Scheme(Una a a variante de Lisp). Hemos cuidado mucho que la sintaxis utilizada sea f´cil y concisa. Adem´s, a a el conjunto de palabras clave utilizadas en Scheme para para describir una figura simple son adaptables de modo que aparezcan en Espa˜ol, Franc´s, Ingl´s, etc. . Una combinaci´n de n e e o varios idiomas es tambi´n posible; pero no es deseable.(N. del T. es por ello que varias e palabras clave en este manual aparecen en Espa˜ol. Basta con traducir un archivo en el n directorio scm donde Dr. Geo est´ instalado; notar que en la traducci´n hecha del archivo, a o se incluy´ una versi´n de los comandos con acentos y e˜es, as´ como otra sin acentos y sin o o n ı e˜es. Las palabras clave no traducidas seran escritas en ingl´s.) n e 3.3.1. Algunos Ejemplos (N.del T. En lo que sigue se usar´n las palabras “referencia” y “nombre”. “referencia” a es una variable que apunta a un objeto. “nombre” es el r´tulo que aparece en la figura. A o veces se usar´ el termino variable; pero “referencia” es m´s preciso en otros casos.) a a En s´ Scheme es un lenguaje de muy alto nivel. Cuando una figura es definida en este ı, lenguaje, disponemos tambi´n de todo su poder para, por ejemplo, definir recursivamente e alguna parte de la figura o bien para colocar aleatoriamente ciertos objetos de tal suerte que, cada vez que se cargue la figura, los objetos aparecer´n ligeramente distintos. En pocas a palabras, los FSD no est´n atados a las limitantes de la interfaz gr´fica, y adem´s poseen a a a todo el poder del lenguaje Scheme. Un FSD es entonces un archivo con extension .scm creado con la ayuda de un editor de texto, el cual es abierto en Dr. Geo con la ayuda del comando Archivo->Evaluar. Comencemos por estudiar un ejemplo sencillo de FSD : (nueva-figura "Mi figura") Este es el script m´s peque˜o que podemos definir. Despu´s de ser cargado en Dr. Geo, a n e simplemente crea una nueva figura vac´ con el nombre “Mi figura”. Podemos escribir co- ıa mandos (nueva-figura "Mi figura") tantas veces como deseemos. Veamos ahora un segundo ejemplo : (nueva-figura "Mi figura") (sea Punto "A" libre 1.2 -2) Este FSD define una figura con un punto libre A de coordenadas iniciales (1, 2 ; − 2). Como podemos ver la sintaxis de la definici´n de un objeto geom´trico es relativamente o e c´moda, a tal grado que esa expresada en nuestra lengua madre. Esto es de inter´s especial o e para la ense˜anza secundaria. De hecho, todos los comandos de definici´n de objeto tienen n o una sintaxis com´n. Tal sintaxis es como sigue: u
  • 37. 3.3. FIGURA SCHEME DE DR. GEO 37 1. Se comienza siempre con la palabra clave sea, la cual indica que deseamos definir un nuevo objeto 2. Inmediatamente le sigue la clase de objeto; en este caso Punto. 3. El nombre del objeto va enseguida, A, debe siempre estar entre dos comillas ”. Si no deseamos nombrar al objeto, de todos modos es necesario dar un nombre vac´ como ıo sigue: ””. 4. Para terminar, necesitamos precisar, dentro de la clase, qu´ tipo de objeto, en nuestro e ejemplo, la clase es punto, y el tipo es libre. Esto significa que el punto A es libre. 5. El tipo de objeto es seguido por una lista de argumentos que depende de la clase de objeto y de que tipo de objeto. En nuestro ejemplo, esta lista se compone de dos n´meros, las coordenadas del punto libre A. u Prosigamos con un tercer ejemplo : (define (tri´ngulo p1 p2 p3) a (Segmento "" extremos p1 p2) (Segmento "" extremos p2 p3) (Segmento "" extremos p1 p3)) (define (azar) (- 8 (* 16 (random:uniform)))) (nueva-figura "Mi figura") (sea Punto "A" libre (azar) 0) (sea Punto "B" libre 5 0) (sea Punto "C" libre (azar) 5) (tri´ngulo A B C) a (N. del T. En este ejemplo, dos palabras est´n en ingl´s: “random” que significa “azar”, a e y “uniform” que significa “uniforme”. Como se coment´ antes es posible traducirlas modif- o icando el archivo dentro del directorio scm donde Dr. Geo est´ instalado. El archivo para e espa˜ol es: /usr/share/drgeo/scm/drgeo scm interface constant es.scm). n Este ejemplo es particularmente interesante, nos muestra tres cosas importantes : 1. La definici´n de una construcci´n de alto nivel no prevista por los autores de Dr. Geo. o o En el programa que acabamos de ver hemos definido la funci´n tri´ngulo la cual, a o a partir de tres puntos construye el tri´ngulo que pasa por esos tres puntos. Podemos a comparar esto con las macros; pero con un grado de libertad mucho m´s amplio e a importante. 2. La definici´n de las funciones asociadas, en este caso definimos la funci´n azar que o o devuelve un n´mero decimal comprendido entre -8 y 8. Utilizamos esta funci´n para u o a˜adir un elemento de azar en ciertos puntos en nuestra figura. De este modo cada vez n que se cargue la figura, ´sta ser´ ligeramente distinta. e a 3. En efecto, la utilizaci´n de la palabra clave sea no es obligatoria; nosotros la uti- o lizamos para guardar una referencia al objeto creado. Por ejemplo, dentro de la fun- ci´n tri´ngulo no guardamos referencias para los segmentos creados. Por otro lado, o a cuando definimos los puntos A, B y C necesitamos guardar una referencia para ellos, estas referencias se llamar´n igual9 ; pero sin las comillas; as´ nuestras referencias son: a ı 9 Desde el punto de vista del lenguaje Scheme, estas referencias son s´ ımbolos que apuntan hacia una estructura interna del objeto –un prototipo– mientras que los nombres son simplemente cadenas de caracteres.
  • 38. 38 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS A, B y C. En lo que sigue llamaremos s´ımbolos a esas variables, esta es la terminolog´ ıa precisa del lenguaje Scheme. De este modo, al llamar a la funci´n tri´ngulo, pasamos o a como par´metros a los s´ a ımbolos A, B y C que son utilizados para definir nuestros tres segmentos. Notar que cuando definimos los segmentos, no les dimos ning´n nombre; en ese caso u Dr. Geo les dar´ un nombre que est´ determinado a partir del nombre de sus extremos. a a Nuestros tres segmentos tendr´n entonces los nombres [AB], [BC] y [AC]. a Para concluir esta secci´n, veamos un ultimo ejemplo : o ´ (sea Punto "A" libre 1 0) (sea Punto "B" libre 5 0) (sea Recta "d1" 2puntos A B) (env´a ı A color amarillo) (env´a ı A forma redonda) (env´a ı A tama~o grande) n (env´a ı B oculto) (env´a ı d1 grosor punteado) Los tres primeros comandos crean dos puntos y una recta. La parte que nos interesa particularmente es la serie de comandos env´a. Estos comandos permiten la comunicaci´n ı o con un objeto cuyo s´ımbolo hemos guardado; en este caso tenemos los s´ ımbolos A, B y d1. El comando consiste en enviar un mensaje a un objeto. Su primer par´metro de entrada es el a objeto con el que deseamos comunicarnos, el segundo argumento es el mensaje, los restantes argumentos est´n determinados por tipo de mensaje que es enviado. Por ejemplo (env´a A a ı color amarillo) env´ el mensaje color con par´metro de entrada amarillo. El punto A ıa a toma entonces el color amarillo. Es f´cil comprender el sentido de los otros comandos env´a. a ı Estos ser´n explicadosen la secci´n siguiente. a o Hemos terminado nuestra peque˜a visita guiada a las Figuras Scheme de Dr. Geo, FSD. n En las secciones siguientes expondremos el conjunto de comandos disponibles para definir las FSD. 3.3.2. M´todos de referencia para las figuras Scheme de Dr. Geo e La definici´n de los objetos en un documento FSD se hace a trav´s de prototipos. Los o e prototipos son en cierto sentido objetos a los que podemos interrogar y modificar como veremos en lo que sigue. Empero, antes de la definici´n de objeto alguno en un FSD, el FSD debe ser creado con o el comando nueva-figura en el principio del archivo. Comandos generales (nueva-figura nombre) nombre : Cadena de caracteres Devuelve: No devuelve ning´n valor. Es llamada por el efecto que produce, no por el valor u que devuelve. Este comando crea una figura nueva. Los objetos creados posteriormente se crean dentro de esta figura hasta que se vuelva a llamar este comando. Ejemplo: (nueva-figura "Mi 1er figura")