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