I Ćwiczenia 4 zadania(na czysto), WAT, semestr III, Grafika komputerowa


Ćwiczenie 4

Temat: Przekształcenia geometryczne w przestrzeni 3D

Przekształcenia geometryczne w przestrzeni 3D

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)

  1. Modelowania glMatrixMode(glModelView)

  2. Rzutowania glMatrixMode(glProjection)

  3. Texturowania glMatrixMode(glTexture)

0x08 graphic

0x08 graphic

0x08 graphic
1

0x08 graphic
0x08 graphic

1

0x08 graphic
0x08 graphic

1

2

1

2

3

2

3

4

3

4

4

0x08 graphic

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.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
bok podstawy:

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic
=4.23

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

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();

}

0x08 graphic
Pytania:

  1. Kiedy czarny?

  2. Kiedy biały?

  3. Kiedy szary i jaki?

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:

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

Układ słoneczny

void RysujScene(void)

{

// Przygotowanie stosu macierzy modelowania

glPushMatrix();

// rysowanie słońca

glColor3f(1.0, 1.0, 0.0);

glPushMatrix();

glRotatef(-90.0, 1, 0, 0);// bieguny były w osi z

glScalef(5.0, 5.0, 5.0);

glutWireSphere(1.0, 20.0,20.0);

glPopMatrix();

// Rysowanie planety okrążającej słońce po orbicie o promieniu 20 z prędkością

// 1 stopień na klatkę (kierunek CW)

glColorf(0.0, 1.0, 0.0);

glRotatef(rotacjaPlanety, 0, 1, 0);

glTranslatef(0.0, 0.0, 20.0);

glPushMatrix();

glRotatef(spinPlanety, 0, 1, 0);

glRotatef(-90.0, 1, 0, 0);

glScalef(2.0, 2.0, 2.0);

glutWireSphere(1.0, 20.0,20.0);

glPopMatrix();

// Rysowanie księżyca okrążającego planetę po orbicie o promieniu 5 z prędkością

// 5 stopni na klatkę (kierunek CCW)

glColorf(0.0, 0.0, 1.0);

glRotatef(rotacjaKsiezyca, 0, 1, 0);

glRotatef(-90.0, 1, 0, 0);

glTranslatef(5.0, 0.0, 0.0);

glScalef(0.5, 0.5, 0.5);

glutWireSphere(1.0, 20, 20);

// Posprzątanie na stosie macierzy modelowania

glPopMatrix();

}

//korekcja zmiennych (indeksów)w pętli RysujScene

rotacjaPlanety-=0.25 //(rotacjaPlanety=rotacjaPlanety-0.25)

spinPlanety+=1 //(spinPlanety++)

rotacjaKsiezyca+=0.5

Grafika komputerowa - Ćwiczenia

I_Ćwiczenia_4_zadania Strona 4

Grafika komputerowa - Ćwiczenia

6 semestr III rok studiów dziennych

I_Ćwiczenia_4_zadania Strona 1

Ten sam układ współrzędnych

To można modyfikować a na końcu wyrysować

PushMatrix()

PopMatrix()

Kolejne macierze układów współrzędnych

z

y

6

2

2

2

1

2

x

x

8

3

4

3

10

Uwaga: Zadanie realizowane jest od stanu początkowego - zastanego:

8

z

y

x



Wyszukiwarka

Podobne podstrony:
Zadania poprawkowe Lab1, WAT, semestr III, Grafika komputerowa
Zadania oswietlenie 2004, WAT, semestr III, Grafika komputerowa
I Ćwiczenie 5, WAT, semestr III, Grafika komputerowa
I Ćwiczenie 6, WAT, semestr III, Grafika komputerowa
Laboratorium3 PGK zadania, WAT, semestr III, Grafika komputerowa
Zadanie poprawkowe GK 2008, WAT, semestr III, Grafika komputerowa
Zadania I7X1N1poprawkowe, WAT, semestr III, Grafika komputerowa
Zadania I7X, WAT, semestr III, Grafika komputerowa
Laboratorium3 PGK zadania C02C, WAT, semestr III, Grafika komputerowa
Laboratorium3 PGK zadania C02B, WAT, semestr III, Grafika komputerowa
I Ćwiczenie 5, WAT, semestr III, Grafika komputerowa
I7X1S1 Loay Achmasiewicz, WAT, semestr III, Grafika komputerowa
50, WAT, semestr III, Grafika komputerowa
gk cw1, WAT, semestr III, Grafika komputerowa
Ogolne, WAT, semestr III, Grafika komputerowa
gk efekty kody, WAT, semestr III, Grafika komputerowa
Paulina Kot I7X1N1 sprawozdanie Lampka, WAT, semestr III, Grafika komputerowa
Grupa I7X poprawkowe, WAT, semestr III, Grafika komputerowa

więcej podobnych podstron