Pages

Thursday, December 30, 2010

Membuat gambar 3D menggunakan PellesC

Pada penulisan kali ini, saya akan mencoba untuk menjelaskan cara untuk membuat sebuah bangun ruang 3D menggunakan program PellesC. Gambar yang ingin saya buat adalah sebuah tempat tidur. Contoh gambarnya seperti ini :



Nah, unutk membuat gambar 3D seperti diatas sebelumnya kita harus menginstal dulu PellesC di PC kita. Untuk program PellesC nya pembaca dapat segera mencari di mbah Google. Cara menginstalnya pun seperti biasa seperti menginstal program-program yang lainnya. Sesudah kita menginstal program PellesC nya kita dapat memasukkan coding yang saya sediakan disini.

Kemudian saya akan menjelaskan sebagian coding yang berada didalam 3D nya. Disini saya tidak menjelaskan semua coding yang berada di file txt nya karena penulis menganalogikan bahwa pembaca sedikit memahami pembacaan coding dan mengerti pemrograman.
Pada pembuatan 3D ini terdapat banyak bentuk yaitu dari persegi panjang, kotak dan lain-lain. Pada pembuatan ini kita memakai tiga titik sumbu kartesian yaitu x, y, z dan untuk menentukan tiga garis itu maka yang script yang kita tulis adalah glVertex3f(x,y,z) dan untuk mewarnai menggunakan glColor(r,g,b) atau (red, green, blue). Pada pembuatan gambar 3D disini saya membuat agar gambar tersebut dapat diputar dengan otomatis menggunakan coding yang nanti saya jelaskan.

gluLookAt(0,0,20,0,0,0,0,1,0);
glRotatef(sudut,1,1,0);
sudut += 0.1;

Dicoding diatas adalah proses dimana gambar 3D dapat berputar secara otomatis dengan posisi sudutnya 1,1,0 yang berputar dengan kecepatan 0.1. Selanjutnya saya akan menjelaskan coding berikutnya.

//kaki
glBegin(GL_QUADS);  //kaki1
glColor3f(1,0,1);
glVertex3f(-7.5,-3.3,0); //depan
glVertex3f(-6.8,-3.3,0);
glVertex3f(-6.8,4,0);
glVertex3f(-7.5,4,0);

Disini saya menggunakan 4 rangka kaki, yang di implementasikan sebagai kaki1, kaki2, kaki3 dan kaki4. Tetapi saya hanya menjelaskan hanya 1 rangka kaki saja karena prosesnya sama dan penjelasannya pun sama. Dan saya juga menjelaskan pada rangka kaki1 hanya gambar depannya saja. Seperti coding diatas, kita menggunakan GL_QUADS dan glVertex3f terdapat empat kali ,karena mempunyai 4 baris ,dan barisnya itu di tentukan oleh titik x,y dan z. Pada garis pertama mempunyai nilai x =-7,5 ,y =-3.3 dan z bernilai 0. Pada garis kedua mempunyai nilai x=-6,8 dan y =-3.3 dan z =3.0. Pada garis ketiga x bernilai 6,8 ,y bernilai 4 dan z bernilai 0. Dan pada garis keempat x bernilai -7,5 ,y bernilai 4 dan z bernilai 0. Kemudian untuk pewarnaanya kita menggunakan glcolor3f yang mempunyai nilai 1,0,1 yang berarti mempunyai warna gabungan antara merah dan biru. Selanjutnya saya akan menjelaskan coding berikutnya.

//rangka samping
glBegin(GL_QUADS);  //depanI
glColor3f(1,1,0);
glVertex3f(-6.8,0.4,0); //depan
glVertex3f(-6.8,-0.3,0);
glVertex3f(6.8,-0.3,0);
glVertex3f(6.8,0.4,0);

Pada coding yang berikutnya, saya juga akan membuat 4 buah kerangka tempat tidurnya. Disini saya juga mengimplementasikan sebagai rangka depan, rangka belakang, rangka kiri dan rangka kanan. Tetapi saya hanya menjelaskan hanya 1 kerangka saja karena prosesnya sama dan penjelasannya pun sama. Dan saya pun menjelaskan pada rangka depannya saja seperti coding diatas. Pada coding diatas, kita menggunakan GL_QUADS dan glVertex3f terdapat empat kali ,karena mempunyai 4 baris ,dan barisnya itu di tentukan oleh titik x,y dan z. Pada garis pertama mempunyai nilai x =-6,8 ,y =0.4 dan z bernilai 0. Pada garis kedua mempunyai nilai x=-6,8 dan y =-0.3 dan z =0. Pada garis ketiga x bernilai 6,8 ,y bernilai 0.3 dan z bernilai 0. Dan pada garis keempat x bernilai 6,8 ,y bernilai 0.4 dan z bernilai 0. Kemudian untuk pewarnaanya kita menggunakan glcolor3f yang mempunyai nilai 1,1,0 yang berarti mempunyai warna gabungan antara merah dan hijau. Selanjutnya saya akan menjelaskan coding berikutnya.

//hiasan atas
glBegin(GL_QUADS);
glColor3f(1,1,0);
glVertex3f(-7.5,2,-0.7); //depan
glVertex3f(-7.5,3.5,-0.7);
glVertex3f(-7.5,3.5,-4.2);
glVertex3f(-7.5,2,-4.2);

Pada coding yang selanjutnya, saya akan membuat 4 buah hiasan yang berada diatas tempat tidurnya. Disini saya juga mengimplementasikan sebagai hiasan depan, hiasan belakang, hiasan atas dan hiasan bawah. Tetapi saya hanya menjelaskan 1 coding hiasan saja karena prosesnya sama dan penjelasannya pun sama dengan coding hiasan yang lainnya. Dan saya pun menjelaskan pada hiasan depannya saja seperti coding diatas. Pada coding diatas, kita menggunakan GL_QUADS dan glVertex3f terdapat empat kali ,karena mempunyai 4 baris ,dan barisnya itu di tentukan oleh titik x,y dan z. Pada garis pertama mempunyai nilai x =-7,5 ,y =2 dan z bernilai -0,7. Pada garis kedua mempunyai nilai x=-7,5 dan y =3.5 dan z =-0,7. Pada garis ketiga x bernilai -7,5 ,y bernilai 3,5 dan z bernilai -4,2. Dan pada garis keempat x bernilai -7,5 ,y bernilai 2 dan z bernilai -4,2. Kemudian untuk pewarnaanya kita menggunakan glcolor3f yang mempunyai nilai 1,1,0 yang berarti mempunyai warna gabungan antara merah dan hijau. Selanjutnya saya akan menjelaskan coding berikutnya.

//kasur
glBegin(GL_QUADS);
glColor3f(1,1,0);
glVertex3f(-6.8,1.4,-0.7); //atas
glVertex3f(6.8,1.4,-0.7);
glVertex3f(6.8,1.4,-4.2);
glVertex3f(-6.8,1.4,-4.2);

Pada coding berikutnya, saya akan membuat kasur yang berada diatas tempat tidurnya. Disini saya mengimplementasikan sebagai kasur atas, kasur depan, kasur belakang, kasur kiri dan kasur kanan. Tetapi saya hanya menjelaskan 1 coding kasur saja karena prosesnya sama dan penjelasannya pun sama dengan coding kasur yang lainnya. Dan saya pun menjelaskan pada kasur atasnya saja seperti coding diatas. Pada coding diatas, kita menggunakan GL_QUADS dan glVertex3f terdapat empat kali ,karena mempunyai 4 baris ,dan barisnya itu di tentukan oleh titik x,y dan z. Pada garis pertama mempunyai nilai x =-6,8 ,y =1,4 dan z bernilai -0,7. Pada garis kedua mempunyai nilai x=6,8 dan y =1.4 dan z =-0,7. Pada garis ketiga x bernilai 6,8 , y bernilai 1,4 dan z bernilai -4,2. Dan pada garis keempat x bernilai -6,8 ,y bernilai 1,4 dan z bernilai -4,2. Kemudian untuk pewarnaanya kita menggunakan glcolor3f yang mempunyai nilai 1,1,0 yang berarti mempunyai warna gabungan antara merah dan hijau. Selanjutnya saya akan menjelaskan coding berikutnya.

//bantal
glBegin(GL_QUADS);
glColor3f(0,0,1);
glVertex3f(-6.4,1.8,-0.9); //atas
glVertex3f(-4.4,1.8,-0.9);
glVertex3f(-4.4,1.8,-3.9);
glVertex3f(-6.4,1.8,-3.9);

Pada coding selanjutnya, saya akan membuat bantal yang berada diatas tempat tidurnya. Disini saya mengimplementasikan sebagai bantal atas, bantal depan, bantal belakang, bantal kiri dan bantal kanan. Tetapi saya hanya menjelaskan 1 coding bantal saja karena prosesnya sama dan penjelasannya pun sama dengan coding bantal yang lainnya. Dan saya pun menjelaskan pada bantal atasnya saja seperti coding diatas. Pada coding diatas, kita menggunakan GL_QUADS dan glVertex3f terdapat empat kali ,karena mempunyai 4 baris ,dan barisnya itu di tentukan oleh titik x,y dan z. Pada garis pertama mempunyai nilai x =-6,4 ,y =1,8 dan z bernilai -0,9. Pada garis kedua mempunyai nilai x=-4,4 dan y =1.8 dan z =-0,9. Pada garis ketiga x bernilai -4,4 , y bernilai 1,8 dan z bernilai -3,9. Dan pada garis keempat x bernilai -6,4 ,y bernilai 1,8 dan z bernilai -3,9. Kemudian untuk pewarnaanya kita menggunakan glcolor3f yang mempunyai nilai 0,0,1 yang berarti mempunyai warna biru. Selanjutnya saya akan menjelaskan coding berikutnya.

//selimut
glBegin(GL_QUADS);
glColor3f(0,1,0);
glVertex3f(-3,1.4,0); //atas
glVertex3f(7.5,1.8,0);
glVertex3f(7.5,1.8,-4.9);
glVertex3f(-3,1.4,-4.9);

Pada coding berikutnya, saya akan membuat selimut yang berada diatas tempat tidurnya. Disini saya mengimplementasikan sebagai selimut atas, selimut depan, selimut belakang dan selimut bawah. Tetapi saya hanya menjelaskan 1 coding selimut saja karena prosesnya sama dan penjelasannya pun sama dengan coding selimut yang lainnya. Dan saya pun menjelaskan pada selimut atasnya saja seperti coding diatas. Pada coding diatas, kita menggunakan GL_QUADS dan glVertex3f terdapat empat kali ,karena mempunyai 4 baris ,dan barisnya itu di tentukan oleh titik x,y dan z. Pada garis pertama mempunyai nilai x =-3 ,y =1,4 dan z bernilai 0. Pada garis kedua mempunyai nilai x=7,5 dan y =1.8 dan z =0. Pada garis ketiga x bernilai 7,5 , y bernilai 1,8 dan z bernilai -4,9. Dan pada garis keempat x bernilai -3,1 ,y bernilai 4 dan z bernilai -4,9. Kemudian untuk pewarnaanya kita menggunakan glcolor3f yang mempunyai nilai 0,1,0 yang berarti mempunyai warna hijau.

No comments:

Post a Comment