![]() | Pobierz cały dokument laszuk.kubek.wat.semestr.iii.grafika.doc Rozmiar 386 KB |
Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego
Laboratorium Grafiki Komputerowej
Sprawozdanie do ćwiczenia laboratoryjnego nr 2
Wykonujący ćwiczenie: Maciej Laszuk grupa I7X1S1
Data wykonania :02.02.2009
1.Zadnie 1
Wykorzystując biblioteki OpenGL i GLUT napisać program wyświetlający perspektywiczny obraz obiektu przedstawionego na rysunku:
Obiekt należy zamodelować w trybach:
-GL_QUADS
-GL_TRIANGLES_FAN
Z uwzględnieniem możliwaości interakcyjnego wprowadzenia następujących parametrów:
- wysokości obiektu,
-średnicy obiektu,
-grubości ścian,
-liczby podziałów pionowych
Program powinien umożliwiać zmianę położenia obserwatora (odległość od obiektu i obroty wokół osi Y, X i Z)
2. Sposób rozwiązania zadania:
W celu rozwiązanie zadania należało użyć programu Microsoft Visual Studio oraz zmodyfikować program sześcian.c udostępniony przez prowadzącego ćwiczenia. Program można podzielić na dwie części. Część odpowiedzialną za narysowanie bryły na ekranie monitora oraz część zajmującą się przekształceniami bryły.
a.)Rysowanie bryły
void RysujSzescian(double a)
{
double x;
//podstawa dolna
glColor3f(0.1,0.9,0.1);
glBegin(GL_TRIANGLE_FAN);
glVertex3f(0.0,0.0,0.0);
for(x=0.0;x<=360.0;x+=360.0/podzialka2)
{
glVertex3f(r*cos(radian(x)) , 0 , r*sin(radian(x)));
}
glEnd();
//podstawa gorna
glBegin(GL_TRIANGLE_FAN);
glVertex3f(0.0,h*0.15,0.0);
for(x=0.0;x<=360.0;x+=360.0/podzialka2)
{
glVertex3f(r*cos(radian(x)) , h*0.15 , r*sin(radian(x)));
}
glEnd();
//zalamianie podstawy
glBegin(GL_QUADS);
glVertex3f( r , 0.0, 0.0);
for(x=0.0;x<=360.0;x+=360.0/podzialka1)
{
glVertex3f(r*cos(radian(x)) , 0 , r*sin(radian(x)));
glVertex3f(r*cos(radian(x+360.0/podzialka1)) , 0 ,r*sin(radian(x+360.0/podzialka1)));
glVertex3f((r+g)*cos(radian(x+360.0/podzialka1)) , h*0.15 ,(r+g)*sin(radian(x+360.0/podzialka1)));
glVertex3f((r+g)*cos(radian(x)) , h*0.15, (r+g)*sin(radian(x)));
}
glEnd();
//sciana boczna zewnetrzna
glBegin(GL_QUADS);
![]() | Pobierz cały dokument laszuk.kubek.wat.semestr.iii.grafika.doc rozmiar 386 KB |