GRAFIKA KOMPUTER
DISUSUN OLEH:
NAMA : DEDEN PURNAMA
NIM :1900018122
APRIL 2021
A. Pendahuluan
Proyeksi ortogonal adalah gambar proyeksi yang bidang proyeksinya mempunyai
sudut tegak lurus terhadap proyektornya. Garis-garis yang memproyeksikan benda
terhadap bidang proyeksi disebut proyektor. Selain proyektor tegak lurus terhadap
bidang proyeksinya juga proyektor-proyektor tersebut sejajar satu sama lain.
B. Pretest
1. Proyeksi ortogonal adalah gambar proyeksi yang bidang proyeksinya mempunyai
sudut tegak lurus terhadap proyektornya.
2. Dalam proyeksi perspektif, garis proyeksi (garis radial visual) bertemu disebuah
titik (konvergen). Seolah-olah kita sedang memandangi gambar proyeksi pada
sebuah kertas yang tembus pandang, dimana gambar tersebut merupakan bentuk
yang sama dengan benda nyata yang ada dibelakang kertas transparan tersebut.
3. Proyeksi ortografis dapat diwakili oleh transformasi affine. Sebaliknya, proyeksi
perspektif bukan proyeksi paralel dan pada awalnya garis paralel tidak akan lagi
menjadi paralel setelah operasi ini. Dengan demikian proyeksi perspektif tidak dapat
dilakukan oleh transformasi affine.
C. Praktikum
glPushMatrix();
// bila menggambar obyek harus diawali glBegin(tipe obyek) dan diakhiri dengan glEnd()
// kecuali menggunakan fungsi yang sudah ada di GLUT-OpenGL seperti dibawah ini
glutSolidTeapot(50.0f); // menggambar obyek teapot
glPopMatrix();
glPopMatrix();
}
// inisialisasikan variabel, pencahayaan, tekstur dan pengaturan kamera pandang di fungsi init()
void init(void) {
// inisialisasi warna latar belakang layar dalam hal ini warna putih (1.0, 1.0, 1.0,
0.0)
glClearColor(0.0, 0.0, 0.0, 0.0);
glEnable(GL_DEPTH_TEST); // mengaktifkan depth buffer
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//gluPerspective(45.0, 1.0, 1.0, 100.0);
glOrtho((GLfloat)-SCREEN_WIDTH / 2, (GLfloat)SCREEN_WIDTH / 2, (GLfloat)-
SCREEN_HEIGHT / 2, (GLfloat)SCREEN_HEIGHT / 2, 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
// inisialisasi kamera pandang
gluLookAt(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHT0);
}
switch (key) {
// masukkan perintah disini bila tombol kiri ditekan
case GLUT_KEY_LEFT:
// dalam hal ini perintah rotasi obyek ke kiri sebanyak 1 derajat objectAngleY -
= 1.0f;
glutPostRedisplay(); // update obyek
break;
// masukkan perintah disini bila tombol kanan ditekan case
GLUT_KEY_RIGHT:
// dalam hal ini perintah rotasi obyek ke kanan sebanyak 1 derajat objectAngleY
+= 1.0f;
glutPostRedisplay(); // update obyek
break;
// masukkan perintah disini bila tombol atas ditekan
case GLUT_KEY_UP:
// dalam hal ini perintah rotasi obyek ke atas sebanyak 1 derajat
objectAngleX -= 1.0f;
glutPostRedisplay(); // update obyek
break;
// masukkan perintah disini bila tombol bawah ditekan case
GLUT_KEY_DOWN:
// dalam hal ini perintah rotasi obyek ke bawah sebanyak 1 derajat objectAngleX
+= 1.0f;
glutPostRedisplay(); // update obyek
break;
// zoom in
case GLUT_KEY_PAGE_UP:
// masukkan perintah disini bila tombol PgUp ditekan
posX += rotX * fraction;
posZ += rotZ * fraction;
glutPostRedisplay(); // update obyek
break;
GLUT_KEY_PAGE_DOWN:
// masukkan perintah disini bila tombol PgDn ditekan
posX -= rotX * fraction;
posZ -= rotZ * fraction;
glutPostRedisplay(); // update obyek
break;
}
}
// program utama
int main(int argc, char** argv) {
// inisialisasi jendela OpenGL
// GLUT_SINGLE berarti memakai single buffer
// GLUT_DOUBLE berarti memakai double buffer
// GLUT_RGB berarti mode tampilan yang dipakai RGB
// GLUT_RGBA berarti mode tampilan yang dipakai RGBA
// GLUT_DEPTH berarti memakai depth buffer
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
// looping
glutMainLoop();
return 0;
}
D. Pembahasan
Pembahasan nya yaitu Proyeksi bila posisi koordinat obyek ditransformasikan ke
bidang pandang dengan line’s parallel. Proyeksi paralel menggunakan vektor
proyeksi sebagai arah dari line’s proyeksi. Bila proyeksi paralel tegak lurus terhadap
bidang pandang disebut proyeksi paralel orthografik. Bila tidak tegak lurus disebut
proyeksi paralel miring.