Temat 12: Polecenie blob parametry i zastosowanie do tworzenia obiektów. Użycie polecenia blob (kropla) jest wygodnym sposobem tworzenia gładkiego przejścia pomiędzy bryłami (kulami lub walcami). Możemy znaleźć wiele ciekawych zastosowań dla użycia tej funkcji. Ćwiczenie 072 Wpisz poniższy kod i zrenderuj scenę: Dla każdej kuli użyliśmy innego koloru, aby lepiej zaobserwować działanie funkcji blob. W poleceniu blob wpisaliśmy najpierw parametr threshold (próg) odpowiedzialny za gładkość przejścia między obiektami, a następnie umieściliśmy dwie kule o jednakowych promieniach (1.5). Za promieniem, a przed podaniem koloru lub tekstury kuli wpisany jest parametr strength czyli intensywność. Wzór kuli ma zatem postać: sphere { środek promień, strength kolor } Dla walca odpowiednio będziemy stosować zapis: cylinder { środek1 środek2 promień, strength kolor } Grafika 3D program POV-Ray - 94 -
Do naszego kodu dopiszmy jeszcze dwie linijki: Powoduje to wyświetlenie półprzezroczystych kul tak, jak wyglądałyby bez zastosowaniu funkcji blob. Ćwiczenie 073 W kodzie z poprzedniego ćwiczenia zmień wartość progu (threshold) z wartości 0.9 kolejno na wartości: 0.001, 0.2, 0.6, 1.0, 1.2 i 1.5. Zaobserwuj różnice: threshold 0.001 threshold 0.2 threshold 0.6 threshold 1.0 threshold 1.2 threshold 1.5 Jak widać przy minimalnej wartości progu obie kule zajmują całą swoją pierwotną objętość i maleją (przy coraz gładszym przejściu) wraz ze wzrostem progu (przy większych wartościach mogą nawet zniknąć). Grafika 3D program POV-Ray - 95 -
Ćwiczenie 074 Zobaczmy teraz, jakie skutki przyniesie zmiana parametru intensywności. Dla kuli niebieskiej zmienimy intensywność na 1 oraz na 15: Można zauważyć, że zwiększanie intensywności (strength) daje taki sam efekt, jak zmniejszanie progu (threshold). Gdybyśmy w naszym kodzie dwukrotnie zmniejszyli wartość parametru threshold (z 0.9 na 0.45), to otrzymamy dokładnie taki sam efekt, jak przy dwukrotnym zwiększeniu intensywności dla obu kul (czerwonej z 3 do 6, a niebieskiej z 2 do 4). Grafika 3D program POV-Ray - 96 -
Ćwiczenie 075 Oczywiście funkcją blob możemy objąć więcej niż dwa obiekty, jeśli tylko leżą one wystarczająco blisko siebie. Wpisz poniższy kod i zrenderuj scenę: Ćwiczenie 076 Jeśli wartość intensywności (strength) będzie ujemna, to dany obiekt zostanie odjęty (z odpowiednią siłą) od obiektów z intensywnością dodatnią: Grafika 3D program POV-Ray - 97 -
Ćwiczenie 077 W tym ćwiczeniu sprawdzimy, jak działa funkcja blob na walec i kulę: Dopiszmy jeszcze dwie linijki kodu, aby zobaczyć, jak wyglądałyby nasze bryły bez użycia funkcji blob: Grafika 3D program POV-Ray - 98 -
Ćwiczenie 078 Utwórz poniższą scenę (model cząsteczki wody). Utwórz film przy ustawieniach jak w ćwiczeniu 047: Grafika 3D program POV-Ray - 99 -
Ćwiczenie 079 Połączmy funkcją blob dwa walce. Wpisz poniższy kod i zrenderuj scenę: Wiele innych ciekawych przykładów możesz znaleźć w Internecie. Grafika 3D program POV-Ray - 100 -
Ćwiczenie 080 Postaramy się utworzyć model fragmentu łańcucha rowerowego. Rozpoczynamy od sceny łączącej funkcją blob dwa równoległe walce: Wycinamy płaski fragment jako część wspólną z graniastosłupem: Grafika 3D program POV-Ray - 101 -
Odejmując dwa walce wycinamy otwory: Dodajemy drugą blaszkę i dwa bolce (walce): Ogniwo_1 odsunęliśmy ze środka, aby mieć miejsce do utworzenia ogniwa_2. Grafika 3D program POV-Ray - 102 -
Tworzymy drugie ogniwo: Wystarczy usunąć operację przesunięcia ogniwa_1 i zmienić ustawienia kamery aby zobaczyć połączone dwa kolejne ogniwa naszego łańcucha: Oczywiście z wygenerowanych ogniw możemy zbudować cały łańcuch. Grafika 3D program POV-Ray - 103 -
Ćwiczenie 081 W ćwiczeniu tym zbudujemy coś na kształt śmigła z wieloma łopatkami: Środek naszego śmigła powstał poprzez wyciągnięcie (przeskalowanie) kuli w kierunku osi Y. Łopatka powstała z walca, który najpierw spłaszczyliśmy w kierunku osi Y, następnie obróciliśmy o 30 stopni wokół osi X, po czym odsunęliśmy od środka kuli 0 1.25. Zastosowanie funkcji blob daje pożądany efekt. Jeśli łopatkę obrócimy ośmiokrotnie wokół osi Y o wielokrotności 45 stopni, to otrzymamy śmigło: Grafika 3D program POV-Ray - 104 -
Zmieńmy położenie kamery, aby nasz obiekt był lepiej widoczny: Aby wprawić śmigło w ruch należy je obracać wokół osi Y. Zmień nieco kod dodając obrót w zależności od czasu i utwórz film (wygeneruj 15 klatek, po czym ostatnią usuń jest taka sama jak pierwsza): Zauważ, że wygenerowaliśmy obrót o 45 stopni, gdyż dalej powtarzane są te same ujęcia, ze względu na symetrię śmigła. Grafika 3D program POV-Ray - 105 -