Przekształcenia instrukcja

background image

Grafika Komputerowa
Laboratorium 3
Temat: Przekształcenia geometryczne

Funkcje OpenGl

Działania na stosie macierzowym:

-

skopiowanie macierzy na wierzchołku stosu

void glPushMatrix(void);

-

zdjęcie macierzy z wierzchołka stosu

void glPopMatrix(void);

-

załadowanie macierzy jednostkowej na wierzchołek stosu

void glLoadIdentity(void);

-

wybór aktywnego stosu macierzowego (tryb = GL_MODELVIEW – stos macierzy
modelujących, tryb = GL_PROJECTION – stos macierzy rzutujących)

void glMatrixMode(

GLenum

tryb);

background image

Przekształcenia modelujące:

-

translacja o wektor (x, y, z)

void glTranslatef(GLfloat x, GLfloat y, GLfloat z);

-

rotacja o kąt alfa (kąt w stopniach, wartość dodatnia oznacza kierunek
przeciwny do ruchu wskazówek zegara) wokół osi równoległej do wektora
(x, y, z)

void glRotatef(GLfloat alfa, GLfloat x, GLfloat y, GLfloat z);

-

skalowanie wzdłuż osi x, y, z (sx, sy, sz – współczynniki skalowania)

void glScalefGL(float sx, GLfloat sy, GLfloat sz);

background image

Funkcje rysujące bryły przestrzenne (biblioteka GLUT):

-

szkielet sfery (radius – promień sfery, slices - liczba południków, stacks – liczba
równoleżników)

void glutWireSphere(GLdouble radius, GLint slices, GLint stacks);

-

sfera (radius – promień sfery, slices - liczba południków, stacks – liczba
równoleżników)

void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);

-

szkielet stożka (base – promień podstawy, height – wysokość, slices - liczba
„południków”, stacks – liczba „równoleżników”)

void glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);

-

stożek (base – promień podstawy, height – wysokość, slices - liczba
„południków”, stacks – liczba „równoleżników”)

void glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);

-

szkielet sześcianu (size – długość boku)

void glutWireCube(GLdouble size);

-

sześcian (size – długość boku)

void glutSolidCube(GLdouble size);

-

szkielet czworościanu

void glutWireTetrahedron (void);

-

czworościan

void glutSolidTetrahedron (void);

-

szkielet osmiościanu

void glutWireOctahedron (void);

-

ośmiościan

void glutWireOctahedron (void);

background image

-

szkielet dwunastościanu

void glutWireDodecahedron(void);

-

dwunastościan

void glutWireDodecahedron(void);

-

szkielet dwudziestościanu

void glutWireIcosahedron (void);

-

dwudziestościan

void glutSolidIcosahedron (void);

-

szkielet torusa (innerRadius – promień wewnętrzny, outerRadius – promień
zewnętrzny, sides – liczba ścian, rings – liczba pierścieni)

void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides,
GLint rings);

-

torus (innerRadius – promień wewnętrzny, outerRadius – promień zewnętrzny,
sides

– liczba ścian, rings – liczba pierścieni)

void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides,
GLint rings);

-

szkielet dzbanka (size – rozmiar)

glutWireTeapot(GLdouble size);

-

dzbanek (size – rozmiar)

void glutSolidTeapot(GLdouble size);

background image

Funkcje rysujące kwadryki (biblioteka GLU):

-

alokacja pamięci dla nowej kwadryki (utworzenie kwadryki). Funkcja zwraca
wskaźnik do zaalokowanej pamięci, który wykorzystywany jest w pozostałych
funkcjach operujących na kwadrykach

GLUquadric* gluNewQuadric (void);

-

zwolnienie pamięci o kwadryce (usunięcie kwadryki)

void gluDeleteQuadric ( GLUquadric *state);

-

tryb rysowania kwadryki (gobj – wskaźnik do kwadryki, drawStyle – tryb
rysowania: GLU_POINT, GLU_LINE, GLU_FILL, GLU_SILHOUETTE)
void gluQuadricDrawStyle ( GLUquadric *gobj, GLenum drawStyle);



-

cylinder bez podstaw (gobj – wskaźnik do kwadryki, baseRadius – promień
dolnej podstawy, topRadius – promień górnej podstawy, height – wysokość,
liczba „południków”, stacks – liczba „równoleżników)

void gluCylinder ( GLUquadric *qobj, GLdouble baseRadius,
GLdouble topRadius, GLdouble height, GLint slices, GLint stacks);

-

dysk (koło z wewnętrznym otworem) (gobj – wskaźnik do kwadryki,
innerRadius

– promień wewnętrzny, outerRadius – promień zewnętrzny, slices

liczba podziałów promienistych , loops – liczba podziałów koncentrycznych)

void gluDisk ( GLUquadric *qobj, GLdouble innerRadius,
GLdouble outerRadius, GLint slices, GLint loops);


Wyszukiwarka

Podobne podstrony:
Przekształcenia instrukcja
Przekształcenia instrukcja, WAT, semestr III, Grafika komputerowa
Instrukcja, Oddziaływanie przekształtnika tyrystorowego na sieć
Instrukcja 9 Przeksztalcenia obiektow plaskich
Instrukcja 9 Przeksztalcenia obiektow plaskich
Przeksztalcanie wzorow
wykład 6 instrukcje i informacje zwrotne
Instrumenty rynku kapitałowego VIII
05 Instrukcje warunkoweid 5533 ppt
Instrukcja Konwojowa
2 Instrumenty marketingu mix
Promocja jako instrument marketingowy 1
Promocja jako instrument marketingowy

więcej podobnych podstron