Manual de Usuario de Dr. Geo  Hilaire Fernandes, Andrea Centomo              Adrian Soto                OFSET        http:...
2
´Indice general1. Introducci´n              o                                                                             ...
4                                                                                                                     ´   ...
Copyright    Copyright (c) 2000-2004 OFSET.    Permission is granted to copy, distribute and/or modify this document under...
6   ´    INDICE GENERAL
Cap´   ıtulo 1Introducci´n          o1.1.       Preliminares    Dr. Geo es un programa tanto de geometr´ interactiva como ...
8                                                         CAP´                  ´                                         ...
1.2. DR. GEO EN LA RED                                                             9                  Figura 1.3: Una figur...
10   CAP´                  ´        ITULO 1. INTRODUCCION
Cap´   ıtulo 2Funciones B´sicas           a   Este cap´ıtulo describe las herramientas usadas para construir figuras geom´t...
12                                                    CAP´                   ´                                            ...
´2.1. HERRAMIENTAS DE CONSTRUCCION                                                        13¿C´mo colocar un punto con res...
14                                                  CAP´                   ´                                              ...
´2.1. HERRAMIENTAS DE CONSTRUCCION                                                         15Simetr´ Central      ıa   Cre...
16                                                  CAP´                   ´                                              ...
2.2. OTRAS HERRAMIENTAS                                                                    172.1.5.    Herramientas para M...
18                                                   CAP´                   ´                                             ...
2.2. OTRAS HERRAMIENTAS                                                          19            Figura 2.3: El di´logo de a...
20                                                 CAP´                   ´                                               ...
2.3. PREFERENCIAS DE USUARIO                                                              212.2.6.    Activar un enrejado ...
22                                              CAP´                   ´                                                  ...
Cap´   ıtulo 3Caracter´        ısticas Avanzadas    En este cap´ıtulo presentamos caracter´ısticas usadas para extender la...
24                                         CAP´                                              ITULO 3. CARACTER´           ...
3.1. MACROS DE CONSTRUCCIONES                                                               25llamar la funci´n Construir ...
26                                    CAP´                                         ITULO 3. CARACTER´                     ...
3.1. MACROS DE CONSTRUCCIONES                                                             27   Figura 3.7: El usuario sele...
28                                  CAP´                                       ITULO 3. CARACTER´                         ...
3.2. SCRIPT SCHEME DE DR. GEO                                                                              293.2.       Sc...
30                                        CAP´                                             ITULO 3. CARACTER´             ...
3.2. SCRIPT SCHEME DE DR. GEO                                                                           31DGS con al menos...
32                                               CAP´                                                    ITULO 3. CARACTER...
3.2. SCRIPT SCHEME DE DR. GEO                                                              33   Despu´s de seleccionar com...
34                                    CAP´                                         ITULO 3. CARACTER´                     ...
3.2. SCRIPT SCHEME DE DR. GEO                                                        35(define c (getCenter a1))(car c)val...
36                                    CAP´                                         ITULO 3. CARACTER´                     ...
3.3. FIGURA SCHEME DE DR. GEO                                                                            37 1. Se comienza...
38                                    CAP´                                         ITULO 3. CARACTER´                     ...
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
Upcoming SlideShare
Loading in …5
×

Dr Geo

516 views

Published on

  • Be the first to comment

  • Be the first to like this

Dr Geo

  1. 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. 2
  3. 3. ´Indice general1. Introducci´n o 7 1.1. Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2. Dr. Geo en la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92. 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223. 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 . . . . . . . . . . . . . . . . . . . . . . 524. 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. 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 . . . . . . . . . . . . . . . . . . . . . . . 555. 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666. 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 . . . . . . . . . . . . . . . . . . . . . 71A. Hist´rico. o 77B. GNU Free Documentation License 79
  5. 5. Copyright Copyright (c) 2000-2004 OFSET. Permission is granted to copy, distribute and/or modify this document under the terms ofthe GNU Free Documentation License, Version 1.2 or any later version published by the FreeSoftware Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-CoverTexts. A copy of the license is included in the section entitled ”GNU Free DocumentationLicense”. Other copyright apply to the respective owners of the modified documentations. See thesection history for the complet list. 5
  6. 6. 6 ´ INDICE GENERAL
  7. 7. Cap´ ıtulo 1Introducci´n o1.1. Preliminares Dr. Geo es un programa tanto de geometr´ interactiva como de programaci´n en el ıa olenguaje Scheme. Permite crear figuras geom´tricas, as´ como manipularlas interactivamente e ırespetando sus restricciones geom´tricas. Ofrece igualmente la posibilidad de introducirse egradualmente en la programaci´n. Es util para la ense˜anza a estudiantes de nivel b´sico o o ´ n asuperior. La interfaz de usuario de Dr. Geo ha sido concebida para dar, dentro de un conjuntoarm´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 ocon las funciones b´sicas del programa. Posteriormente, a medida que lo conozca m´s, el a ausuario 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 oadaptabilidad de la interfaz, uso de scripts y de Figuras Scheme de Dr. Geo(i.e. Dr. Geoes 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 nprimaria, lo que no resta su uso en el nivel medio. En las secciones siguientes, expondremos las herramientas b´sicas. Posteriormente las afunciones 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 ola barra de herramientas. De manera alternativa, una nueva figura puede ser creada usandoel elemento de la barra del men´ Archivo->Nuevo->Figura. Cuando una nueva figura es ucreada, una nueva barra de ´ ıconos formada por seis iconos aparece. Esta barra de ´ ıconostermina 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 aa las herramientas m´s utilizadas. a Los seis iconos de la barra de ´ıconos son entradas de men´ generales desde donde se ullaman 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 uejemplo, a partir del comando para la construcci´n de un c´ o ırculo, el usuario puede crear un c´ırculo a partirde su centro y de ya sea un punto, una longitud, un segmento, etc. Con todo, este comando es representadopor un solo icono, y Dr. Geo se anticipa para ofrecer al usuario la construcci´n deseada. El efecto inmediato oes que existe una disminuci´n en el tiempo de aprendizaje de la interfaz, al proponer un n´ mero importante o ude modos de construcci´no 7
  8. 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 ael extremo izquierdo de modo que s´lo la representaci´n de la figura es visible. En cualquier o omomento, el usuario puede empujar el panel hacia la derecha como sigue: Lleve el rat´n a la oparte izquierda de la figura, justo a la izquierda de donde est´ la regla; cuando el puntero del arat´n cambie de forma, presione el bot´n y contin´e presionando mientras mueve el rat´n a o o u ola derecha. Con ello, ser´ visible la descripci´n de la figura. La descripci´n de una figura es a o oun ´rbol formado con todos los elementos de la figura. Los elementos que dependen de otros aelementos pueden ser revelados al hacer click sobre el s´ ımbolo ‘+’. Con ello, se mostrar´nalos elementos que dieron origen (v.g. los que dieron origen a una l´ ınea pueden ser dospuntos; aunque pueden ser otros originadores. Tambi´n se les llama elementos antecedentes eo elementos padre).
  9. 9. 1.2. DR. GEO EN LA RED 9 Figura 1.3: Una figura de Dr. Geo y su descripci´n o1.2. Dr. Geo en la red Dr. Geo dispone de su propio espacio en la red en el sitio ofset en la direcci´n : ohttp://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. 10 CAP´ ´ ITULO 1. INTRODUCCION
  11. 11. Cap´ ıtulo 2Funciones B´sicas a Este cap´ıtulo describe las herramientas usadas para construir figuras geom´tricas. Al efinal del cap´ ıtulo, la configuraci´n de las preferencias del usuario es tambi´n presentada. o e2.1. Herramientas de Construcci´n o Estas herramientas est´n separadas en seis grupos disponibles desde la segunda barra de aherramientas 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 deuna 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 enum´ricos, generar macros de construcciones, y utilizar las herramientas de edici´n – Otras e oherramientas Estas funciones tambi´n aparecen dentro del men´ contextual de una figura, que es e ullamado haciendo click con el bot´n derecho en el fondo de la figura. o 11
  12. 12. 12 CAP´ ´ ITULO 2. FUNCIONES BASICAS2.1.1. Herramientas de puntosPunto Libre Crear un punto libre en el ´rea o un punto libre en un objeto unidimensional(segmento, asemirrecta,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 aen colocar un punto libre y luego editar sus propiedades – herramienta Propiedades Secci´no2.2.5, p´gina 20– ajustando sus coordenadas a voluntad.. a Otra posibilidad – menos flexible para este tipo de figura– consiste en colocar dos valoreslibres en la figura – herramienta Valor Num´ricoSecci´n 2.1.4, p´gina 15– y luego construir e o ael punto con coordenadas dadas por esos dos valores – herramienta Punto definido por suscoordenadas Secci´n 2.1.1, p´gina 12 Cette possibilit´ a un avantage sur la Este proced- o a eimiento tiene una ventaja sobre el precedente: el punto construido no puede ser ya movidocon el rat´n; el punto est´ inexorablemente atado a su posici´n. o a oPunto 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 eseleccionar 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, uel primer n´mero seleccionado es la abscisa, el segundo la ordenada. u
  13. 13. ´2.1. HERRAMIENTAS DE CONSTRUCCION 13¿C´mo colocar un punto con restricciones a sus coordenadas? Esta funcion es muy outilizada cuando deseamos, por ejemplo, construir el lugar geom´trico de un punto. Esta econstrucci´n supone la existencia de dos valores – ver Secci´n Valores Num´ricos Secci´n o o e o2.1.4, p´gina 15 – el punto es construidoluego de seleccionar esos dos valores. Los valores apueden ser independientes o uno depender del otro.2.1.2. Herramientas de l´ ıneasRecta 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- eciona 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 puntoes el origen, el segundo es el extremo. Una vez que el vector es creado, ´ste puede ser desplazado independientemente de los edos puntos que le dieron origen. Esto sigue siendo cierto para vectores construidos a trav´s ede una transformaci´n. (Ver la secci´n de Transformaciones en este manual). o oC´ ı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. 14 CAP´ ´ ITULO 2. FUNCIONES BASICAS Crea un arco de c´ ırculo definido por tres puntos. El primer punto seleccionado es elorigen del arco, el tercero es su extremo, el segundo es un punto sobre el arco. Los trespuntos seleccionados formar´n parte del arco. aLugar 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 dependedel primero (i.e. cuando uno mueve el primero, el segundo tambi´n tiene que moverse). ePol´ ıgono Crea un pol´ ıgono definido por n puntos. El usuario selecciona n+1 puntos delimitando elpol´ ı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 opol´ ıgono y otro objeto unidimensional. Por otro lado, es posible aplicar a un pol´ıgono unatransformaci´n geom´trica (rotaci´n, reflexi´n, homotecia, etc.) o e o o2.1.3. Herramientas de Transformaci´n oL´ ınea Paralela Crea una l´ ınea paralela a una direcci´n y que pase a trav´s de un punto. El usuario o eselecciona un punto y una direcci´n (i.e. una l´ o ınea recta, una semirrecta, un segmento o unvector).L´ ınea Perpendicular Crea una l´ ınea perpendicular a una direcci´n y que pasa a trav´s de un punto. El usuario o eselecciona un punto y una direcci´n (i.e. una l´ o ınea recta, una semirrecta, un segmento o unvector). (Ortogonal es un sin´nimo de Perpendicular) oSimetr´ 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 oEl usuario selecciona el objeto a transformar y el eje de simetr´ (que debe ser una recta). ıaCuando el usuario quiere construir la imagen de una l´ ınea recta, la primera l´ ınea rectaseleccionada por el usuario ser´ la recta a reflejar. a
  15. 15. ´2.1. HERRAMIENTAS DE CONSTRUCCION 15Simetr´ Central ıa Crea la imagen de un objeto a trav´s de una simetr´ central. El usuario selecciona los e ıaobjetos que ser´n transformados y el centro de simetr´ (un punto). Cuando el usuario quiere a ıaconstruir la imagen de un punto, el primer punto seleccionado es el punto a transformar.(Lasimetr´ central es equivalente a una rotaci´n de 180 grados). ıa oTraslaci´n o Crear la imagen de un objeto a trav´s de una traslaci´n. El usuario selecciona el objeto e oque ser´ transformado y el vector de traslaci´n. Cuando el usuario quiere construir la imagen a ode un vector, el primer vector seleccionado es el vector que ser´ trasladado. aRotaci´n o Crea la imagen de un objeto a trav´s de una rotaci´n. El usuario selecciona el punto que e oser´ rotado, el centro y el ´ngulo de la rotaci´n. Cuando el usuario quiere crear la imagen a a ode 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 omotecia). 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 useleccionado es el punto a transformar. (Por ejemplo, si se desea hacer un pol´ ıgono un terciode grande, se selecciona un punto –centro de homotecia–, el pol´ ıgono, y el valor 0.33333 )2.1.4. Herramientas Num´ricas eDistancias, longitudes & N´ meros u Crea un valor num´rico. El valor num´rico puede ser computado o editado por el usuario e edependiendo de las selecciones que haga el usuario:
  16. 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 alas coordenadas de un punto. Estos valores num´ricos pueden ser enseguida utilizados por elas herramientas de construcci´n de c´ o ırculos, de rotaci´n de objetos o para la creaci´n de o opuntos dadas sus coordenadas.´Angulo Calcula la magnitud de un ´ngulo definido por tres puntos o dos vectores. En el primer acaso, 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 onos da las coordenadas del vector (coordenadas del punto final menos coordenadas del puntoinicial). 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 recibeuna entrada de n objetos. Siempre dar´ como resultado un n´mero, que ser´ presentado en a u ala figura. Un script puede ser usado para obtener efectos colaterales o por el valor que dacomo resultado. Los Scripts Scheme de Dr. Geo est´n cubiertos en detalle en el Cap´ a ıtuloConstrucciones Avanzadas Cap´ ıtulo 3 y exactamente en la Secci´n ScriptSecci´n 3.2, p´gina o o a29.
  17. 17. 2.2. OTRAS HERRAMIENTAS 172.1.5. Herramientas para Macros de construccionesCrear una Macro Extrae una secuencia de construcci´n dada en una figura y la convierte en la macro de ouna construcci´n. oEjecutar una Macro Ejecuta (i.e. “lanza” o “corre”) una macro previamente construida. La macro puedehaber 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 a2.2. Otras herramientas2.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 oes decir que recuerda, desde la parte alta hasta la parte baja, el orden de construcci´n de la ofigura. 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 aizquierdo de la ventana. Para hacerlo aparecer hace falta desplegarlo con la ayuda del rat´n. oMover el puntero del rat´n hacia el borde izquierdo de la ventana de Dr. Geo cuando ´ste o ese transforme en “¡-¿”, presionar el bot´n del rat´n y manteni´ndolo presionado mueva el o o erat´n a la derecha. o2.2.2. Mover la figura La figura puede ser movida presionando al mismo tiempo la tecla Control y el bot´n oizquierdo del rat´n al moverlo hacia donde se desea mover la figura. oMover un Objeto Un objeto puede ser movido al jalarlo con el rat´n. La figura es redibujada con respecto oa las nuevas posiciones. Casi cualquier tipo de objeto geom´trico puede ser movido. Cuando ees necesario, Dr. Geo mueve los puntos libres asociados con la figura. Por ejemplo, cuandoel usuario mueve una l´ınea definida por dos puntos libres, Dr. Geo mover´ los dos puntos asimult´neamente.. a2.2.3. Borrar un objeto Los objetos en la figura pueden ser borrados cuando se activa este men´. En cualquier umomento posterior, el usuario puede anular el borrado usando la funci´n “deshacer” de la o
  18. 18. 18 CAP´ ´ ITULO 2. FUNCIONES BASICASbara de ´ıconos o del men´ editar-¿deshacer. Inicialmente el n´mero de anulaciones posibles u ues 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 enombre, el tama˜o o la forma. Adem´s, es posible ocultar temporalmente un objeto sin n aborrarlo. 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 aun objeto en la figura. El di´logo de apariencia para puntos se relaciona con cualquier tipo de objeto de punto. aDesde ´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 ecolor, el grosor, el nombre y su visibilidad. Cuando una recta, una semirrecta, un vector o unsegmento 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. aEn 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 tipode valores (editados por el usuario, calculados por un Script Scheme de Dr. Geo o valoresque representan una medida de un objeto geom´trico) y de formas de pol´ e ıgono. (Notar quedos pol´ıgonos pueden tener colores distintos; podemos cambiarles el color)
  19. 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. 20 CAP´ ´ ITULO 2. FUNCIONES BASICAS2.2.5. Editando Propiedades de Objetos Ciertas propiedades de los objetos son ajustables por el usuario. Cuando el usuario haceclick en tales objetos, un di´logo apropiado aparece. De hecho, los siguientes objetos poseen apropiedades 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. 21. 2.3. PREFERENCIAS DE USUARIO 212.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- ubi´n activado con la tecla Ctrl-G. Si el comando es reactivado, el enrejado es ocultado. El eenrejado 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 a2.3. Preferencias de Usuario2.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... upara 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. 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 ; A2.3.2. Otras Preferencias Adem´s del comportamiento predeterminada de Dr. Geo, el usuario puede cambiar el anombre de una figura desde el elemento men´ Editar->Renombrar. u Figura 2.9: Renombrar la vista de una figura
  23. 23. Cap´ ıtulo 3Caracter´ ısticas Avanzadas En este cap´ıtulo presentamos caracter´ısticas usadas para extender las caracter´ ısticas deDr. 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 ola l´gica de una construcci´n en un registro. Ya hecho esto, este registro se puede repetir o oo guardar en un archivo que lleve la extensi´n .mgeo, y puede ser abierto cuando sea onecesario.. Los Scripts Scheme de Dr. Geo – Dr. Geo Script en ingl´s; abreviado DGS -representan eotra forma de extender Dr. Geo. Estos scripts son en realidad elementos de figuras comocualquier otro elemento geom´trico. Ellos reciben como entrada las referencias a los elemen- etos de figura seleccionados por el usuario y dan como resultado un valor num´rico, que se einserta en la figura . Son, en efecto, funciones 1 injertadas en una figura, y son evaluadasen cada actualizaci´n de la figura (i.e. cada vez que el programa requiere volver a dibujar la ofigura) 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 auna figura geom´trica completamente escrita en el lenguaje de programaci´n Scheme. La e opotencia de este modo de crear una figura radica en permitir una construcci´n usando el otipo de programaci´n llamado funcional 2 , y no solamente declarativo, como es el caso de la ointerfaz gr´fica. De este modo, Dr. Geo se convierte en un programa que puede ser utilizado apara 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 ´ opreparar una sesi´n de trabajo con varios documentos en los que ciertas funciones han sido obloqueadas a trav´s de una contrase˜a (password). El objetivo de esto es permitir el uso del e nprograma en ciertas situaciones pedag´gicas dadas. o3.1. Macros de Construcciones Una Macro para una una construcci´n es una especie de procedimiento que recibe como oentrada a elementos de figuras y devuelve uno o m´s elementos de figuras, construidas por ala 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 oentonces 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 ason 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. 24 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADASDesde luego que los elementos que se den como resultado deben depender solamente de loselementos iniciales, 3 , de otro modo Dr. Geo no podr´ deducir los elementos producidos a ıapartir 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 oen una macro. El usuario puede ejecutar esta macro con s´lo especificar los elementos de oentrada (que deben coincidir con los par´metros que necesita la macro) en la figura. Entonces ala 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 usuariodesea grabar la construcci´n de un c´ o ırculo que pasa por tres puntos. Supondremos, adem´s, aque 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 eusada como un molde con el cual se crea la macro. Figura 3.2: Nuestra figura con la construcci´n resultante o3.1.1. Crear una Macro En esta etapa, la serie de pasos para la construcci´n ya est´ hecha. Ahora el usuario o anecesita 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 aCrear un pol´ ıgono regular Secci´n 6.1, p´gina 69. o a
  25. 25. 3.1. MACROS DE CONSTRUCCIONES 25llamar la funci´n Construir una macro de la barra de ´ o ıconos o del men´ contextual uque 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 ay 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 aejemplo, estos son los tres puntos iniciales. El usuario s´lo necesita llegar a este lugar y oseleccionar 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 aejemplo, deseamos que el c´ ırculo y el centro sean los par´metros de salida para la macro. El ausuario 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 oEstos datos son desplegados cuando el usuario ejecuta una macro, de modo que ayuda adistinguir una macro de otra. En la ultima parte del di´logo (la quinta), el usuario crea la macro haciendo click sobre ´ ael bot´n Aplicar(finalizar la construcci´n). Alternativamente, el usuario puede regresar a o olas 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. 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 asecci´n, veremos c´mo usarla. o o3.1.2. Ejecutar una Macro Para ejecutar la macro de una construcci´n, el usuario llama la funci´n Ejecutar macro o opreviamente construida de la barra de ´ ıconos o desde el men´ contextual que se uobtiene pulsando el boton derecho. Una ventana de di´logo que describe el procedimiento ase inserta entonces. Desde la ventana de di´logo, el usuario selecciona la macro. En la segunda parte, se- alecciona la macro de la lista en la parte m´s alta del di´logo. Una vez que la macro fue a aseleccionada, puede hacer click directamente en los par´metros de entrada en la figura. Tan apronto como todos los par´metros de entrada sean seleccionados, la macro es ejecutada y alos elementos de salida aparecen. En nuestro ejemplo, la macro necesita tres par´metros de entrada (tres puntos) y crea a apartir de ellos un c´ ırculo y un punto. Para ejecutar nuestra macro, necesitamos una figuracon al menos tres puntos. Una vez que nuestra macro es ejecutada usando esos tres puntos, obtenemos el c´ ırculodeseado y tambi´n su centro. eCon la ayuda del men´ Macros u Existe otro procedimiento –m´s r´pido– para ejecutar una macro. La barra de men´ prin- a a ucipal de Dr. Geo contiene un men´ Macro-constructions. Este men´ esta poblado con u u
  27. 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 centrolos 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ˆıtreune info-bulle de la description de la macro. L’utilisateur peut ainsi avoir rapidement uneexplication sur l’ensemble des macro-constructions.
  28. 28. 28 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS Figura 3.10: Ejecutar una macro directamente desde el men´ Macro-constructions u
  29. 29. 3.2. SCRIPT SCHEME DE DR. GEO 293.2. Script Scheme de Dr. Geo Dr. Geo es compatible con Guile. Esto quiere decir que es posible ejecutar un scriptdel 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 oInterface– 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 emanipular elementos de figuras (geom´tricas y num´ricas). Asimismo, ya que los scripts son e efiguras 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 oreferirnos 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 edentro del men´ contextual que se obtiene al hacer click con el bot´n derecho del rat´n en u o oel 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 ecos) que constituir´n los par´metros de entrada. Al terminar de escoger los par´metros de a a aentrada, 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 acomprender f´cilmente su uso y su potencialidad. a Los DGS, como las macros, dan una dimensi´n particular a Dr. Geo, Le permiten, ojunto con las macros4 , llevar a cabo cosas que los autores del programa no incorporaron ono 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 eGNU Guile est´n disponibles a trav´s del DGS. Esto es particularmente cierto para las a elibrer´ de funciones5 que utilizaremos ampliamente. ıasDGS sin par´metros de entrada El procedimiento para crear un script sin par´metros a ade 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 eco; pero no s´lo eso, pues nos permiten utilizarlos con un esp´ o ıritu de programador (“hacker”, en ingl´s, ser´ e ıaun t´rmino m´s apropiado) e a 5 En particular, las funciones matem´ticas a
  30. 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- uador 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 ı, uel 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 todoslos dem´s valores num´ricos que Dr. Geo genera. Por todo lo anterior, los DGS son ver- a edaderamente nuestros aliados. Pero eso no es todo, los DGS pueden hacer muchas m´s cosas ainteresantes 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 elmen´ bastar´ para anular nuestro error u a
  31. 31. 3.2. SCRIPT SCHEME DE DR. GEO 31DGS con al menos un par´metro de entrada El procedimiento para crear un DGS acon un par´metro de entrada es esencialmente el mismo. Justo despu´s de haber seleccionado a ela herramienta script, basta hacer click sobre el objeto que ser´ el par´metro de entrada y a aenseguida hacer click sobre el fondo de la figura, en el lugar donde se desee tener al nuevoscript. Enseguida, dentro del script, el parametro de entrada ser´ referido por la variable a1. En acaso de tengamos dos o m´s par´metros de entrada, utilizaremos, respetando el orden en a aque fueron seleccionados, las variables a1, a2, a3, a4, etc. dependiendo del n´mero de objetos useleccionados. Dependiendo del objeto que seleccionemos, diversos m´todos estar´n disponibles para e aobtener valores, como pueden ser coordenadas, longitud, etc. Estos m´todos son mostrados een 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 queconstruiremos 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 llamaslope.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 colocandodos puntos y el segmento que ellos determinan. Sobre este segmento colocamos un puntolibre al que llamaremos “¡Mu´veme!”(“Move me!” en ingl´s). Este punto nos sirve para e edeterminar un valor num´rico que identifica la posici´n del punto dentro del segmento; esto e olo 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 ellamaremos 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 unextremo, y va creciendo hasta ser 1 en el otro extremo; es 0.5 en la mitad, 0.25 a un cuarto, etc.
  32. 32. 32 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADASEn 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 udecimal en el intervalo [−10; +10] como se deseaba8 . Finalmente, llamemos este script Xo. (Esto se puede hacer en el men´ contextual: selec- ucione 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 oservir´, a trav´s de otro script, para calcular la imagen del punto bajo la funci´n x → cos(x). a e oEste 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” deun punto, sino el valor de un n´mero (en este caso del script Xo, que dentro del segundo uscript 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 dela funci´n x → cos(x). Para dibujar la porci´n de la gr´fica con dominio [-10 ; 10], creare- o o amos el lugar geom´trico del punto Mo cuando el punto “¡Mu´veme” describe el segmento. e eCon ello obtendremos la gr´fica!(Recordar que para crear Mo, hay que seleccionar, en el amen´ contextual, punto, coordenadas y luego hacer click en los scripts que dan las coorde- unadas. Para lograr el lugar geom´trico, recordar seleccionar en el men´ contextual curva, e ulugar 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 aen Mo=(Xo,Yo), hace falta tener la pendiente en ese punto. Usando C´lculo Diferencial, asabemos 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 aentrada 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 oparecer poco intuitiva, pero es cuesti´n de simplemente acostumbrarse a ella; es simplemente odecir “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 unsegundo punto – M1– de esa recta. Comencemos por su abscisa (No confundir con la “abscisa geom´trica”); por ejemplo: eX1 = X0 + 2. Para hacer esto crearemos un script que tendr´ como par´metro de entrada a aal 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. 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 aMo(que llamamos “Pendiente en el punto Mo”, “Slope at Mo” en ingl´s), y a X1, determi- enamos 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 oa un objeto de tipo punto, el m´todo devuelve una lista que contiene las coordenadas del epunto, en este caso Mo. La instrucci´n car permite extraer el primer elemento de esta lista; ola 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; podemosusar 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 ıacantidad que usamos. Sin embargo, esperamos que estos peque˜os ejemplos logren en usted nel 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 eDGS. Estos m´todos est´n clasificados de acuerdo al tipo de objeto geom´trico o num´rico. e a e ePuntovalor (getAbscissa punto)punto : Referencia a un punto sobre una curvaDevuelve: 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´ ıneax : Valor decimal en el intervalo [0 ; 1] que representa a la nueva “abscisa geom´trica” eEjemplo:(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 vectorDevuelve: Lista que contiene las coordenadas del punto o del vectorEjemplo:(define c (getCoordinates a1))(define x (car c))(define y (cadr c))(+ (* x x) (* y y))
  34. 34. 34 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADAS(setCoordinates punto coord)Asigna coordenadas a un puntopunto : Referencia a un punto libre en el planocoord : Lista de dos n´meros decimales uEjemplo:(define l (list 1.4 (random 5)))(setCoordinate a1 l)Recta, Semirrecta, Segmento, Vectorvalor (getSlope direcci´n) odirecci´n : Referencia a un objeto de tipo recta, semirrecta, segmento o vector oDevuelve: La pendiente en esa direcci´n oEjemplo:(define p (getSlope a1))valor (getUnit direcci´n) odirecci´n : Referencia a un objeto de tipo recta, semirrecta, segmento o vector oDevuelve: Una lista que contiene las coordenadas de un vector unitario en la direcci´n dada oEjemplo:(define v (getUnit a1))valor (getNormal direcci´n) odirecci´n : Referencia a un objeto de tipo recta, semirrecta segmento o vector oDevuelve: Una lista que contiene las coordenadas de un vector normal a la direcci´n dada oEjemplo:(define n (getNormal a1))valor (getNorm vector)vector : Referencia a un vectorDevuelve: La norma (i.e., magnitud, longitud) de ese vectorEjemplo:(define n (getNorm a1))valor (getLength segmento)segmento : Referencia a un segmentoDevuelve: La longitud de ese segmentoEjemplo:(define l (getLength a1))C´ ırculo, Arco de c´ ırculolista (getCenter c´rculo|arco) ıc´rculo|arco : Referencia a un c´ ı ırculo o un arco de c´ ırculoDevuelve: Lista que contiene las coordenadas del centro de un c´ ırculo o de un arco de c´ ırculoEjemplo:
  35. 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´ ırculoDevuelve: Radio del c´ ırculo o del arco de c´ırculoEjemplo:(define r (getRadius a1))valor (getLength c´rculo|arco) ıc´rculo|arco : Referencia a un c´ ı ırculo o un arco de c´ ırculoDevuelve: Per´ ımetro del c´ ırculo o longitud del arco de c´ ırculoEjemplo:(define l (getLength a1))Funciones Num´ricas evalor (getValue n´mero) un´mero : Referencia a un n´mero u uDevuelve: Valor de ese n´mero uEjemplo:(define a (getValue a1))(define b (getValue a2))(+ a b)(setValue n´mero v) un´mero : Referencia a un n´mero u uv : Valor decimalEjemplo:(define v (getValue a1))(setValue a2 v)´Angulovalor (getAngle ´ngulo) a´ngulo : Referencia a un ´ngulo orientado o geom´tricoa a eDevuelve: La medida de ese ´ngulo en grados. Para obtener la medida en radianes, utilice ala funci´n getValue oEjemplo:(define angle1 (getAngle a1))(define angle2 (getAngle2))(define angle3 (getAngle a3))(+ angle1 angle2 angle3)
  36. 36. 36 CAP´ ITULO 3. CARACTER´ ISTICAS AVANZADASOtros(move item t)item : Referencia a un objeto de la figurat : vector de dos dimensionesEjemplo:(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 interfazgr´fica de Dr. Geo sino m´s bien de describir una figura dentro del lenguaje Scheme(Una a avariante de Lisp). Hemos cuidado mucho que la sintaxis utilizada sea f´cil y concisa. Adem´s, a ael conjunto de palabras clave utilizadas en Scheme para para describir una figura simple sonadaptables de modo que aparezcan en Espa˜ol, Franc´s, Ingl´s, etc. . Una combinaci´n de n e e ovarios idiomas es tambi´n posible; pero no es deseable.(N. del T. es por ello que varias epalabras clave en este manual aparecen en Espa˜ol. Basta con traducir un archivo en el ndirectorio scm donde Dr. Geo est´ instalado; notar que en la traducci´n hecha del archivo, a ose 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 e3.3.1. Algunos Ejemplos (N.del T. En lo que sigue se usar´n las palabras “referencia” y “nombre”. “referencia” aes una variable que apunta a un objeto. “nombre” es el r´tulo que aparece en la figura. A oveces 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 ealguna parte de la figura o bien para colocar aleatoriamente ciertos objetos de tal suerteque, cada vez que se cargue la figura, los objetos aparecer´n ligeramente distintos. En pocas apalabras, los FSD no est´n atados a las limitantes de la interfaz gr´fica, y adem´s poseen a a atodo el poder del lenguaje Scheme. Un FSD es entonces un archivo con extension .scmcreado con la ayuda de un editor de texto, el cual es abierto en Dr. Geo con la ayuda delcomando 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 esimplemente crea una nueva figura vac´ con el nombre “Mi figura”. Podemos escribir co- ıamandos (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 ec´moda, a tal grado que esa expresada en nuestra lengua madre. Esto es de inter´s especial o epara la ense˜anza secundaria. De hecho, todos los comandos de definici´n de objeto tienen n ouna sintaxis com´n. Tal sintaxis es como sigue: u
  37. 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 ey “uniform” que significa “uniforme”. Como se coment´ antes es posible traducirlas modif- oicando el archivo dentro del directorio scm donde Dr. Geo est´ instalado. El archivo para eespa˜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 unaestructura interna del objeto –un prototipo– mientras que los nombres son simplemente cadenas de caracteres.
  38. 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 uDr. Geo les dar´ un nombre que est´ determinado a partir del nombre de sus extremos. a aNuestros 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 interesaparticularmente es la serie de comandos env´a. Estos comandos permiten la comunicaci´n ı ocon un objeto cuyo s´ımbolo hemos guardado; en este caso tenemos los s´ ımbolos A, B y d1. Elcomando consiste en enviar un mensaje a un objeto. Su primer par´metro de entrada es el aobjeto con el que deseamos comunicarnos, el segundo argumento es el mensaje, los restantesargumentos 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 atoma 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. nEn las secciones siguientes expondremos el conjunto de comandos disponibles para definirlas 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 eprototipos son en cierto sentido objetos a los que podemos interrogar y modificar comoveremos en lo que sigue. Empero, antes de la definici´n de objeto alguno en un FSD, el FSD debe ser creado con oel comando nueva-figura en el principio del archivo.Comandos generales(nueva-figura nombre)nombre : Cadena de caracteresDevuelve: No devuelve ning´n valor. Es llamada por el efecto que produce, no por el valor uque devuelve. Este comando crea una figura nueva. Los objetos creados posteriormente secrean dentro de esta figura hasta que se vuelva a llamar este comando.Ejemplo:(nueva-figura "Mi 1er figura")

×