Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki
Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki
Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki
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