points()

Gli attributi sono pochi (rispetto agli altri oggetti) color = <1, 1, 1> color.x = 1 color.y = 1 color.z = 1 emissive = False npoints = 0 opacity = 1.0 pos = [] radius size_units=”pixels”: 2.5 size_units=”world”: 0.5 retain = -1 shininess = 0.6 visible = True Osserva … … … Metodi L’attributo pos … Leggi tutto

vector()

Il vettore è un oggetto che non può essere visualizzato ma che è presente in tutti gli oggetti 3d (pos, axis, …) I vettori possono essere utilizzati come attributi aggiuntivi degli oggetti (velocità, …) v = vector(a, b, c) oggetto.velocità = v Se crei un vettore di nome v puoi fare riferimento alle sue componenti … Leggi tutto

Scia di un oggetto

Per evidenziare la traiettoria di oggetti in movimento come arrow, box, cone, cylinder, ellipsoid, pyramid, ring e sphere si può aggiungere una scia. trail Assegna un valore agli attributi specifici dell’oggetto make_trail False, l’oggetto smette di lasciare la scia (se è presente alla creazione inizia il movimento senza scia…) True, l’oggetto inizia a lasciare la scia trail_type … Leggi tutto

Colori

Gli oggetti 3D hanno 2 proprietà con le quali si possono impostare il colore e l’opacità/trasparenza. color Nel sistema di colore RGB un colore si specifica come terna RGB (red, green, blue) con la quale si specifica quanto sono accesi i punti colorati corrispondenti dello schermo Il colore bianco corrisponde alla massima intensità per i … Leggi tutto

box()

Attributi con valori di default axis = vector(1, 0, 0) canvas = … color = vector(1,1,1) color.x=1 color.y=1 color.z=1 emissive = False height = 1 length = 1 material = … opacity = 1 pos = vector(0, 0, 0) pos.x=0 pos.y=0 pos.z=0 shininess = 0.6 size = vector(1, 1, 1) up = vector(0,1,0) width = 1 Osserva pos, il centro del parallelepipedo … Leggi tutto

ring()

Attributi e valori di default axis = <1, 0, 0> color = <1, 1, 1> color.red = 1 color.green = 1 color.blue = 1 emissive = False height = 2.2 length = 0.2 opacity = 1 pos = <0, 0, 0> pos.x = 0 pos.y = 0 pos.z = 0 radius = 1 shininess = … Leggi tutto

Attributi

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 costruttores=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” Attributo arrow box cone cylinder … Leggi tutto

Velocità dell’animazione

Un’animazione deve contenere un’istruzione rate() oppure sleep() la scena 3D viene aggiornata più volte al secondo (altrimenti verrebbe aggiornata solo alla fine dei calcoli) si rallenta l’esecuzione nel caso di calcoli/animazioni troppo veloci si gestiscono gli eventi della tastiera e del mouse si può intervenire con zoom e rotazione rate() Con RATE=50 … while(…): rate(RATE) … Leggi tutto

Funzioni matematiche

L’inclusione del modulo vpython permette l’accesso alle seguenti funzioni matematiche ma… L’inclusione del modulo random confligge con la funzione random() La funzione combin(x, y) ottimizza il calcolo del coefficiente binomiale (semplifica prima di moltiplicare…) La funzione sign(x) non è implementata abs(x), valore assoluto acos(x), arcocoseno asin(x), arcoseno atan(x), arcotangente atan2(y,x), angolo la cui tangente è … Leggi tutto

Simply 3D Programming Using VPython

Vedi: https://www.glowscript.org/docs/VPythonDocs/VisualIntro.html Getting started Per scrivere un programma vpython tramite l’IDLE di Python (o qualsiasi altro IDE) è sufficiente importare il modulo corrispondente from vpython import * Canvas Gli oggetti 3D di vpython vengono visualizzati all’interno di una finestra grafica, canvas, immersa in una pagina web Il punto (0,0,0) è al centro della finestra L’asse … Leggi tutto