Diferencia entre revisiones de «Referencia:Jython»

De GeoGebra Manual
Saltar a: navegación, buscar
m (Revertidos los cambios de LailaTov (disc.) a la última edición de LilianaSaid)
 
(No se muestran 31 ediciones intermedias de 4 usuarios)
Línea 1: Línea 1:
== Ventana Python ==
+
{{Referencia}}__NOTOC__== Ventana Python ==
Pueden observarse al respecto [http://dev.geogebra.org/trac/wiki/Jython estas presuntas alternativas aún en desarrollo] o en este mismo artículo la sección correspondiente [[Notas Lanzamiento de GeoGebra 4.2#Vista o Ventana Python|Vista o Ventana Python]] y a [https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf ''Phyton para Todos''] en caso de desear profundizar en cuestiones propias del lenguaje interpretado.
+
Pueden observarse al respecto [http://dev.geogebra.org/trac/wiki/Jython estas presuntas alternativas en persistente desarrollo] o en este mismo artículo, la sección correspondiente guiones Python y a [https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf ''Phyton para Todos''] para profundizar en ese lenguaje interpretado.
 
=== Vista Python ===
 
=== Vista Python ===
Muy recomendable la guía que - en francés - desarrolla el tema y ofrece [http://www.geogebra.org/en/upload/files/AAFrancais/NLambert/Python/DocPythonGGb.pdf descripciones y ejemplos].
+
Muy recomendable la guía que - en inglés- desarrolla ampliamente el tema y ofrece [http://luccisun.webfactional.com/sbc/docs/FundamentalsofPythonFromFirstProgramsthroughDataStructures2009_KA_Lambert.pdf descripciones y ejemplos].
 +
 
 
=== Guiones Python en GeoGebra 4.2 ===  
 
=== Guiones Python en GeoGebra 4.2 ===  
 
La ventana de Python contiene tres paneles:
 
La ventana de Python contiene tres paneles:
Línea 8: Línea 9:
 
Aquí puede introducir expresiones de Python y ver de inmediato su efecto. Con las teclas {{KeyCode|Alt}} + {{KeyCode|Arriba}} / {{KeyCode|Alt}} + {{KeyCode|Abajo}}}} se puede navegar por la historia de comandos ingresados.
 
Aquí puede introducir expresiones de Python y ver de inmediato su efecto. Con las teclas {{KeyCode|Alt}} + {{KeyCode|Arriba}} / {{KeyCode|Alt}} + {{KeyCode|Abajo}}}} se puede navegar por la historia de comandos ingresados.
 
* De Guiones
 
* De Guiones
En que se puede escribir la secuencia de comandos a ser ejecutados al cargar el archivo. GGB. También puede ejecutarse el guión - ''script'' - desde aquí,  en cualquier momento.
+
En que se puede escribir la secuencia de comandos a ser ejecutados al cargar el archivo. GGB. También puede ejecutarse el guion - ''script'' - desde aquí,  en cualquier momento.
 
* De Eventos.  Aquí puede seleccionar un objeto y enlazar cualquier ''script'' de GeoGebra en Python de modo que para...
 
* De Eventos.  Aquí puede seleccionar un objeto y enlazar cualquier ''script'' de GeoGebra en Python de modo que para...
 
**  su ejecución basta un ''clic'' sobre el tema  
 
**  su ejecución basta un ''clic'' sobre el tema  
 
**  se acceda a editarlo para cambiar su valor.
 
**  se acceda a editarlo para cambiar su valor.
 
===== Ejemplo =====
 
===== Ejemplo =====
En un guión - ''script'' -, el objeto asociado al evento pueden auto-referenciarse. Para pegar una demostración al respecto en el panel interactivo, basta con copiarla desde la página de la [http://www.geogebra.org/en/upload/files/AAFrancais/NLambert/Python/DocPythonGGb.pdf guía elaborada en francés].  
+
En un guion - ''script'' -, el objeto asociado al evento pueden auto-referenciarse. Para pegar una demostración al respecto en el panel interactivo, basta con copiarla desde la página de la [http://luccisun.webfactional.com/sbc/docs/FundamentalsofPythonFromFirstProgramsthroughDataStructures2009_KA_Lambert.pdf guía de Python en inglés].  
 
  geo.A = (1,2)
 
  geo.A = (1,2)
 
  # Crear algunos puntos al azar
 
  # Crear algunos puntos al azar
Línea 22: Línea 23:
 
  # Enlace de todos a A
 
  # Enlace de todos a A
 
  segments = [Segment(p, geo.A) for p in points]
 
  segments = [Segment(p, geo.A) for p in points]
  # Definir una función para exponer sólo el segmento más cortoa
+
  # Definir una función para exponer solo el segmento más cortoa
 
  def show_shortest(moved_point):
 
  def show_shortest(moved_point):
 
   for s in segments: s.visible = False
 
   for s in segments: s.visible = False
Línea 32: Línea 33:
  
 
=== Nombres en Python y GeoGebra ===
 
=== Nombres en Python y GeoGebra ===
Dado que tanto GeoGebra como Python operan con objetos que tienen nombres, es importante contar con un ágil acceso desde Python GeoGebra sin confundir los de sendos tipos.  
+
Dado que tanto GeoGebra como Python operan con objetos que tienen nombres, es importante contar con un ágil acceso desde Python a GeoGebra sin confundir los de sendos tipos.  
 
Los objetos GeoGebra se pueden referir (y crear) en Python anteponiendo a su nombre el prefijo '''geo''' o $ . Así, si existiera un punto denominado A, exclusivamente se lo debe referir en  Python como  $A  o  geo.A. Todos los demás nombres no son accesibles desde Python.
 
Los objetos GeoGebra se pueden referir (y crear) en Python anteponiendo a su nombre el prefijo '''geo''' o $ . Así, si existiera un punto denominado A, exclusivamente se lo debe referir en  Python como  $A  o  geo.A. Todos los demás nombres no son accesibles desde Python.
En tanto lo mencionado sólo permite nombres en formato ASCII, puede ser útil, en otros idiomas, una sintaxis para acceder a nombres que excedan el código ASCII.  
+
En tanto lo mencionado solo permite nombres en formato ASCII, puede ser útil, en otros idiomas, una sintaxis para acceder a nombres que excedan el código ASCII.  
 
{{Example|1=La siguiente escritura devuelve todo objeto GeoGebra llamado A.
 
{{Example|1=La siguiente escritura devuelve todo objeto GeoGebra llamado A.
  
Línea 46: Línea 47:
 
$ ["A", 1]. Color = # Color.RED  # Cambia el color del punto.
 
$ ["A", 1]. Color = # Color.RED  # Cambia el color del punto.
  
====Puntos y Vectores====
+
===Puntos y Vectores===
* Se pueden crear puntos y vectores por sus coordenadas
+
*Se pueden crear puntos y vectores por sus coordenadas
$A = Point(1, 2)
+
$A = Point(1, 2)
 
$B = Point(-2, 3)
 
$B = Point(-2, 3)
$u = Vector(1, -1)
+
$u = Vector(1, -1)
* Incluso, crear un punto a partir de un vector...
+
*Incluso, crear un punto a partir de un vector...
** $C = Point($u)
+
**$C = Point($u)
 
Viceversa, un vector a partir de un punto...
 
Viceversa, un vector a partir de un punto...
* $r_A = Vector($A)
+
*$r_A = Vector($A)
 
O con dos puntos...
 
O con dos puntos...
 
*$v = Vector($A, $B)
 
*$v = Vector($A, $B)
======Entre Puntos y Vectores======  
+
=====Entre Puntos y Vectores=====  
 
Si A es un punto o un vector...
 
Si A es un punto o un vector...
* $A.x  da por resultado su abscisa  ($A.x)
+
*$A.x  da por resultado su abscisa  ($A.x)
* $A.y  su ordenada ($A.y)
+
*$A.y  su ordenada ($A.y)
* $A.coords  su par de coordenadas ($A.coords)
+
*$A.coords  su par de coordenadas ($A.coords)
 
{{note|Siempre se trata de resultados dinámicos}}
 
{{note|Siempre se trata de resultados dinámicos}}
  
Línea 72: Línea 73:
 
**$C = Point(2*$A.x, 1+$B.y)  ($A.x es la abscisa de A)
 
**$C = Point(2*$A.x, 1+$B.y)  ($A.x es la abscisa de A)
 
*... creando un punto C  en que la abscisa es el doble del de A y la ordenada, una unidad por encima de la de B.
 
*... creando un punto C  en que la abscisa es el doble del de A y la ordenada, una unidad por encima de la de B.
 +
 
=== Atributos comunes a todos los elementos ===
 
=== Atributos comunes a todos los elementos ===
Los siguientes atributos no se aplican sólo a puntos y vectores sino a todos los de objetos de GeoGebra.
+
Los siguientes atributos no se aplican solo a puntos y vectores sino a todos los de objetos de GeoGebra.
 
* visible (booleana);
 
* visible (booleana);
 
* color (para definirlo, por ejemplo, se utiliza Color.Red o Color(0,5, 0,9, 0,8) (de forma idéntica a java.awt.Color);
 
* color (para definirlo, por ejemplo, se utiliza Color.Red o Color(0,5, 0,9, 0,8) (de forma idéntica a java.awt.Color);
Línea 82: Línea 84:
 
* caption  (sub-título, una cadena);
 
* caption  (sub-título, una cadena);
 
* trace (booleana que si es verdadera, establecer que se deje ''rastro'' o huella).
 
* trace (booleana que si es verdadera, establecer que se deje ''rastro'' o huella).
Este guión o ''script'' crea un punto rojo con una leyenda negra que dice "Dar clic aquí"
+
Este guion o ''script'' crea un punto rojo con una leyenda negra que dice "Dar clic aquí"
 
* $P = Point(3, 1)  ($P es la referencia al punto P)
 
* $P = Point(3, 1)  ($P es la referencia al punto P)
 
* $P.color = Color.RED   
 
* $P.color = Color.RED   
Línea 90: Línea 92:
 
Los atributos pueden ser asignados directamente en  la creación del objeto. La  siguiente escritura tiene el mismo efecto que la anterior:
 
Los atributos pueden ser asignados directamente en  la creación del objeto. La  siguiente escritura tiene el mismo efecto que la anterior:
 
* $P = Point(3, 1, color=Color.RED, label_color=Color.BLACK, label_mode='caption', caption="Dar clic aquí")  (nuevamente, $P refiere al punto P)
 
* $P = Point(3, 1, color=Color.RED, label_color=Color.BLACK, label_mode='caption', caption="Dar clic aquí")  (nuevamente, $P refiere al punto P)
==== Trayectos ====
+
=== Trayectos ===
===== Las líneas y los segmentos =====
+
==== Las líneas y los segmentos ====
 
Este ''script'' traza una recta que pasa por los puntos A y B  
 
Este ''script'' traza una recta que pasa por los puntos A y B  
 
* $l = Line($A, $B)  (A y B se indican con el prefijo $)
 
* $l = Line($A, $B)  (A y B se indican con el prefijo $)
Línea 100: Línea 102:
 
* $s = Segment((-3, 0), (2, 1))  (s se indica con el prefijo $)
 
* $s = Segment((-3, 0), (2, 1))  (s se indica con el prefijo $)
 
Los segmentos tienen dos atributos, el nombre del punto inicial y el del final. Las rectas, segmentos y semirrectas tienen como atributo el nombre del vector que les determina la  dirección.
 
Los segmentos tienen dos atributos, el nombre del punto inicial y el del final. Las rectas, segmentos y semirrectas tienen como atributo el nombre del vector que les determina la  dirección.
===== Ejes =====
+
==== Ejes ====
 
Dos objetos especiales, $xAxis y $yAxis que representan los dos ejes de coordenadas, con los que por el momento es limitado lo que puede llevarse adelante, tienen los siguientes atributos
 
Dos objetos especiales, $xAxis y $yAxis que representan los dos ejes de coordenadas, con los que por el momento es limitado lo que puede llevarse adelante, tienen los siguientes atributos
 
- visible : permite modificar la visibilidad de un  eje.
 
- visible : permite modificar la visibilidad de un  eje.
Este ''guión'' - script - oculta los dos ejes en la Vista Gráfica
+
Este ''guion'' - script - oculta los dos ejes en la Vista Gráfica
  
 
$xAxis.visible = False
 
$xAxis.visible = False
Línea 109: Línea 111:
 
$yAxis.visible = False
 
$yAxis.visible = False
  
===== Círculos Elipses Hipérbolas Parábolas =====
+
==== Círculos Elipses Hipérbolas Parábolas ====
* Este  guión o ''script'' crea cuatro círculos de...
+
* Este  guion o ''script'' crea cuatro círculos de...
 
** - C1 con centro en (1, 1)  que pasa por el punto (3, 2)
 
** - C1 con centro en (1, 1)  que pasa por el punto (3, 2)
 
** - C2 que pasa por los puntos (0, 0), (4, 0), (4, 3)  
 
** - C2 que pasa por los puntos (0, 0), (4, 0), (4, 3)  
Línea 130: Línea 132:
 
*** $H_2 = Hyperbola((1, 1), (3, 1), (2, 2)) (H_2 se indica con el prefijo $)
 
*** $H_2 = Hyperbola((1, 1), (3, 1), (2, 2)) (H_2 se indica con el prefijo $)
 
*** $P = Parabola((0, 0), Line($A, $B)) (P se indica con el prefijo $)
 
*** $P = Parabola((0, 0), Line($A, $B)) (P se indica con el prefijo $)
 +
 
==== Atributos de Recorridos ====
 
==== Atributos de Recorridos ====
 
Todos los recorridos (rectos y curvos) tiene como atributos...
 
Todos los recorridos (rectos y curvos) tiene como atributos...
 
* Grosor (valor numérico);
 
* Grosor (valor numérico);
* Tipo de Trazo (cadena que puede indicar una de las opciones de trazo pleno o de uno de los punteados como el de guión corto, de guión largo, puntos, punto-raya).
+
* Tipo de Trazo (cadena que puede indicar una de las opciones de trazo pleno o de uno de los punteados como el de guion corto, de guion largo, puntos, punto-raya).
 +
==== Polígonos y Poligonales ====
 +
Para crear un polígono con vértices A, B y C se puede utilizar:
 +
$ABC = Polygon($A, $B, $C)
 +
o
 +
$ABC = Polygon([$A, $B, $C])
 +
Esta última escritura es más útil si se desea crear un polígono a partir de una lista arbitraria de puntos.
 +
Los polígonos tienen atributos:
 +
* boundary  - perimetral: el perímetro del polígono como una poligonal;
 +
* points - puntos: una lista de Python de todos los vértices del polígono (que también puede obtenerse a través de la lista (poli));
 +
* area o value - el área o valor: el área del polígono;
 +
* edges - lados: una lista Python de todos los lados del polígono;
 +
* directed_area: el área con un signo (+ a la izquierda -  a derecha);
 +
* len(poly) ''longitud'' del polígono, es decir el número de vértices.
 +
El  índice i de un vértice se  puede obtener a través de poli [I].
 +
Esto mismo vale para las poligonales excepto  los atributos de los lados o del área  o la directed_area. El atributo de su valor,  devuelve la longitud total.
 +
== Listas -  Textos - Funciones ==
 +
=== Listas ===
 +
Las listas de GeoGebra no se deben confundir con las listas de Python. Las listas pueden ser creadas de la siguiente manera:
 +
my_list = List(1, 2, 3) crea una lista GeoGebra ;
 +
python_list = [1, 2, 3] crea una lista Python.
 +
La notación indicial se puede utilizar para obtener o eliminar un elemento en una posición dada:<hr>
 +
print my_list[1] muestra el segundo elemento (el primero tiene índice 0);
 +
del my_list [0], elimina el primer elemento.<hr>
 +
Puede añadirse un elemento nuevo al final de una lista mediante el método ''append'':
 +
my_list.append(42) 
 +
Es posible establecer un bucle o lazo sobre los elementos de una lista:
 +
for item in my_list
 +
print item + 10
 +
Se puede convertir una lista GeoGebra en una de Python :
 +
python_list = list(my_list)
 +
Se pueden eliminar todos los elementos de una lista con el método de GeoGebra ''clear'' :
 +
my_list.clear()
 +
===Textos===
 +
Puede crearse un texto con la siguiente sintaxis:
 +
t = Text("¡Muy buenos días!")
 +
Los textos tienen los siguientes atributos:
 +
*origin  - origen (un punto). Se puede conocer/leer o asignarse;
 +
*text - texto (la cadena del texto). Se puede leer o asignados;
 +
*latex (valor booleano): ''true'' si el texto debe aparecer en LaTeX y ''false'' en caso contrario.
 +
Esta secuencia de comandos sitúa el origen del texto ''' ''t'' '''  en (2, 2) y establece "Abracadabra" como el texto a exponer:
 +
t.orgin.coords = (2, 2)
 +
t.text = "Abracadabra"
 +
Se le puede cambiar el  punto de origen con la siguiente declaración:
 +
t.orgin = (3, 1)
 +
Pero a diferencia del anterior, en este caso, no se actualizan las coordenadas sino que se crea un Punto.
 +
====Origen Dinámico====
 +
Para situar el origen del texto ''t'' en el punto '''A''' -de modo que se desplazará cuando '''A''' se mueva-, basta con anotar:
 +
t.origin = $ $A
 +
===Más sobre LaTeX===
 +
Para mayores detalles sobre el trabajo con LaTeX conviene consultar
 +
* el correspondiente mensaje del [https://help.geogebra.org/ foro] y el [http://www.tug.org Grupo de usuarias y usuarios de LaTeX]
 +
* la [[Tutorial:Detalles Adicionales de GeoGebra#Sobre LaTeX|introducción a su sintaxis]]
 +
* la sección que ilustra [[Tutorial:Sobre_LaTeX_-medidas_de_fuentes_-_cajas_de_color_y_matemática_-#Tipografía y Colores|cómo seleccionar tipografía y colores]]
 +
* el manejo de tablas y cuadros
 +
* las fórmulas más usuales
 +
* los documentos y textos para profundizar en el tema.
 +
**El [[Tutorial:Sobre_LaTeX_-medidas_de_fuentes_-_cajas_de_color_y_matemática_-|Tutorial sobre LaTeX en GG]]
 +
**El [http://tug.ctan.org/info/short-math-guide/short-math-guide.pdf  Mini-Tutorial de LaTeX (Short Math Guide for LATEX)] y el anexo, [https://www.tug.org/TUGboat/tb18-3/tb56down.pdf del mismo autor ] o, en español, de [http://web.fi.uba.ar/~ssantisi/works/ecuaciones_en_latex/ Ecuaciones en LATEX]
 +
**El [[Tutorial:Sobre_LaTeX_-medidas_de_fuentes_-_cajas_de_color_y_matemática_-#Código LaTeX para las fórmulas más comunes|Código-LaTeX para  las fórmulas más comunes]] y la sección que explica cómo [[Comentarios:Opciones_(cuadro_de_diálogo)|Exportar archivos GeoGebra a documentos LaTeX]]
 +
<hr>
 +
{{Notes|1=<br><br>
 +
Si bien los comandos más frecuentes de '''''LaTeX''''' en los contextos y textos de matemáticas operan adecuadamente en GeoGebra, para incluir un sub-conjunto más avanzado, en conveniente recurrir a prestaciones externas, adicionales.
 +
}}
 +
 
 +
==Las Funciones en Ecuaciones e Inecuaciones==
 +
===Funciones===
 +
Las funciones se pueden definir fácilmente en Python:<br>
 +
<hr>
 +
def f(x): return sin(x)/x<br>
 +
$f = Function(f)<br>
 +
<hr>
 +
También puede tratarse de funciones de dos variables:<br>
 +
<hr>
 +
def f(x, y): return x**2+y**2 - 5<br>
 +
<hr>
 +
Se caracterizan por la curva implícito como  atributo:<br>
 +
<hr>
 +
$f = Function(f)<br>
 +
$c = f.implicitcurve<br>
 +
<hr>
 +
Las funciones pueden establecerse a partir de inecuaciones de desigualdades:<br>
 +
def f(x, y): return x**2 > x + y<br>
 +
<hr>
 +
geo.f = Function(f)<br>
  
 
==Tortugas==
 
==Tortugas==
Las tortugas son objetos que se pueden mover y con los que se puede dibujar figuras en una ventana en la que se opera  (''a la '''Euclides'''''), geométricamente, tal como se puede apreciar en el lenguaje '''Logo'''.  
+
Las tortugas son objetos a desplazar para dibujar ''geométricamente'' en la ventana activa , tal como se puede apreciar en el lenguaje '''Logo'''.  
 
{{Example|1=Para crear una nueva tortuga, basta con indicar:
 
{{Example|1=Para crear una nueva tortuga, basta con indicar:
 
t = Turtle ()
 
t = Turtle ()
Línea 147: Línea 234:
 
     ** t.turn_left(72)
 
     ** t.turn_left(72)
 
   ______}}
 
   ______}}
Se puede apreciar el movimiento y los giros de una tortuga o optar por que la tortuga opere  instantáneamente, indicando:  '''t.speed = 0'''
+
Se puede apreciar el movimiento y los giros de una tortuga u optar por la operación instantánea de la tortuga, indicando:  '''t.speed = 0'''
  
 
Las tortugas, en tanto objetos funcionales, tienen los siguientes atributos:
 
Las tortugas, en tanto objetos funcionales, tienen los siguientes atributos:
Línea 158: Línea 245:
 
* speed: permite conocer o establecer la velocidad de animación de la tortuga - es un número decimal entre 0 y 1-. 0 significa velocidad instantánea, 0,01 es la más lenta y así, en escala decreciente de velocidad (el valor por omisión es 0,1)   
 
* speed: permite conocer o establecer la velocidad de animación de la tortuga - es un número decimal entre 0 y 1-. 0 significa velocidad instantánea, 0,01 es la más lenta y así, en escala decreciente de velocidad (el valor por omisión es 0,1)   
  
Las tortugas, en tanto objetos funcionales, operan con los siguientes métodos:
+
Operan con los siguientes métodos:
  
 
clear (): restablece la posición y el ángulo de la tortuga y se borra el dibujo.
 
clear (): restablece la posición y el ángulo de la tortuga y se borra el dibujo.
Línea 165: Línea 252:
 
*turn_right(angle): para  ''ordenarle'' girar a la derecha el número de grados del ángulo indicado;
 
*turn_right(angle): para  ''ordenarle'' girar a la derecha el número de grados del ángulo indicado;
 
*clear(): reinicializa, limpia todo trazo o diseño y ubica al la tortuga en la posición y orientación de partida para realizar trazados.
 
*clear(): reinicializa, limpia todo trazo o diseño y ubica al la tortuga en la posición y orientación de partida para realizar trazados.
 +
 +
__NOTOC__{{betamanual|version=5.0}}{{command|turtle|category| Comandos_de_Tortuga}}
 +
===Comandos de Tortuga===
 +
* [[Manual:Comandos de Tortuga|Tortugas]]
 +
* [[Manual:Comando Tortuga|Tortuga]]
 +
* [[Manual:Comando TortugaAvanza|TortugaAvanza]]
 +
* [[Manual:Comando TortugaRetrocede|TortugaRetrocede]]
 +
*[[Manual:Comando TortugaAbajo|TortugaAbajo]]
 +
*[[Manual:Comando TortugaArriba|TortugaArriba]]
 +
* [[Manual:Comando TortugaDerecha|TortugaDerecha]]
 +
* [[Manual:Comando TortugaIzquierda|TortugaIzquierda]]
 +
{{GGb5|<div>
 +
;Listado de [[:Categoría:Comandos|Comandos]] de [[Manual:Comando Tortuga|Tortuga]]<br>
 +
Esta categoría de [[:Categoría:Comandos|comandos]] incluye a los siguientes:<br><br>'''[[Manual:Comando Tortuga|Tortuga]]'''
 +
*'''Desplazamientos''':
 +
**[[Manual:Comando TortugaAvanza|TortugaAvanza]]
 +
**[[Manual:Comando TortugaRetrocede|TortugaRetrocede]]
 +
*'''Giro''':
 +
**[[Manual:Comando TortugaDerecha|TortugaDerecha]]
 +
**[[Manual:Comando TortugaIzquierda|TortugaIzquierda]]
 +
*'''Trazos''':
 +
**[[Manual:Comando TortugaAbajo|TortugaAbajo]]
 +
**[[Manual:Comando TortugaArriba|TortugaArriba]]</div>}}
 +
<small>
 +
{{Note|1=La convención tradicional emplea la metáfora de la ''pluma'' o el ''lápiz'' asociado a la '''''tortuga''''' activa en estado tal que al desplazarla deja trazo. Las indicaciones serían equivalentes a ''conpluma'' o ''bajapluma'' para reponer su trazado cuando previamente se hubiera establecido ''sinpluma'' o ''subepluma''.}}</small>
 +
 +
{{OJo|1=Respecto de las referencias, hay que tener en cuenta que si una primera tortuga hubiera sido creada, sería la denominada '''''tortuga1''''' y de allí en adelante, la asignación de nombres continuaría.<br>Cada '''''tortuga''''' aparece en el origen de coordenadas con una orientación de 0° y ''con pluma'' o ''lápiz'' hacia ''abajo'' de modo que al desplazarla deja rastro.}}
 +
 +
{{Idea|1=Es posible emplear el comando [[Comando Coordenadas|Coordenadas]].}}
 +
{{Example|1=<br>'''<code>[[Comando Coordenadas|Coordenadas]]'''('''tortuga1, 2, 3''')'''</code>''' ubica a la ''tortuga1'' en el punto (''2,3'').<br/> Su rumbo inicial no puede modificarse. El desplazamiento provoca el consecuente trazo a menos que se hubiera indicado antes [[Manual:Comando TortugaArriba|TortugaArriba]] sin reponer luego el estado usual vía comando '''TortugaAbajo'''.}}
  
 
==Intersecciones==
 
==Intersecciones==
Intersect(x, y) funciona por ahora, sólo cuando se trata de trazos de rectas o cónicas. También se puede utilizar para una lista de pares de números, para encontrar los puntos de intersección.
+
Intersect(x, y) funciona por ahora, solo cuando se trata de trazos de rectas o cónicas. También se puede utilizar para una lista de pares de números, para encontrar los puntos de intersección.
 
  l = Line((0, 1), (2, 2)) # una recta
 
  l = Line((0, 1), (2, 2)) # una recta
 
  c = Circle((0, 0), 3) # una circunferencia
 
  c = Circle((0, 0), 3) # una circunferencia
Línea 173: Línea 290:
  
 
Para controlar si existe una intersección `p`, puede emplearse `not p.infinite` (o `p.infinite` para probar si la intersección no existe). Vale tener en cuenta que `p.defined` no funciona porque GeoGebra se basa en la geometría proyectiva, en la que dos rectas siempre definen un punto de intersección.
 
Para controlar si existe una intersección `p`, puede emplearse `not p.infinite` (o `p.infinite` para probar si la intersección no existe). Vale tener en cuenta que `p.defined` no funciona porque GeoGebra se basa en la geometría proyectiva, en la que dos rectas siempre definen un punto de intersección.
 
 
== Acceso a Objetos Seleccionados==
 
== Acceso a Objetos Seleccionados==
 
La selección de objetos permite el acceso a la selección actual:  
 
La selección de objetos permite el acceso a la selección actual:  
Línea 184: Línea 300:
 
* selection.lines;
 
* selection.lines;
 
* selection.segments.
 
* selection.segments.
 
 
== Gestión de Eventos ==
 
== Gestión de Eventos ==
Se puede apelar a la sección de Eventos en la Ventana de Python para seleccionar un objeto y un evento y, a continuación escribir una secuencia de comandos - un guión o ''script'' - en el área del editor de texto. En estos casos, el destino del objeto  puede hacer referencia a sí mismo.  
+
Se puede apelar a la sección de Eventos en la Ventana de Python para seleccionar un objeto y un evento y, a continuación escribir una secuencia de comandos - un guion o ''script'' - en el área del editor de texto. En estos casos, el destino del objeto  puede hacer referencia a sí mismo.  
 
Por ejemplo, se puede escribir esta secuencia de comandos en el campo de ''Actualizaciòn'' de un  punto:
 
Por ejemplo, se puede escribir esta secuencia de comandos en el campo de ''Actualizaciòn'' de un  punto:
 
  if self.x < 0:
 
  if self.x < 0:
Línea 193: Línea 308:
 
     self.caption = "positive x"
 
     self.caption = "positive x"
 
Cuando el rótulo que se elige exponer del punto es el correspondiente al  sub-título, se apreciará que se registra la leyenda de los cambios del punto a medida que se lo desplaza de a ambos lados de los ejes de ordenadas.
 
Cuando el rótulo que se elige exponer del punto es el correspondiente al  sub-título, se apreciará que se registra la leyenda de los cambios del punto a medida que se lo desplaza de a ambos lados de los ejes de ordenadas.
Desde los guiones (''scripts'')  de eventos se tiene acceso a todas las variables definidas en el campo de ''guiones''' (''' ''Script'' ''' en Python) . Sin embargo, si se desea cambiar el valor de una variable, debe ser declarada como global - si no se crea como variable local dentro de la secuencia de comandos (''script'' o guión) de eventos.
+
Desde los guiones (''scripts'')  de eventos se tiene acceso a todas las variables definidas en el campo de ''guiones''' (''' ''Script'' ''' en Python) . Sin embargo, si se desea cambiar el valor de una variable, debe ser declarada como global - si no se crea como variable local dentro de la secuencia de comandos (''script'' o guion) de eventos.
 
   global score
 
   global score
 
   score += 1
 
   score += 1
Línea 206: Línea 321:
 
  pt.color = Color.BLUE
 
  pt.color = Color.BLUE
 
  geo.A.onclick = paint_blue
 
  geo.A.onclick = paint_blue
 
 
=== Métodos Especiales ===
 
=== Métodos Especiales ===
 
 
* answer = input(<question>) abre una caja de diálogo vacía y devuelve la cadena previa establece el rango de la respuesta;
 
* answer = input(<question>) abre una caja de diálogo vacía y devuelve la cadena previa establece el rango de la respuesta;
 
* - answer = input(<question>) abre una caja de diálogo  
 
* - answer = input(<question>) abre una caja de diálogo  
Línea 220: Línea 333:
 
** - r = 4
 
** - r = 4
 
** c: (x - 3)² + (y - 2)² = 16
 
** c: (x - 3)² + (y - 2)² = 16
 +
==Módulo Matemático==
 +
Desde el correspondiente módulo de Python (y/o desde sus [https://data-flair.training/blogs/python-libraries/ librerías]), en este caso el de matemática , como ''math.fabs()'', se pueden realizar numerosas operaciones.
 +
<small>como la de math.sqrt(2), o las de math import fabs, math.fabs(-2),math.fabs(5)</small>.
 
=== Acceso a la API de GeoGebra desde Python ===
 
=== Acceso a la API de GeoGebra desde Python ===
 
Para acceder a GgbAPI, basta con anteponer el prefijo de llamada a ggbApplet, (es decir, es la misma sintaxis que JavaScript)
 
Para acceder a GgbAPI, basta con anteponer el prefijo de llamada a ggbApplet, (es decir, es la misma sintaxis que JavaScript)
 
*  ggbApplet.evalCommand ("x ^ 2 + y ^ 2 = 4")
 
*  ggbApplet.evalCommand ("x ^ 2 + y ^ 2 = 4")
 
*  ggbApplet.startAnimation ()
 
*  ggbApplet.startAnimation ()
 +
[[Categoría:Referencia]]

Revisión actual del 20:43 12 ago 2020

Ventana Python

Pueden observarse al respecto estas presuntas alternativas en persistente desarrollo o en este mismo artículo, la sección correspondiente guiones Python y a Phyton para Todos para profundizar en ese lenguaje interpretado.

Vista Python

Muy recomendable la guía que - en inglés- desarrolla ampliamente el tema y ofrece descripciones y ejemplos.

Guiones Python en GeoGebra 4.2

La ventana de Python contiene tres paneles:

  • Interactivo

Aquí puede introducir expresiones de Python y ver de inmediato su efecto. Con las teclas Alt + Arriba / Alt + Abajo}} se puede navegar por la historia de comandos ingresados.

  • De Guiones

En que se puede escribir la secuencia de comandos a ser ejecutados al cargar el archivo. GGB. También puede ejecutarse el guion - script - desde aquí, en cualquier momento.

  • De Eventos. Aquí puede seleccionar un objeto y enlazar cualquier script de GeoGebra en Python de modo que para...
    • su ejecución basta un clic sobre el tema
    • se acceda a editarlo para cambiar su valor.
Ejemplo

En un guion - script -, el objeto asociado al evento pueden auto-referenciarse. Para pegar una demostración al respecto en el panel interactivo, basta con copiarla desde la página de la guía de Python en inglés.

geo.A = (1,2)
# Crear algunos puntos al azar
import random
xcoords = [random.uniform(-2, 5) for i in range(8)]
ycoords = [random.uniform(-2, 5) for i in range(8)]
points = [Point(x, y) for x, y in zip(xcoords, ycoords)]
# Enlace de todos a A
segments = [Segment(p, geo.A) for p in points]
# Definir una función para exponer solo el segmento más cortoa
def show_shortest(moved_point):
  for s in segments: s.visible = False
  shortest = min(segments, key=float)
  shortest.visible = True
# La llamada cada vez que A es modificada
geo.A.onupdate = show_shortest
# Ahora, ¡a desplazar A en la Vista Gráfica!

Nombres en Python y GeoGebra

Dado que tanto GeoGebra como Python operan con objetos que tienen nombres, es importante contar con un ágil acceso desde Python a GeoGebra sin confundir los de sendos tipos. Los objetos GeoGebra se pueden referir (y crear) en Python anteponiendo a su nombre el prefijo geo o $ . Así, si existiera un punto denominado A, exclusivamente se lo debe referir en Python como $A o geo.A. Todos los demás nombres no son accesibles desde Python. En tanto lo mencionado solo permite nombres en formato ASCII, puede ser útil, en otros idiomas, una sintaxis para acceder a nombres que excedan el código ASCII. {{Example|1=La siguiente escritura devuelve todo objeto GeoGebra llamado A.

$ A geo.A $ ['A'] También hay una sintaxis para modificar las celdas de una hoja de cálculo: $ ['B', 2] = 12 # Asigna el valor 12 a B2 $ [3, 1] = 42 # Asigna el valor 42 a C1 (A = 1, B = 2, ...) $ ["A", 1] = (2, 2) # Asignar el punto (2, 2) a A1 $ ["A", 1]. Color = # Color.RED # Cambia el color del punto.

Puntos y Vectores

  • Se pueden crear puntos y vectores por sus coordenadas

$A = Point(1, 2) $B = Point(-2, 3) $u = Vector(1, -1)

  • Incluso, crear un punto a partir de un vector...
    • $C = Point($u)

Viceversa, un vector a partir de un punto...

  • $r_A = Vector($A)

O con dos puntos...

  • $v = Vector($A, $B)
Entre Puntos y Vectores

Si A es un punto o un vector...

  • $A.x da por resultado su abscisa ($A.x)
  • $A.y su ordenada ($A.y)
  • $A.coords su par de coordenadas ($A.coords)
Nota: Siempre se trata de resultados dinámicos

Resultados Dinámicos

El resultado no es un número sino como una expresión cuyo valor se actualiza dinámicamente cuando el punto o el vector se desplazan.

  • Para obtener el valor actual, se debe apelar a A.x.value y a A.y.value. - valores de Ax y de Ay respectivamente-, atributos que también permiten asignar coordenadas a un punto y/o a un vector
    • $A.x = 3 ($A.x es la abscisa)
    • $B.coords = (-1, 2) ($B.coords son las coordenadas)
  • ... definen la abscisa de A como 3 y las coordenadas de B como (-1, 2) y para establecer puntos derivados de los precedentes. Así...
    • $C = Point(2*$A.x, 1+$B.y) ($A.x es la abscisa de A)
  • ... creando un punto C en que la abscisa es el doble del de A y la ordenada, una unidad por encima de la de B.

Atributos comunes a todos los elementos

Los siguientes atributos no se aplican solo a puntos y vectores sino a todos los de objetos de GeoGebra.

  • visible (booleana);
  • color (para definirlo, por ejemplo, se utiliza Color.Red o Color(0,5, 0,9, 0,8) (de forma idéntica a java.awt.Color);
  • label (etiqueta, una cadena);
  • label_color;
  • label_visible (booleana);
  • label_mode puede ser uno de las opciones, nombre, nombre y valor, valor, subtítulo
  • caption (sub-título, una cadena);
  • trace (booleana que si es verdadera, establecer que se deje rastro o huella).

Este guion o script crea un punto rojo con una leyenda negra que dice "Dar clic aquí"

  • $P = Point(3, 1) ($P es la referencia al punto P)
  • $P.color = Color.RED
  • $P.label_color = Color.BLACK
  • $P.label_mode = "caption"
  • $P.caption = "Dar clic aquí"

Los atributos pueden ser asignados directamente en la creación del objeto. La siguiente escritura tiene el mismo efecto que la anterior:

  • $P = Point(3, 1, color=Color.RED, label_color=Color.BLACK, label_mode='caption', caption="Dar clic aquí") (nuevamente, $P refiere al punto P)

Trayectos

Las líneas y los segmentos

Este script traza una recta que pasa por los puntos A y B

  • $l = Line($A, $B) (A y B se indican con el prefijo $)

Este, una recta, l1, que pasa por A y tiene la dirección del vector u

  • $l_1 = Line($A, $u) (A y u se indican con el prefijo $)

Pueden crearse también, semirrectas y segmentos

  • $r = Ray((1, 1), (2, 0)) (r se indica con el prefijo $)
  • $s = Segment((-3, 0), (2, 1)) (s se indica con el prefijo $)

Los segmentos tienen dos atributos, el nombre del punto inicial y el del final. Las rectas, segmentos y semirrectas tienen como atributo el nombre del vector que les determina la dirección.

Ejes

Dos objetos especiales, $xAxis y $yAxis que representan los dos ejes de coordenadas, con los que por el momento es limitado lo que puede llevarse adelante, tienen los siguientes atributos - visible : permite modificar la visibilidad de un eje. Este guion - script - oculta los dos ejes en la Vista Gráfica

$xAxis.visible = False

$yAxis.visible = False

Círculos Elipses Hipérbolas Parábolas

  • Este guion o script crea cuatro círculos de...
    • - C1 con centro en (1, 1) que pasa por el punto (3, 2)
    • - C2 que pasa por los puntos (0, 0), (4, 0), (4, 3)
    • - C3 con centro en A y radio BC
    • - C4 con centro en (-2, 0) y radio 3.
      • $C_1 = Circle((1, 1), (3, 2)) (C_1 se indica con el prefijo $)
      • $C_2 = Circle((0, 0), (4, 0), (4, 3)) (C_2 se indica con el prefijo $)
      • $C_3 = Circle($A, Segment($B, $C))
      • $C_4 = Circle((-2, 0), 3) (C_4 se indica con el prefijo $)
  • Este script crea dos elipses, dos hipérbolas y una parábola
    • E1 de focos (-2, 0), (2, 0) y longitud del semi-eje mayor igual a 3
    • E2 de focos (1, 1), (3, 1) que pasa por el punto (2, 2) ;
    • H1 de focos (-2, 0), (2, 0) y longitud del semi-eje mayor igual a 3;
    • H2 de focos (1, 1), (3, 1) que pasa por el punto (2, 2) ;
    • P de foco (0, 0) y recta directriz (AB).
      • $E_1 = Ellipse((-2, 0), (2, 0), 3) (E_1 se indica con el prefijo $)
      • $E_2 = Ellipse((1, 1), (3, 1), (2, 2)) (E_2 se indica con el prefijo $)
      • $H_1 = Hyperbola((-2, 0), (2, 0), 3) (H_1 se indica con el prefijo $)
      • $H_2 = Hyperbola((1, 1), (3, 1), (2, 2)) (H_2 se indica con el prefijo $)
      • $P = Parabola((0, 0), Line($A, $B)) (P se indica con el prefijo $)

Atributos de Recorridos

Todos los recorridos (rectos y curvos) tiene como atributos...

  • Grosor (valor numérico);
  • Tipo de Trazo (cadena que puede indicar una de las opciones de trazo pleno o de uno de los punteados como el de guion corto, de guion largo, puntos, punto-raya).

Polígonos y Poligonales

Para crear un polígono con vértices A, B y C se puede utilizar:

$ABC = Polygon($A, $B, $C)

o

$ABC = Polygon([$A, $B, $C])

Esta última escritura es más útil si se desea crear un polígono a partir de una lista arbitraria de puntos. Los polígonos tienen atributos:

  • boundary - perimetral: el perímetro del polígono como una poligonal;
  • points - puntos: una lista de Python de todos los vértices del polígono (que también puede obtenerse a través de la lista (poli));
  • area o value - el área o valor: el área del polígono;
  • edges - lados: una lista Python de todos los lados del polígono;
  • directed_area: el área con un signo (+ a la izquierda - a derecha);
  • len(poly) longitud del polígono, es decir el número de vértices.

El índice i de un vértice se puede obtener a través de poli [I]. Esto mismo vale para las poligonales excepto los atributos de los lados o del área o la directed_area. El atributo de su valor, devuelve la longitud total.

Listas - Textos - Funciones

Listas

Las listas de GeoGebra no se deben confundir con las listas de Python. Las listas pueden ser creadas de la siguiente manera: my_list = List(1, 2, 3) crea una lista GeoGebra ; python_list = [1, 2, 3] crea una lista Python.

La notación indicial se puede utilizar para obtener o eliminar un elemento en una posición dada:


print my_list[1] muestra el segundo elemento (el primero tiene índice 0);

del my_list [0], elimina el primer elemento.


Puede añadirse un elemento nuevo al final de una lista mediante el método append:

my_list.append(42)   

Es posible establecer un bucle o lazo sobre los elementos de una lista: for item in my_list print item + 10 Se puede convertir una lista GeoGebra en una de Python :

python_list = list(my_list)

Se pueden eliminar todos los elementos de una lista con el método de GeoGebra clear : my_list.clear()

Textos

Puede crearse un texto con la siguiente sintaxis: t = Text("¡Muy buenos días!") Los textos tienen los siguientes atributos:

  • origin - origen (un punto). Se puede conocer/leer o asignarse;
  • text - texto (la cadena del texto). Se puede leer o asignados;
  • latex (valor booleano): true si el texto debe aparecer en LaTeX y false en caso contrario.

Esta secuencia de comandos sitúa el origen del texto t en (2, 2) y establece "Abracadabra" como el texto a exponer: t.orgin.coords = (2, 2) t.text = "Abracadabra" Se le puede cambiar el punto de origen con la siguiente declaración: t.orgin = (3, 1) Pero a diferencia del anterior, en este caso, no se actualizan las coordenadas sino que se crea un Punto.

Origen Dinámico

Para situar el origen del texto t en el punto A -de modo que se desplazará cuando A se mueva-, basta con anotar: t.origin = $ $A

Más sobre LaTeX

Para mayores detalles sobre el trabajo con LaTeX conviene consultar


Notas:

Si bien los comandos más frecuentes de LaTeX en los contextos y textos de matemáticas operan adecuadamente en GeoGebra, para incluir un sub-conjunto más avanzado, en conveniente recurrir a prestaciones externas, adicionales.

Las Funciones en Ecuaciones e Inecuaciones

Funciones

Las funciones se pueden definir fácilmente en Python:


def f(x): return sin(x)/x
$f = Function(f)


También puede tratarse de funciones de dos variables:


def f(x, y): return x**2+y**2 - 5


Se caracterizan por la curva implícito como atributo:


$f = Function(f)
$c = f.implicitcurve


Las funciones pueden establecerse a partir de inecuaciones de desigualdades:
def f(x, y): return x**2 > x + y


geo.f = Function(f)

Tortugas

Las tortugas son objetos a desplazar para dibujar geométricamente en la ventana activa , tal como se puede apreciar en el lenguaje Logo.

Ejemplo: Para crear una nueva tortuga, basta con indicar: t = Turtle ()

Las tortugas pueden desplazarse y, lo que es mejor aún, pueden animarse mientras se controla y monitorea su movimiento. Se les puede ajustar la velocidad (como se explica más adelante).

Ejemplo: Un ejemplo sencillo para dibujar un pentágono regular con una tortuga se anota a continuación:
  * t.pen_color = Color.RED
  * for i in range(5):
   ** t.forward(2)
   ** t.turn_left(72)
______

Se puede apreciar el movimiento y los giros de una tortuga u optar por la operación instantánea de la tortuga, indicando: t.speed = 0

Las tortugas, en tanto objetos funcionales, tienen los siguientes atributos:

  • pen_color: permite conocer o establecer el color del lápiz con que dibuja su rastro la tortuga;
  • position: permite conocer o establecer la posición actual de la tortuga;
  • angle: permite conocer o establecer la dirección actual de la tortuga;
  • pen_thickness: permite conocer o establecer el ancho del trazo del lápiz de la tortuga;
  • running: permite - cuando se le asigna valor True - animar a la tortuga y detener su movimiento - cuando se le asigna valor False -;
  • speed: permite conocer o establecer la velocidad de animación de la tortuga - es un número decimal entre 0 y 1-. 0 significa velocidad instantánea, 0,01 es la más lenta y así, en escala decreciente de velocidad (el valor por omisión es 0,1)

Operan con los siguientes métodos:

clear (): restablece la posición y el ángulo de la tortuga y se borra el dibujo.

  • forward(distancia): para ordenarle avanzar las unidades de distancia indicadas. Lo que, a su vez, provoca el trazado de un segmento si la pluma del lápiz de la tortuga está activo (hacia abajo);
  • turn_left(ángulo): para ordenarle girar a la izquierda el número de grados del ángulo indicado;
  • turn_right(angle): para ordenarle girar a la derecha el número de grados del ángulo indicado;
  • clear(): reinicializa, limpia todo trazo o diseño y ubica al la tortuga en la posición y orientación de partida para realizar trazados.


Comandos de Tortuga

Listado de Comandos de Tortuga

Esta categoría de comandos incluye a los siguientes:

Tortuga

Nota: La convención tradicional emplea la metáfora de la pluma o el lápiz asociado a la tortuga activa en estado tal que al desplazarla deja trazo. Las indicaciones serían equivalentes a conpluma o bajapluma para reponer su trazado cuando previamente se hubiera establecido sinpluma o subepluma.
Bulbgraph.pngAtención: Respecto de las referencias, hay que tener en cuenta que si una primera tortuga hubiera sido creada, sería la denominada tortuga1 y de allí en adelante, la asignación de nombres continuaría.
Cada tortuga aparece en el origen de coordenadas con una orientación de 0° y con pluma o lápiz hacia abajo de modo que al desplazarla deja rastro.


Note Idea: Es posible emplear el comando Coordenadas.
Ejemplo:
Coordenadas(tortuga1, 2, 3) ubica a la tortuga1 en el punto (2,3).
Su rumbo inicial no puede modificarse. El desplazamiento provoca el consecuente trazo a menos que se hubiera indicado antes TortugaArriba sin reponer luego el estado usual vía comando TortugaAbajo.

Intersecciones

Intersect(x, y) funciona por ahora, solo cuando se trata de trazos de rectas o cónicas. También se puede utilizar para una lista de pares de números, para encontrar los puntos de intersección.

l = Line((0, 1), (2, 2)) # una recta
c = Circle((0, 0), 3) # una circunferencia
p, q = Intersect(l, c)

Para controlar si existe una intersección `p`, puede emplearse `not p.infinite` (o `p.infinite` para probar si la intersección no existe). Vale tener en cuenta que `p.defined` no funciona porque GeoGebra se basa en la geometría proyectiva, en la que dos rectas siempre definen un punto de intersección.

Acceso a Objetos Seleccionados

La selección de objetos permite el acceso a la selección actual: - selection.all devuelve la lista de todos los objetos seleccionados; - selection.filter (<tipo>) devuelve la lista de todos los objetos de cada tipo (<tipo>) indicado.

Cuando sea apropiado, también se pueden utilizar la siguiente sintaxis:

  • selection.points;
  • selection.vectors;
  • selection.lines;
  • selection.segments.

Gestión de Eventos

Se puede apelar a la sección de Eventos en la Ventana de Python para seleccionar un objeto y un evento y, a continuación escribir una secuencia de comandos - un guion o script - en el área del editor de texto. En estos casos, el destino del objeto puede hacer referencia a sí mismo. Por ejemplo, se puede escribir esta secuencia de comandos en el campo de Actualizaciòn de un punto:

if self.x < 0:
   		self.caption = "negative x"
else:
   		self.caption = "positive x"

Cuando el rótulo que se elige exponer del punto es el correspondiente al sub-título, se apreciará que se registra la leyenda de los cambios del punto a medida que se lo desplaza de a ambos lados de los ejes de ordenadas. Desde los guiones (scripts) de eventos se tiene acceso a todas las variables definidas en el campo de guiones (' Script en Python) . Sin embargo, si se desea cambiar el valor de una variable, debe ser declarada como global - si no se crea como variable local dentro de la secuencia de comandos (script o guion) de eventos.

 global score
 score += 1

También se puede agregar directamente controladores de eventos en la definición de los siguientes atributos de los objetos:

  • onupdate ;
  • onadd ;
  • onremove ;
  • onclick ;
  • onrename.

Los atributos pueden ser definidos por una función de un argumento (que es el objetivo del evento):

def paint_blue(pt):
pt.color = Color.BLUE
geo.A.onclick = paint_blue

Métodos Especiales

  • answer = input(<question>) abre una caja de diálogo vacía y devuelve la cadena previa establece el rango de la respuesta;
  • - answer = input(<question>) abre una caja de diálogo
  • - answer = input(<question>, <default answer>) similar a la anterior, excepto que la caja de diálogo muestra inicialmente la respuesta como salida por omisión;
  • alert(<texte>) muestra una ventana de mensaje que contiene el texto;
  • debug(<texte>) expone / depura el texto escrito, en la Consola de Java;
  • command(<texte>) evalúa un comando de GeoGebra y devuelve una lista de objetos.
  • - command("3x+2y=12") crea la recta: 2x + 3y = 12
  • - command('Circle', (x, y), r) crea la circunferencia con centro en el punto (3, 2), de radio 4
    • - x, y = 3, 2
    • - r = 4
    • c: (x - 3)² + (y - 2)² = 16

Módulo Matemático

Desde el correspondiente módulo de Python (y/o desde sus librerías), en este caso el de matemática , como math.fabs(), se pueden realizar numerosas operaciones. como la de math.sqrt(2), o las de math import fabs, math.fabs(-2),math.fabs(5).

Acceso a la API de GeoGebra desde Python

Para acceder a GgbAPI, basta con anteponer el prefijo de llamada a ggbApplet, (es decir, es la misma sintaxis que JavaScript)

  • ggbApplet.evalCommand ("x ^ 2 + y ^ 2 = 4")
  • ggbApplet.startAnimation ()
© 2024 International GeoGebra Institute