![]() | Pobierz cały dokument i.cwiczenia.4.zadania.na.czysto.wat.semestr.iii.doc Rozmiar 316 KB |
Ćwiczenie 4
Temat: Przekształcenia geometryczne w przestrzeni 3D
Pytanie 32 (przy tablicy):
Przekształcenia geometryczne w przestrzeni 3D
Pytanie XX (przy tablicy):
Omówić działania na stosie macierzowym
Różne modele stosów wybór aktywnego stosu macierzowego
macierzowych w OpenGL: (uaktywnienie tylko 1 z 3)
Modelowania glMatrixMode(glModelView)
Rzutowania glMatrixMode(glProjection)
Texturowania glMatrixMode(glTexture)
|
|
1 |
|
1 |
2 |
|
1 |
|
2 |
3 |
|
2 |
|
3 |
4 |
|
3 |
|
4 |
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
Zadanie 1
Wykorzystując funkcję glutSolidCube oraz funkcje działające na stosie macierzy modelowania napisać fragment programu odpowiedzialny za utworzenie obiektu (Wieża), którego rzuty przedstawiono na rysunkach.
bok podstawy:
=4.23
Wieża |
void RysujScene(void) { // Rysowanie podstawy wieży glColor3f(1.0, 0.0, 0.0); glPushMatrix(); glTranslatef(0.0, 5.0, 0.0);//początek układu w środku prostopadłościanu glRotatef(45.0, 0, 1, 0) glScalef(4.23, 10.0, 4.23); glutSolidCube(1); glPopMatrix();
// Rysowanie nadbudówki glColorf(0.0, 1.0, 0.0); glPushMatrix(); glTranslatef(0.0, 11.5, 0.0);// bo 10 + 1.5 glScalef(8.0, 3.0, 8.0); glutSolidCube(1); glPopMatrix();
// Rysowanie wieżyczek (translacje wykonywane są w przeskalowanym układzie współrzędnych glColorf(0.0, 0.0, 1.0); glPushMatrix(); glScalef(2.0, 2.0, 2.0); glTranslatef(1.5, 7.0, -1.5);// nie 3.0, 14.0, -3.0 bo przeskalowano //wcześniej glutSolidCube(1); glTranslatef(-3.0, 0.0, 0.0);// glutSolidCube(1); glTranslatef(0.0, 0.0, 3.0); // glutSolidCube(1); glTranslatef(3.0, 0.0, 0.0); // glutSolidCube(1);
glPopMatrix(); }
|
Zadanie 2
Wykorzystując funkcję glutWireSphere oraz funkcje działające na stosie macierzy modelowania napisać fragment programu odpowiedzialny za dynamiczne tworzenie sceny przedstawiającej układ słoneczny złożony ze słońca oraz jednej planety i jej księżyca wiedząc, że:
promień słońca = 5;
![]() | Pobierz cały dokument i.cwiczenia.4.zadania.na.czysto.wat.semestr.iii.doc rozmiar 316 KB |