Capítol 5. Crear scripts

El Kig permet crear tipus d'objectes personalitzats utilitzant el llenguatge Python per a crear scripts. Aquesta és una característica molt avançada, i només coneixem un altre programa de geometria interactiva que tingui una funció similar (el programa Dr.Geo del GNOME).

La creació de scripts en Python en el Kig bàsicament us permetrà crear els vostres propis objectes a partir d'altres objectes pare. Per exemple, si sou un professor de matemàtiques, i disposeu d'un mètode atractiu de calcular algun punt interessant d'una cònica, en lloc d'embolicar-vos amb construccions complexes i macros, podríeu escriure en el codi Python com s'ha de calcular el punt i llavors el Kig el mostrarà.

Suposem que no esteu al cas de la integració en el Kig del tipus «Punt mitjà», i que voleu utilitzar el punt mitjà de dos punts donats. Aleshores cal que feu clic al botó   Script en Python de la barra d'eines, o bé que seleccioneu l'element de menú ObjectesAltresScript en Python de la barra de menús. Se us presentarà un assistent que us permetrà procedir.

L'assistent objecte de script

El primer que heu de fer és seleccionar els arguments per a l'objecte de script. En el nostre exemple, això són els dos punts dels quals volem mostrar el punt mitjà. Seleccioneu-los a la finestra principal del Kig i feu clic al botó Següent per a continuar.

Ara teniu un quadre d'edició per a editar text on podeu introduir el codi del vostre objecte de script. Hi trobareu una mica de codi i alguns comentaris. És important que us assegureu que el vostre codi és codi en Python vàlid. Els qui estiguin familiaritzats amb el Python notaran que en aquest moment estem definint una funció de Python anomenada calc. Per tant, és necessari que recordem les normes de Python a l'hora de definir funcions. Per exemple, cada línia de la funció haurà de començar amb una tabulació. La primera línia que no comenci amb una tabulació determinarà el final de la definició de la funció.

La funció de Python que volem definir s'anomena calc, i en el nostre cas accepta dos arguments. Aquests són els dos objectes que heu seleccionat a la pantalla anterior. Necessiteu tants arguments com objectes hàgiu seleccionat. S'anomenen arg1 i arg2, però, si ho desitgeu, en podeu canviar els noms per altres més significatius.

A la funció, podeu fer tota mena de càlculs que considereu necessaris, utilitzant els dos arguments sempre que calgui. Al final haureu de retornar l'objecte que voleu definir. En el nostre cas, això és un objecte Point. Els dos arguments també són objectes Point i podem utilitzar la funció Point.coordinate() per a definir les coordenades dels dos punts donats.

Els càlculs necessaris en el nostre exemple són molt senzills. Només cal sumar els dos conjunts de coordenades i dividir-ho per dos. Després construïm un nou punt utilitzant el resultat. El codi en Python que es necessita és:

def calc( a, b ):
    m = ( a.coordinate() + b.coordinate() ) / 2;
    return Point( m )
Escriure el codi per al punt mitjà a l'assistent objecte de script.

Si ara feu clic al botó Acaba, el nou objecte apareixerà al document del Kig. Si moveu un dels punts, el nou punt també es mourà. D'aquesta manera es poden integrar objectes més potents, se us anima a intentar-ho.

El nou objecte de script construït.

Tots els objectes del Kig es poden utilitzar en el codi en Python. Com hem vist anteriorment, els punts són de la classe Point, i podeu utilitzar, p. ex., el mètode Point.coordinate(). També podeu retornar tota mena d'objectes, no només objectes Point. Moltes altres classes i mètodes estan disponibles en el codi en Python del Kig, i en teniu una referència més completa a la pàgina web del Kig.