Zajęcia z grafiki komputerowej – Pov Ray – część 3
Transkrypt
Zajęcia z grafiki komputerowej – Pov Ray – część 3
Zajęcia z grafiki komputerowej – Pov Ray – część 3 Obiekty obrotowe Obiekty te są tworzone poprzez obrót ustalonej krawędzi. Poniższa bryła powstała poprzez obrót krzywej składającej się z liniowych odcinków o współrzędnych <0,0>, <1,1>, <3,2>, <2,3>, <2,4>, <0,4>. #include "colors.inc" background{White} camera { angle 10 location <1, 9, -50> look_at <0, 2, 0> } light_source { <20, 20, -20> color White } lathe { //bryla obrotowa linear_spline //rodzaj krawedzi 6, //liczba punktow <0,0>, <1,1>, <3,2>, <2,3>, <2,4>, <0,4> pigment { Blue } finish { ambient .3 phong .75 } } //punkty kontrolne Aby obiekt nie był kanciasty, można użyć krzywych Beziera. Kwadratowa krzywa zdeterminowana jest przez trzy punkty kontrolne: punkt początkowy, sterujący i końcowy. lathe { //bryla obrotowa quadratic_spline //rodzaj krawedzi 3, //liczba punktow <0,0>, <3,2>, <0,4> //punkty kontrolne pigment { Blue } finish { ambient .3 phong .75 } } Podobnie, można użyć krzywych Beziera trzeciego stopnia. Krzywa taka zdefiniowana jest przez cztery punkty: początkowy, dwa sterujące i końcowy. lathe { cubic_spline //rodzaj krawedzi 4, //liczba punktow <0,0>, <3,2>, <2,3>, <0,4> //punkty kontrolne pigment { Blue } finish { ambient .3 phong .75 } } lathe { cubic_spline //rodzaj krawedzi 7, //liczba punktow <0,0>, <2,0>, <2,1>, <1,2>, <2,3>, <1,5>, <0,4> //punkty kontrolne pigment { Blue } finish { ambient .3 phong .75 } } Ręczne dobieranie punktów kontrolnych jest raczej trudne. W tym celu można skorzystać z programu „Krzywe Beziera” ze strony http://www.povray.pl/?s=1,3,14 . W programie tym modeluje się krzywe wizualnie, następnie można je wyeksportować do kodu PovRaya. Pryzmaty Pryzmaty (obiekty wyciągane) definiuje się podobnie jak obiekty obrotowe. Są to płaskie obiekty, o zadanych krawędziach. #include "colors.inc" background{White} camera { angle 20 location <2, 10, -30> look_at <0, 1, 0> } light_source { <20, 20, -20> color White } prism { linear_sweep //pionowe sciany obiektu sa liniowe linear_spline //poziome krawedzie sa liniowe 0, //wyciagamy ksztalt od tego poziomu ... 1, //... do tego poziomu 7, //liczba punktow kontrolnych <3,5>, <-3,5>, <-5,0>, <-3,-5>, <3, -5>, <5,0>, <3,5> pigment { Green } } prism { cubic_spline 0, // wyciagamy ksztalt od tego poziomu ... 1, //... do tego poziomu 6, // liczba punktow kontrolnych < 3, -5>, // punkt#1 (punkt kontrolny... nie na krzywej) < 3, 5>, // punkt#2 ... TEN PUNKT ... <-5, 0>, // punkt#3 < 3, -5>, // punkt#4 < 3, 5>, // punkt#5 ... MUSI BYC IDENTYCZNY Z TYM PUNKTEM <-5, 0> // punkt#6 (punkt kontrolny... nie na krzywej) pigment { Green } } W ramach zajęć należy wymodelować zastawę stołową umieszczoną na stole (talerze, kubki z uchwytami, dzbanek, szklanki, wazon, sztućce) korzystając z obiektów obrotowych, wyciąganych oraz techniki CSG. Więcej informacji można znaleźć w dokumentacji PovRaya: http://www.povray.org/documentation/3.7.0/t2_3.html#t2_3_1