Minggu, 25 Oktober 2015

Membuat Garis vertikal,horizontal dan diagonal menggunakan openGL (java)


LINE MAKER / MENU

Pada bagian ini digunakan untuk memanggil menu mana yang ingin kita gunakan atau kita pilih. Dimana masing-masing statemen pada menu terdapat didalam case dimana case 1 digunakan untuk garis vertical, case 2 untuk garis horizontal dan case 3 untuk garis diagonal.

VERTICAL
Disini saya akan membuat garis vertical dimana arti dari syntax atau perintahnya adalah:
Keterangan fungsi program diatas :
1.      Import java.util.* : Ini untuk memasukan fungsi pada program.
2.      Import org.lwjgl.LWJGLException : untuk memanggil library org.lwjgl.LWJGLException pada java.
3.      Import org.lwjgl.opengl.* : untuk memanggil library org.lwjgl.opengl.* pada java.
4.      Void main : Bagian inti dari seluruh projectnya.
Logika dari program yang akan menampilkan garis vertical akan saya jelaskan disini:
Scanner input =new Scanner(System.in) untuk menampilkan output pada program java yang telah di input
System.out.print(“Masukan titik awal (x) : “); kegunaannya untuk mencetak “masukan titik awal (x).
System.out.print(“Masukan titik awal (y) : “); kegunaannya untuk mencetak “masukan titik awal (y).
System.out.print(“Masukan panjang garis yang diinginkan (dalam pixel) : “); kegunaannya untuk mencetak “masukan panjang yang diinginkan (dalam pixel).
Kordin1=putin.nextLine() : untuk menginput koordinat dari x
Kordin2=putin.nextLine() : untuk menginput koordinat dari y
a =putin.nextLine() : untuk menginput nilai panjang garis yang diinginkan.
Display.setDisplayMode(new DisplayMode(300,300)); Untuk mengatur layar dimana outputnya menjadi 300,300
Display.setTitle("Garis Vertikal"); Untuk mengubah/membuat judul menjadi Garis Vertikal
Display.create(); Untuk menampilkan window.
catch (LWJGLException e) { System.exit(0);  Untuk mencegah agar layar tidak tertutup apabila library LWJGL tidak digunakan.
GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); untuk meload GL11. GL11.glOrtho(0, 800, 0, 600, 1, -1); untuk memanggil GL11 openGL sebagai rendering.GL11.glBegin(GL11.GL_QUADS); untuk memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4 titik yang ditentukan
GL11.glVertex2f(kordin1,kordi
n2); titik garis dengan kordin1(koordinat x), dan kordin2 (koordinat y).
GL11.glVertex2f(kordin1+5,kordin2); titik garis dengan koordinat x dimana disitu sengaja di beri jeda untuk mempertebal garis tersebut.
GL11.glVertex2f(kordinat1+5,kordinat2+a); untuk mempertebal garis sumbu tetapi pada statement ini digunakan pada titik akhir.
GL11.glVertex2f(kordinat1,kordinat2+a);  untuk memasukkan nilai garis yang akan di input atau digunakan untuk garis vertical yang akan di cantumkan pada titik sumbu y.
GL11.glEnd();  untuk mengakhiri proses


HORIZONTAL
Statement yang digunakan pada garis horizontal sama seperti pada vertical maka saya tidak menjelaskan kembali dan dapat dilihat pada keterangan di baris vertical.
Display.setTitle("Garis Horizontal"); Untuk mengubah/membuat judul menjadi Garis Horizontal
GL11.glVertex2f(kordin1,kordin2); titik garis dengan kordin1(koordinat x), dan kordin2 (koordinat y).
GL11.glVertex2f(kordin1,kordin2+5); titik garis dengan koordinat y dimana disitu sengaja di beri jeda untuk mempertebal garis tersebut.
GL11.glVertex2f(kordinat1+a,kordinat2+5); untuk mempertebal garis sumbu tetapi pada statement ini digunakan pada titik akhir.
GL11.glVertex2f(kordinat1+a,kordinat2);  untuk memasukkan nilai garis yang akan di input atau dimasukkan untuk garis Horizontal yang akan di cantumkan pada titik sumbu x. (titik akhir)
GL11.glEnd();  untuk mengakhiri proses

DIAGONAL


Display.setTitle("Garis Diagonal"); Untuk mengubah/membuat judul menjadi Garis Diagonal
GL11.glVertex2f(kordin1,kordin2); titik garis dengan kordin1(koordinat x), dan kordin2 (koordinat y).
GL11.glVertex2f(kordin1-5,kordin2); titik garis dimana disitu sengaja di beri jeda untuk mempertebal garis tersebut.
GL11.glVertex2f(kordinat1+a-5,kordinat2+a); pada koordinat x dan y akan dimasukkan inputan dari nilai (a) dan juga untuk mempertebal garis sumbu tetapi pada statement ini digunakan pada titik akhir.
GL11.glVertex2f(kordinat1+a,kordinat2+a);  untuk memasukkan nilai garis yang akan di input atau dimasukkan untuk garis Horizontal yang akan di cantumkan pada titik sumbu x dan y. (titik akhir)
GL11.glEnd();  untuk mengakhiri proses

Maka outputnya sebagai berikut

Contoh disini saya memilih 2 yaitu horizontal hasilnya

Dapat pula memilih yang lain dengan hasil