Un attributo contiene un valore caratteristico per un certo oggetto
- viene sempre assegnato un valore di default
- si può assegnare un valore quando si richiama il costruttore
s = sphere(radius = 1)
- si può aggiornare in qualsiasi momento (l’oggetto sarà immediatamente aggiornato nella scena)
s.radius = 1.5
- si possono assegnare valori per attributi che non esistono (definiti dall’utente)
s.sapore = ”acido”
Tutti gli oggetti hanno degli attributi: ball.pos, ball.color, ball.radius, …
Se aggiorni il valore di un attributo di un oggetto, come per esempio la sua posizione o il suo colore, vpython automaticamente visualizzerà l’oggetto alla nuova posizione oppure con il nuovo colore.
I valori degli attributi si possono impostare nel costruttore (il codice utilizzato per creare l’oggetto) e si possono modificare successivamente
ball = sphere(radius = 2)
...
ball.radius = 2.2
In aggiunta agli attributi già presenti è possibile crearne di nuovi (sia immediatamente che successivamente).
Attributo | arrow | box | cone | cylinder | helix | ellipsoid | pyramid | ring | sphere |
---|---|---|---|---|---|---|---|---|---|
axis |
|
|
|
| <1,0,0> | <1,0,0> | <1,0,0> | <1,0,0> | <1,0,0> |
coils | 5 | ||||||||
color | <1,1,1> | <1,1,1> | <1,1,1> |
| <1,1,1> | <1,1,1> | <1,1,1> | <1,1,1> | <1,1,1> |
emissive | False | False | False | False | False | False | False | False | False |
height | 0.2 | 1.0 | 2.0 | 1.0 | 2.2 | ||||
length | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 0.2 | 2.0 |
opacity | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
pos | <0,0,0> | <0,0,0> | <0,0,0> | <0,0,0> | <0,0,0> | <0,0,0> | <0,0,0> | <0,0,0> | <0,0,0> |
radius | 1.0 | 1.0 | 1.0 | 0.5 | 1.0 | 1.0 | |||
shininess | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 |
size | <1,0.2,0.2> | <1,1,1> | <1,2,2> | <1,2,2> | <1,2,2> | <1,1,1> | <1,1,1> | <0.2,2.2,2.2> | <2,2,2> |
thickness | 0.05 | 0.1 | |||||||
up | <0,1,0> | <0,1,0> | <0,1,0> | <0,1,0> | <0,1,0> | <0,1,0> | <0,1,0> | <0,1,0> | <0,1,0> |
visible | True | True | True | True | True | True | True | True | True |
width | 0.2 | 1.0 | 1.0 | 2.2 |
Osserva
- alcuni attributi sono comuni a tutti gli oggetti grafici
- axis, pos, up
- color, emissive, opacity, shininess, visible
- alcuni attributi sono specifici…
- l’attributo
pos
ha due significati- il centro: box, sphere, ring
- una base: arrow, cone, cylinder, helix, pyramid
- l’attributo
thickness
ha due valori diversi di default- helix:
radius/20
- ring:
radius/10
- helix:
- l’attributo
size
specifica le dimensioni nelle tre direzioni, si possono impostare per deformare a piacere ellipsoid e ring - attributi addizionali: canvas, texture