OBJECT 2D Latihan 1. PRIMITIVE OBJECT

- Program diatas menggunakan fungsi polygon. Dari koordinat yang digunakan untuk program diatas dapat membentuk sebuah layang-layang dan kotak dengan 8 koordinat16 vetex. glVertex2d50,50; kotak glVertex2d100,50; glVertex2d100,50; glVertex2d100,100; glVertex2d100,100; glVertex2d50,100; glVertex2d50,100; glVertex2d50,50; glVertex2d-50,150; layang-layang glVertex2d-50,200; glVertex2d-50,200; glVertex2d-100,200; glVertex2d-100,200; glVertex2d-100,150; glVertex2d-100,150; glVertex2d-50,150;

2. OBJECT 2D

Untuk membangun sebuah bangun 2 Dimensi dengan efisien, maka diperlukan sebuah fungsi yang memiliki parameter tertentu untuk membangun bangun tersebut. Perhatikan kode program bangun 2D dengan menggunakan fungsi berikut ini: a. Buatlah project baru pada Visual Studio. Buatlah agar tampilan obyek 2 dimensi berbentuk persegi panjang seperti di bawah ini, gunakan primitif dan struktur vertex yang paling efisien. Tulis program dan Tampilkan hasilnya berupa screenshot yang berupa tampilan 3 bangun dengan posisi, dimensi, dan warna yang berbeda. Sintaks: include stdlib.h include glut.h void length int posx, int posy, int als, int tgg { glBeginGL_QUADS; glVertex2iposx, posy; glVertex2iposx+als , posy; glVertex2iposx+als, posy-tgg; glVertex2iposx, posy-tgg; glEnd; } void renderScene void { glClearGL_COLOR_BUFFER_BIT; glColor3f0., 0., 1.; length0, 0, -250, 100; glColor3f0., 1., 1.; length25, 90, -150, -50; glColor3f1., 1., 0.; length50, 100, 150, 80; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition150, 150; glutInitWindowSize640, 440; glutCreateWindow Latihan Dua Dimensi ; gluOrtho2D-640.0, 640.0, -320.0, 320.0; glutDisplayFuncrenderScene; glutMainLoop; } Screenshoot: Penjelasan : - Pada program diatas saya membuat 3 buah persegi panjang dengan system koordinat yang berbeda. Dengan menggunakan fungsi posx posy, yang dideklarasikan pada fungsi length beserta alas dan tinggi sebagai panjang sisi kanan-kiri, atas-bawah. Kemudian pada fungsi renderScene, dideklarasikan warna yang digunakan pada bagun dua dimensi beserta titik koordinat untuk membangun dua dimensi tersebut. Untuk bangun pertama dibentuk pada koordinat x= 0 , y=0, alas=-250, tinggi=100 dengan warna 001 yaitu biru. Untuk bangun kedua dengan koordinat x=25, y=90, alas=-150, tinggi=-50 dengan warna 011 yaitu cyan toska dan untuk bangun ketiga dibentuk pada koordinat x=50, y=100, alas=150, tinggi= 80 degan warna 110 yaitu kuning. Dengan gluOrtho 2D system koordinat yang digunakan yaitu -640,640,-320,320 dan ukuran windows 640,440 posisi windows 150,150. b. Buatlah project baru pada Visual Studio. Buatlah agar tampilan obyek 2 dimensi berbentuk Trapesium siku seperti di bawah ini gunakan primitif dan struktur vertex yang paling efisien. Tulis program dan Tampilkan hasilnya berupa screenshot yang berupa tampilan 3 bangun dengan posisi, dimensi, dan warna yang berbeda. Sintaks: include stdlib.h include glut.h void trapesium int posx, int posy, int alas1, int alass, int tinggi { glBeginGL_QUADS; glVertex2iposx, posy; glVertex2iposx + alas1, posy; glVertex2iposx + alas1 - alass3, posy + tinggi; glVertex2iposx+alass-alas1, posy+tinggi; glEnd; } void renderScene void { glClearGL_COLOR_BUFFER_BIT; glColor3f0., 0., 1.; trapesium0, 0, 130, 130, 50; glColor3f0., 1., 0.; trapesium-150, -90, 100, 100, 75; glColor3f1., 0., 1.; trapesium50, 75, 80,80, 40; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition150, 150; glutInitWindowSize640, 440; glutCreateWindow LATIHAN DUA DIMENSI ; gluOrtho2D-640.0, 640.0, -320.0, 320.0; glutDisplayFuncrenderScene; glutMainLoop; } Screenshoot: Penjelasan: - Pada program diatas , saya membuat 3 buah bangun trapezium denga 3 variasi warna berbeda , diantaranya hijau, biru dan magentapink. Sama seperi pada bangun persegi panjang menggunakan fungsi posx, posy, namun pendeklarasian rumus vertex berbeda dengan persegi panjang, rumus yang digunakan berbeda, sesuai dengan rumus hitung trapezium. Pada fungsi trapezium menggunakan posx, posy sebagai x dan y, kemudian terdapat alas1, alas alas2 dan tinggi. Untuk bangun pertama dibentuk pada koordinat x=0, y=0, alas 1=130, alas2alas=130, dan tinggi 50 dengan warna 001 yaitu biru. Bangun kedua dibentuk pada koordinat x=-150, y=-90, alas1=100, alasalas2=100 dan tinggi 75 dengan warna 010 yaitu hijau. Dan bangun ketiga dibentuk pada koordinat x=50, y=75, alas1=80, alasalas2=80 dan tinggi 40 dengan warna 101 yaitu magenta. c. Buatlah project baru pada Visual Studio. Buatlah agar tampilan obyek 2 dimensi berbentuk Trapesium sama kaki seperti di bawah ini, gunakan primitif dan struktur vertex yang paling efisien. Tulis program dan Tampilkan hasilnya berupa screenshot yang berupa tampilan 3 bangun dengan posisi, dimensi, dan warna yang berbeda. Sintaks: include stdlib.h include glut.h void trapesium1 int posx, int posy, int alas, int alas2, int tinggi { glBeginGL_QUADS; glVertex2iposx, posy; glVertex2iposx + alas2, posy; glVertex2iposx + alas2 - alas3, posy + tinggi; glVertex2iposx-alas22+alas, posy+tinggi; glEnd; } void renderScene void { glClearGL_COLOR_BUFFER_BIT; glColor3f0., 1., 0.; trapesium175, -150, 120, 170, 100; glColor3f0., 0., 1.; trapesium1-170, -140, 100, 120, 90; glColor3f1., 0., 0.; trapesium1-140, 70, 70,100, 50; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition150, 150; glutInitWindowSize640, 440; glutCreateWindow Latihan Dua Dimensi ; gluOrtho2D-640.0, 640.0, -320.0, 320.0; glutDisplayFuncrenderScene; glutMainLoop; } Screenshoot : Penjelasan: - Pada program diatas saya membuat 3 buah bangun trapezium sama kaki dengan 3 warna varian berbeda dan koordinat yang berbeda. Sama dengan program sebelumnya yaitu trapesium sejajar, namun untuk pendeklarasian fungsi posx, posy berbeda sesuai dengan rumus perhitungan trapesium sama kaki. Perbedaannya pada perhitungan vertex terakhir untuk rumus pembentukan trapesium sama kaki. Pada fungsi renderscene dideklarasikan koordinat dan warna yang membentuk trapesium sama kaki. Untuk bangun pertama dibentuk pada koordinta x=75, y=-150, alas=120, alas2=170 dan tinggi 100 dengan warna 010 yaitu hijau. Untuk bangun kedua dibentuk pada koordinat x=-170, y=-140, alas=100, alas2=120 dan tinggi= 90 denan warna 001 yaitu biru. Dan untuk bangun ketida dibentuk pada koordinat x=-140, y=70, alas= 70, alas2=100 dan tinggi 50 dengan warna 100 yaitu merah. d. Buatlah project baru pada Visual Studio. Buatlah agar tampilan obyek 2 dimensi berbentuk jajaran genjang seperti di bawah ini, gunakan primitif dan struktur vertex yang paling efisien. Tulis program dan Tampilkan hasilnya berupa screenshot yang berupa tampilan 3 bangun dengan posisi, dimensi, dan warna yang berbeda. Sintaks : include stdlib.h include glut.h void jg int posx, int posy, float alas, int tinggi { glBeginGL_QUADS; glVertex2iposx, posy; glVertex2iposx+alas , posy; glVertex2iposx+alas-alas3, posy-tinggi; glVertex2iposx-alas3, posy-tinggi; glEnd; } void renderScene void { glClearGL_COLOR_BUFFER_BIT; glColor3f1., 1., 0.; jg-300, 150, 130, 85; glColor3f0., 0., 1.; jg50, 150, 120, 70; glColor3f0, 1., 1.; jg0, 0, 250, 150; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition150, 150; glutInitWindowSize640, 440; glutCreateWindow Latihan Dua Dimensi ; gluOrtho2D-640.0, 640.0, -320.0, 320.0; glutDisplayFuncrenderScene; glutMainLoop; } Screenshoot: Penjelasan: - Pada program diatas , menggunakan fungsi yang berbeda tentunya dengan program sebelumnya, sesuai dengan rumus perhitungan jajar genjang. Untuk pendeklarasian system koordinat yang digunakan untuk membangun gambar 2 dimensi ini terdapat pada fungsi renderScene. Untuk bangun pertama dibentuk dalam koordinat x=-300, y=150, alas= 130 dan tinggi=85 dengan warna 110 yaitu kuning. Kemudian untuk bangun kedua dibentuk pada koordinat x=50, y=150, alas=120 dan tinggi=70 dengan warna biru. Dan kemudian pada bangun ketiga , dibentuk pada koordinat x= 0, y=0, alas=250, tinggi=50 degan warna 011 yaitu cyan toska.

D. TUGAS ASISTENSI