scena2
= display (title='Graf
hitrosti', width=600, height=200, center=(5,0,0), background=(0,0,1)) |
scena3.select() |
scene.foreground = (1,0,0) # barva tvorjenih objektov bo rdeca |
Atribut stereo predstavlja stereoskopsko možnost. Primer:
scene.stereo = 'redblue' |
V tem primeru bo tvorjena rdeča scena za levo oko in modra za desno. Tako sceno lahko opazujemo z rdeče-modrimi stereoskopskimi očali. Če uporabimo
scene.stereo = 'active' |
bi dobili izmenični sliki, primerni za stereoskopska očala "shutter glasses". Ukaz
scene.stereo = 'passive' |
Atribut stereodepth: Če damo temu atributu na primer vrednost 2 (privzeto je 1), dobimo občutek, da je scena povsem pred fizičnim zaslonom, kar drastično poveča stereoskopski učinek.
Atribut ambient pove količino neusmerjene, ambientne svetlobe. Privzeto je to enako 0.2. Poglej še druge atribute osvetljevanja.
Atribut lights: Seznam vektorjev, ki predstavljajo smeri od izvorov svetlobe. Magnituda vektorja pomeni jakost svetlobe. Primer:
scene.lights
= [vector(1,0,0)] scene.ambient = 0 |
V tem primeru bo scena osvetljena samo z desne strani. Ambientne svetlobe ne bo. Oba atribute moramo uporabljati previdno, saj lahko sceno tudi presvetlimo.
cursor.visible: s tem lahko naredimo, da je kurzor miške viden ali neviden.To je včasih uporabno, na primer če objekte "vlečemo" z miško".
objects: Seznam v oknu vidnih objektov. Nevidni objekti niso v tem seznamu. Primer, kako vse objekte tipa "box" v sceni pobarvamo rdeče:
for
obj in scene2.objects: if obj.__class__ == box # lahko pisemo box ali 'box' obj.color = color.red |
x, y : Položaj okna na zaslonu, merjeno v pikslih od zgornjega levega roba. Primer:
scene.y = 200 # okno bo 200 pikslov pod vrhom zaslona |
width, height : Širina in višina okna, podano v pikslih. Primer:
scene.height = 200 |
title: Besedilo, ki predstavlja naslov okna. Primer:
scene.title = 'Orbite planetov' |
visible: S tem atributom zgotovimo, da je okno z dano sceno vidno ali nevidno. Primer:
scena2.visible = 0 # okno scena2 bo nevidno |
fullscreen: S tem atributom zagotovimo, da je imenovana scena prikazana čez celoten zaslon. Iz tega režima izstopimo z gumbom Escape. Primer uporabe:
scena2.fullscreen = 1 # Scena2 bo prikazana cez cel zaslon |
exit: Če je "scena2.exit = 0", se program ne zaključi, ko okno zapremo. Normalno, privzeto velja "scena2.exit = 1" in z zaprtjem okna zaključimo tudi program.
center: To je točka, v katero gleda kamera. Ta točka se ne spreminja, četudi spreminjamo položaj kamere. Če spremenimo "scene.center", bo kamera gledala v novo točko, razen če spremenimo "scene.forward" (ta atribut je opisan malo naprej). Privzeti center pogleda je (0,0,0).
autocenter: Pogled, torej "scene.center" je stalno osveževan glede na središče najmanjše kocke (box), poravnane z osmi in ki vsebuje sceno. Drugače rečeno: Če program premika celotno sceno, bo središče te scene stalno v središču okna.
forward: to je vektor, ki kaže v isto smer, v katero gleda kamera, torej od trenutne lokacije kamere (ki jo podaja " scene.mouse.camera") proti središču scene ("scene.center"). Če spremenimo vektor "forward", se spremeni položaj kamere tako, da še vedno gleda v središče scene. Privzeta vrednost je (0,0,-1).
fov: Ime tega atributa pomeni "Field of view" oziroma zorni kot kamere. Podan je v radianih. Definiran je z maksimalno vrednostjo vodoravnega in navpiočnega zornega kota. Privzeto vrednost ima pi/3.0 radianov (60 stopinj).
range: Območje našega zanimanja za sceno vzdolž posameznih osi. To je vedno enako "1.0/scale", kar pomeni, da sta ta dva atributa soodvisna. Spreminjamo enega ali drugega. Pvivzeto velja (10,10,10).
scale: Skalirni faktor, ki umeri območje zanimanja v kroglo enote (kroglo s polmerom 1). Privzeta vrednost je (0.1,0.1,0.1).
uniform: Pove, kako so umerjane posamezne osi.
scene.uniform
= 0 # Posamezne osi
imajo razlicne, neodvisne enote skaliranja scene.uniform = 1 # vse osi imajo enake enot (privzeto je scene.uniform = 1) |
up: Vektor, ki predstavlja v sceni smer navzgor. Ta vektor bi na zaslon vedno projiciral navpično črto. Kamera se vedno vrti okoli te osi. Privzeto je vektor "up" poravnan z osjo y.
Med vektorjema "up" in "forward" obstaja soodvisnost. Privzeto kaže kamera v smeri -z (0,0,-1). V tem primeru lahko za vektor "up" deklariramo os x ali y, ne pa osi z.Če naj bi navzgor kazala os z, moramo najprej nastaviti "forward" na kaj drugega (na primer na (1,0,0)).
autoscale: s tem atributom vklopimo ali izklopimo avtomatsko skaliranje. Privzeto velja "scene.autoscale = 1".
userzoom: s tem atributom vklopimo ali izklopimo možnost, da uporabnik sliko povečuje ali zmanjšuje. Privzeto je ta atribut enak 1. Primer:
scene.userzoom = 0 # uporabnik slike ne more povecevati |
userspin: Če je ta atribut enak 0, uporabnik scene ne more vrteti. Privzeto je ta atribut enak 1.