Disponibilità: IRIX.
Questo modulo fornisce l'accesso alla libreria grafica Silicon Graphics. Il modulo è disponibile solo su macchine Silicon Graphics.
In alcuni casi, chiamare in modo improprio le funzioni della libreria GL manda in crash l'interprete Python. In particolare, l'uso di molte chiamate a funzioni GL non è sicuro prima di aprire la prima finestra.
Questo modulo è troppo grande per essere interamente documentato in questa sezione, ma quanto segue dovrebbe essere di aiuto per cominciare ad usarlo. Le convenzioni sui parametri delle funzioni C vengono trasformate in Python come segue:
winopen('Ciao, voialtri!')
e rotate(900, 'z')
.
lmdef(deftype, index, np, props)
diventa in Python
lmdef(deftype, index, props)
getmcolor(i, &red, &green, &blue)
diventa, in python:
red, green, blue = getmcolor(i)
Le seguenti funzioni non sono standard o hanno speciali convenzioni per i loro argomenti:
argument) |
v3d()
,
ma più veloce. L'argomento è una lista (o una tupla) di
punti. Ciascun punto deve essere una tupla di coordinate
(x, y, z)
oppure (x, y)
.
I punti possono essere bidimensionali o tridimensionali, ma tutti
delle stesse dimensioni. I valori in virgola mobile e gli interi
possono essere usati insieme. I punti vengono sempre convertiti in
punti tridimensionali a doppia precisione assumendo, quando serva, che
z = 0.0
(come indicato dalla pagina di manuale ); quindi
la funzione
v3d()
viene chiamata per ciascun punto.
) |
n3f
e
v3f
,
ma più veloce. L'argomento è una array (lista o tupla) di coppie di
vettori normali e punti. Ciascuna coppia è una tupla composta di un
punto e un vettore normale per quel punto. Ciascun punto o vettore va
espresso come tupla di coordinate (x, y, z)
.
È obbligatorio dare tre coordinate. Valori interi ed in virgola
mobile possono essere mescolati. Per ciascuna coppia, viene chiamata
la funzione
n3f()
per il vettore normale e quindi
v3f()
per il punto.
) |
nvarray()
,
ma ogni coppia deve avere come primo elemento il punto e come secondo
il vettore normale (NdT: al contrario della funzione precedente).
s_k, t_k, ctl, s_ord, t_ord, type) |
ctl[][]
vengono calcolate come segue:
[len(s_k) - s_ord]
,
[len(t_k) - t_ord]
.
knots, ctlpoints, order, type) |
len(knots) - order
.
points, type) |
N_ST
.
n) |
n) |
) |
) |
Quello che segue è un piccolo ma completo esempio di programma Python che usa la Graphic Library:
import gl, GL, time def main(): gl.foreground() gl.prefposition(500, 900, 500, 900) w = gl.winopen('CrissCross') gl.ortho2(0.0, 400.0, 0.0, 400.0) gl.color(GL.WHITE) gl.clear() gl.color(GL.RED) gl.bgnline() gl.v2f(0.0, 0.0) gl.v2f(400.0, 400.0) gl.endline() gl.bgnline() gl.v2f(400.0, 0.0) gl.v2f(0.0, 400.0) gl.endline() time.sleep(5) main()
Vedete anche:
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.