Lab2 modelowanie 3D

background image

Grafika komputerowa

Grafika komputerowa

Modelowanie obiektów 3D

Laboratorium – ćwicz. 2

background image

Prymitywy graficzne w OpenGL

background image

Przykład modelowania obiektu

Void Kwadrat()
{
glColor3f(0.0,0.0,1.0);
glBegin(GL_QUADS);

glVertex3f(0.0, 0.0, 0.0);

glVertex3f(0.0, 1,0, 0.0);
glVertex3f(1.0, 1.0, 0.0);
glVertex3f(1.0, 0.0, 0.0);

glEnd();
}

Płaszczyzna XY

Obiekt: kwadrat o boku 1 leżący na płaszczyźnie XY

background image

Przykład modelowania obiektu

Void Koło()
{
glColor3f(0.0,1.0,0.0);
glBegin(GL_TRIANGLE_FAN);

glVertex3f(0.0, 0.0, 0.0);

for (i=0; i*dAlfa<=360.0; i++)

{
glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

0.0,r*sin(DEG2RAD(i*dAlfa)));

}

glEnd();

}

// Makro przeliczające stopnie na radiany
#define M_PI 3.1415926535
#define DEG2RAD(x) ((float)(x)*M_PI/180.0)

Obiekt: koło o promieniu r i środku w punkcie (0,0,0) leżące na
płaszczyźnie XZ

- dAlfa – wartość kąta wyznaczającego kolejny punkt na

okręgu

dAlfa=360/N; gdzie: N-liczba podziałów koła

Płaszczyzna XZ

v

1

v

2

v

3

v

4

v

5

v

6

v

8

v

7

v

0

background image

Przykład modelowania obiektu

Void powierzchnia_boczna_walca()
{
glColor3f(1.0,1.0,0.0);
glBegin(GL_QUAD_STRIP);
for (i=0; i*dAlfa<=360.0; i++)

{
glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

0.0,r*sin(DEG2RAD(i*dAlfa)));

glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

h,r*sin(DEG2RAD(i*dAlfa)));

}

glEnd();

}

Obiekt: powierzchnia boczna walca o promieniu r, wysokości h, o środku
dolnej

podstawy w punkcie (0,0,0) leżącej na płaszczyźnie XZ

- dAlfa – wartość kąta wyznaczającego kolejny punkt na brzegu

podstawy

dAlfa=360/N; gdzie: N-liczba podziałów

pionowych walca

Z

X

Y

V

i+1

V

i+3

V

i+2

V

i

r

h

background image

Zadanie 1.

Wykorzystując wybrane funkcje modelowania
geometrycznego biblioteki OpenGl napisać program
przedstawiający obraz perspektywiczny bryły o
zadanych parametrach:

np. stożek w trybie GL_QUADS_STRIP o promieniu
podstawy 5
i jej środku w punkcie (0, 0, 0), wysokości 5,

Użytkownik za pomocą klawiatury powinien mieć
możliwość:

− wprowadzania liczby podziałów pionowych i
poziomych bryły
w zakresie od 4 do 64;

− zmiany odległości obserwatora od obiektu,

− zmiany orientacji obserwatora (obroty względem osi
X, Y i Z).

 

background image

Zadanie 2.

Wykorzystując wybrane funkcje modelowania
geometrycznego biblioteki OpenGl napisać program
przedstawiający obraz perspektywiczny pierścienia o
środku na osi Y leżącego na płaszczyźnie XZ o zadanych
parametrach :

np.:

-promień wewnętrzny: 10,
-
przekrój: prostokąt o bokach 2 i 4 i jednym z boków
stycznym do płaszczyzny XZ,

-tryb modelowania: GL_TRIANGLES.

Użytkownik za pomocą klawiatury powinien mieć
możliwość:

− wprowadzania liczby podziałów pionowych bryły w
zakresie od
3 do 64;

− zmiany odległości obserwatora od obiektu,

− zmiany orientacji obserwatora (obroty względem osi
X, Y i Z).


Document Outline


Wyszukiwarka

Podobne podstrony:
Zastosowanie modelowania 3D
Zastosowanie modelowania 3D
Modelowanie 3D w programie AutoCAD Zbigniew Krzysiak WNIT
Blender 3D Podstawy modelowania Bieżnik
Blenderownia v6 0 Blender 3d Podstawy modelowania
Blender 3D Podstawy modelowania Dom
Blender 3D Podstawy modelowania Trawa 1
Blender 3D Podstawy modelowania Extrude Region
Blender 3D Podstawy modelowania Koło
Blender 3D Podstawy modelowania Trawa 2
Blender 3D Podstawy modelowania Samochód
Blender 3D Podstawy modelowania Łączenie dwóch obiektów

więcej podobnych podstron