Med bolj zanimivimi knjižnicami Pythona je knjižnica Vpython za 3D
računalniško grafiko in animacije ipd. Ne pozabimo, da je Python
objektno usmerjen jezik. Posamezni gradniki 3D scene so objekti, ki jim
z atributi določimo njihove lastnosti, kot so lega, velikost, barva in
podobno.
Oglejmo si kratek program, ki predstavlja sceno z rumeno kroglo in
kvader modre barve:
from visual import * #uvozimo knjiznico Vpython |
![]() |
To sliko dobimo, če ta program
shranimo (uvodniPrimer.pyw)
in poženemo,.
Pred nami je 3D scena, s katero lahko interaktiramo: Če hkrati držimo desni mišji gumb in vlečemo miško, s tem vrtimo prokazano sceno. Če hkrati držimo sredni mišji gumb in vlečemo z miško, se sceni približujemo (slika se veča) ali oddaljujemo (predmeti se manjšajo) |
![]() |
Nekaj malega o 3D svetu in o
prikazovalnem oknu, v katerem gledamo ta
svet. Središče sveta s koordinatami (0,0,0) je v središču
prikazovalnega okna .
Os +x teče v desno, os +y poteka navzgor, os +z kaže ven iz ekrana, proti nam. Koordinate x, y, in z merimo v poljubnih enotah in jih prikazovalno okno avtomatsko umeri. |
Grafični objekti, ki jih lahko tvorimo, so krogle,
kvadri, krivulje. Objekti ostajajo del scene ves čas teka programa. Če
pa jim želimo spreminjati lastnosti, jim moramo dati neka imena (na
primer rdeciKvader ali zelenaZoga). Vsi objekti imajo atribute, kot na
primer krogla.pos,
krogla.color in krogla.radius (položaj , barva in polmer krogle
ali kateri drugi parametri velikosti. Če katerega takih atributov
spremenimo, bo Vpython takoj prikazal objekte s spremenjenimi
lastnostmi.
Vrednosti atributov lahko nastavljamo tudi v konstruktorjih, to je v
metodah, s katerimi tvorimo objekte. Ali pa atribute kasneje
spreminjamo. Na primer tako:
zelenaKrogla.radius = 2.2 |
Poleg vgrajenih atributov lahko tvorimo tudi nove.
Tako morda želimo narediti kroglo z imenom "mesec", kot atribut pa ji
želimo dadati maso in vztrajnostni moment.
Preskusi ta program in ga spreminjaj. Spreminjaj dimenzije in barvo
obeh prikazanih teles. Dodaj še kakšno kroglo itd.
Vsi objekti Visual Python niso vidni. Vpython
omogoča tvorbo 3D vektorskih (torej usmerjenih) veličin in izvedbo
vektorskih operacij nad njimi. Če na primer tvorimo vektor z imenom a, ima le ta komponente a.x, a.y, in a.z. Pri
seštevanju dveh vektorjev a in b ni potrebno, da seštevamo posamične
komponente.
To opravi za nas kar Vpython:
a = vector(1.,2.,3.) |
Če sedaj izpišemo c , vidimo, da je to vektor s komponentami (5.,7.,9.).
Več o tem, kateri objekti so na voljo, kakšne atribute imajo, kakšne so njihove privzete nastavitve, spoznamo v Vpythonovem elektronskem učbeniku na vpython.org.