1
Známky: 1
Skratka GDI znamená:
Odpoveï:
a. Graphic development interspace - grafický vývojový medzipriestor
b. Graphic device interface - rozhranie grafického zariadenia Správne
c. Game development interface - herné vývojové prostredie
d. general device interface - rozhranie veobecného zariadenia
e. Graphic development interface - grafické vývojové rozhranie
Správny
2
Známky: 1
Medzi atribúty GDI objektu tetec (Brush) patria:
Odpoveï:
a. Orientácia tetca
b. Farba tetca Správne.
c. Pozícia tetca
d. Hrúbka tetca Hrúbka má význam iba pri GDI objete pera, nie pri tetci.
e. Výplòový vzor Správne
f. Tvar tetca
3
Známky: 2
Predpokladajme, e existuje nasledujúca funkcia na vykreslenie trojuholníka.
void DrawTriangle()
{
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f( 0.0f, 1.0f, 0.0f);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glEnd();
}
Ktorá z uvedených implementácii funkcie DrawGLScene() by generovala výstup uvedený na obrázku ?
!!! Pozor, dosiahnu rovnaký výsledok, je moné rôznymi spôsobmi !!!
Odpoveï:
a. int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.0f, 1.0f, -6.0f);
DrawTriangle();
glTranslatef(2.0f, 0.0f, 0.0f);
DrawTriangle();
glTranslatef(-1.0f, -2.0f, 0.0f);
DrawTriangle();
return TRUE;
}
b. int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.0f, 1.0f, -6.0f);
DrawTriangle();
glTranslatef(1.0f, -2.0f, -6.0f);
DrawTriangle();
glTranslatef(1.0f, 2.0f, -6.0f);
DrawTriangle();
return TRUE;
}
c. int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.0f, 1.0f, -6.0f);
DrawTriangle();
glLoadIdentity();
glTranslatef(1.0f, 1.0f, 0.0f);
DrawTriangle();
glLoadIdentity();
glTranslatef(0.0f, -1.0f, 0.0f);
DrawTriangle();
return TRUE;
}
d. int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.0f, 1.0f, -6.0f);
DrawTriangle();
glLoadIdentity();
glTranslatef(1.0f, 1.0f, -6.0f);
DrawTriangle();
glLoadIdentity();
glTranslatef(0.0f, -1.0f, -6.0f);
DrawTriangle();
return TRUE;
}
e. int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.0f, 1.0f, -6.0f);
DrawTriangle();
glTranslatef(1.0f, -2.0f, 0.0f);
DrawTriangle();
glTranslatef(1.0f, 2.0f, 0.0f);
DrawTriangle();
return TRUE;
}
4
Známky: 2
Akú transformáciu vyjadruje maticový zápis uvedený na obrázku ?
Odpoveï:
a. Transformácia posunutia v 3D priestore
b. Transformácia posunutia v 2D rovine
c. Transformáciu zmeny mierky v 3D priestore Správne
d. Transformácia skosenia v 3D priestore
e. Transformácia otoèenia okolo osi Z v 3D priestore
Správny
5
Známky: 1
Akú transformáciu v 3D priestore reprezentuje následujúca rovnica ?
XSSZ = -JX * cos(alfa) * XUSS + JY * cos(beta) * YUSS
YSSZ = -JX * sin(alfa) * XUSS - JY * sin(beta) * YUSS + JZ * ZUSS
Odpoveï:
a. Axonometrickú zobrazovaciu transformáciu Spráne.
b. Posunutie v 3D priestore.
c. Otoèenie v 3D priestore
d. Kolmé premietanie.
e. Perspektívne premietanie.
Správny
6
Známky: 3
Predpokladajme, e existuje následujúca funkcia na vykreslenie modrého tvorca DrawSquare().
void DrawSquare()
{
glColor3f(0.5f,0.5f,1.0f);
glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glEnd();
}
Priraïte správne obrázky s výstupom, ku odpovedajúcej implementácii funkcie DrawGLScene().
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-2.0f, 0.0f, -6.0f);
DrawSquare();
glTranslatef(4.0f, 0.0f, 0.0f);
glScalef(1.0f, 1.0f, 1.0f);
DrawSquare();
return TRUE;
}
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-2.0f, 0.0f, -6.0f);
DrawSquare();
glTranslatef(4.0f, 0.0f, 0.0f);
glScalef(0.5f, 0.5f, 1.0f);
DrawSquare();
return TRUE;
}
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(2.0f, 0.0f, -6.0f);
DrawSquare();
glTranslatef(-4.0f, 0.0f, 0.0f);
glScalef(0.5f, 2.0f, 1.0f);
DrawSquare();
return TRUE;
}
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-2.0f, 0.0f, -6.0f);
DrawSquare();
glTranslatef(4.0f, 0.0f, 0.0f);
glScalef(2.0f, 0.5f, 1.0f);
DrawSquare();
return TRUE;
}
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-2.0f, 0.0f, -6.0f);
DrawSquare();
glTranslatef(4.0f, 0.0f, 0.0f);
glScalef(0.5f, 2.0f, 1.0f);
DrawSquare();
return TRUE;
}
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-2.0f, 0.0f, -6.0f);
DrawSquare();
glTranslatef(4.0f, 0.0f, 0.0f);
glScalef(2.0f, 2.0f, 1.0f);
DrawSquare();
return TRUE;
}