22.11.2014 Views

Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki

Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki

Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Rysunek 20: Scena renderowana z użyciem opcji passive. Przyglądając się nieco dokładniej niniejszej ilustracji<br />

zauważymy, iż obraz jest renderowany z dwóch różnych ustawień kamery (analogicznie do pary oczu).<br />

ambient – ilość światła niekierunkowego (otaczającego).Wartością domyślną jest 0.2.<br />

lights – lista wektorów reprezentujących kierunek światła głównego. Jego parametrem<br />

charakteryzującym jest natężenie. I tak na przykład scene.lights = [vector(1,0,0)] wraz z<br />

parametrem scene.ambient = 0 sprawi, że światło będzie padało tylko z prawej strony<br />

ponieważ wartość światła padającego z innych kierunków niż główny wynosi 0, zatem<br />

parametr scene.ambient odnosi się do światła otaczającego. Domyślnie ustawiane są dwa<br />

światła, pierwsze w punkcie (0.17, 0.35, 0.70), którego jasność (magnitude) wynosi 0.8,<br />

oraz drugie (-0.26, -0.07, -0.13), magnitude 0.3. Atrybuty światła głównego i światła<br />

otacającego muszą by odpowiednio dobrane, ponieważ całkowita intensywność światła w<br />

dowolnym miejscu sceny musi wynosić 1.W przeciwnym wypadku otrzymamy scenę<br />

niedoświetloną lub oświetloną światłem o zbyt dużym natężeniu.<br />

cursor.visible – ustawienie tego parametru pozwala na wyłączenie widoczności kursora myszy<br />

scene.cursor.visible = 0. Ta opcja jest często stosowana podczas przesuwania i obracania<br />

obiektów lub w przypadku gdy kursor myszy w danej scenie po prostu staje się<br />

zbyteczny. Przywrócenie widoczności kursora następuje po wydaniu polecenia<br />

scene.cursor.visible = 1.<br />

objects – lista obiektów w danym oknie 3D posiadających atrybut visible. Obiekty nie posiadające<br />

możliwości wizualizacji nie wchodzą w skład tej listy. Lista taka pozwala kontrolować<br />

atrybuty danej grupy obiektów. Poniższy fragment skryptu pozwala na zmianę parametru<br />

koloru wszystkich kul znajdujących się w danej scenie.<br />

for obj in sceneB.objects:<br />

if obj.__class__ == sphere # możemy pisać sphere lub 'sphere'<br />

obj.color = (1.0,1.0,0.0)<br />

29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!