povray 21


Pov-Ray część 21
ver. 1.5
Skoro potrafimy tworzyć tak zaawansowane obrazy uzupełnijmy naszą wiedzę odnośnie tworzenia
nieba. Dzięki poleceniu sky_sphere możemy stworzyć każdy rodzaj nieba: pokryte chmurami, nocne
rozgwieżdżone czy dowolnie inne.
Zaćmienie słońca
Stworzymy niebo składające się z dwóch kolorów (zachód słońca). Wykorzystamy do tego poleceni
sky_sphere. Możesz zauważyć zmiany na niebie w zależności od punktu widzenia, jeśli spojrzymy prosto do
góry, uzyskamy kolor bardziej "niebieski", inaczej Niżna linii horyzontu.
Interesującą częścią jest składnia nieba (sky sphere). Zawiera ona sekcję pigment opisującą jego wygląd.
Zależy nam na stworzeniu koloru gradientowego wzdłuż kąta widzenia mierzonego do normalnej do
powierzchni.
Transformacje skalowania i translacji są używane, aby przygotować punkty wywodzące się ze zwrotu wektora
w odpowiednim kierunku. Bez tych przekształceń wzorzec byłby na niebie powtórzony dwukrotnie.
Skalowanie jest konieczne, aby zapobiec powtórce, natomiast translacja przesuwa kolor do indeksu 0 na dół
nieba (to ten punkt nieba, który zobaczysz gdy spojrzysz na wprost do dołu - jakby z drugiej strony kuli
Ziemskiej).
Po przekształceniach, kolor wejściowy na pozycji 0 będzie na dole nieba, pod nami, a kolor na pozycji 1 będzie
na górze, nad nami.
Kolory dla pozostałych punktów są interpolowane między tymi dwoma kolorami.
A jak zamienić w POV-Ray'u wartość kątową na indeksowaną mapę kolorów? Popatrzmy:
W scenie użyto gradientu koloru, który zaczyna się kolorem czerwonym na 30 stopniach i przechodzi w kolor
niebieski na 120 stopniach. Poniżej 30 stopni wszystko jest czerwone, podczas gdy powyżej 120 stopni
wszystko jest niebieskie.
Opracowanie kursu mgr Jarosław Teodorczuk
1
veljarek@poczta.gazeta.pl
Dodawanie Słońca
W poniższym przykładzie stworzymy niebo i czerwone słońce otoczone kolorem czerwonym przechodzącym w
ciemny niebieski.
Dla podwyższenia realizmu dodamy teraz zieloną płaszczyznę - symbolizującą zieloną łąkę...
#include"colors.inc"
camera {
location <0, 1, -10>
look_at <0, 5, 0> }
light_source { <10, 10, -9> White }
sphere { <0,2,0> 1
pigment { color White }
finish { reflection 0.6 } }
sky_sphere {
pigment {
gradient y
color_map {
[0.000 0.002 color rgb <1.0, 0.2, 0.0>
color rgb <1.0, 0.2, 0.0>]
[0.002 0.200 color rgb <0.8, 0.1, 0.0>
color rgb <0.2, 0.2, 0.3>] }
scale <2,2,2>
translate <-1,-1,-1>}
rotate <-135,0,0>}
plane { y, 0
pigment { color Green }
finish { ambient 0.3} }
Zmieniliśmy odrobinę kod kamery (kąt i umiejscowienie) w porównaniu do ostatniego, aby w pełni móc
oglądać obrazek. Mapa składa się z trzech kolorów. Intensywny, lekko żółtawy czerwony używany jest do
słońca, ciemniejszy czerwony do tzw. efektu halo (w tym przypadku żarzenie) i ciemny niebieski do nocnego
nieba. Kolor słońca pokrywa niewielki obszar nieba, ponieważ nie chcemy, aby nasze słońce było zbyt duże.
Wartości w mapie kolorów - 0.000 i 0.002 - pozwolą na uzyskanie ostrego kontrastowego przejścia (przecież
nie chcemy aby słońce zlało się z niebem...).
Rotate <-135,0,0> jest używane aby przenieść niebo do miejsca docelowego. Bez tego obrotu, słońce byłoby
na 0 stopni po prawej stronie poniżej nas.
Dodawanie chmur
Aby bardziej wzbogacić obrazki, chcielibyśmy zapewne do nieba dodać chmury. Aby zrealizować, pomysł
użyjemy drugiego pigmentu, wykorzystującego wzorzec bozo. Ponieważ będzie on umieszczony na innym
pigmencie (mamy już nasze niebo), musimy nadać mu trochę przezroczystości w mapie kolorów.
sky_sphere {
pigment {
gradient y
color_map {
[0.000 0.002 color rgb <1.0, 0.2, 0.0>
color rgb <1.0, 0.2, 0.0>]
[0.002 0.200 color rgb <0.8, 0.1, 0.0>
Opracowanie kursu mgr Jarosław Teodorczuk
2
veljarek@poczta.gazeta.pl
color rgb <0.2, 0.2, 0.3>]
}
scale <2,2,2>
translate <-1,-1,-1>
}
pigment {
bozo
turbulence 0.65
octaves 6
omega 0.7
lambda 2
color_map {
[0.0 0.1 color rgb <0.85, 0.85, 0.85>
color rgb <0.75, 0.75, 0.75>]
[0.1 0.5 color rgb <0.75, 0.75, 0.75>
color rgbt <1, 1, 1, 1>]
[0.5 1.0 color rgbt <1, 1, 1, 1>
color rgbt <1, 1, 1, 1>]
}
scale <0.2, 0.5, 0.2>
}
rotate <-135,0,0> }
Nasze niebo ma jedną wadę... Słońce nie emituje żadnego światła, a chmury w wyniku tego nie rzucają cieni.
Jeśli chciałbyś pozbyć się tego minusa, musisz użyć jako słońca dużej sfery z odpowiednią teksturą i zródłem
światła skądś spoza sfery.
_________________________________________________________________________________________
Zadanie 1
Narysuj zachód słońca na wyspie, drzewa, woda, plaża etc. Praca na ocenę.
Opracowanie kursu mgr Jarosław Teodorczuk
3
veljarek@poczta.gazeta.pl


Wyszukiwarka

Podobne podstrony:
povray
povray
povray 9
povray
povray 5
povray
povray 2
povray 4
povray
povray 3
povray 1
povray
povray 6
povray
povray
povray
povray 7

więcej podobnych podstron