Upload
ristyadwimasaputri
View
22
Download
6
Embed Size (px)
DESCRIPTION
MEMBUAT GARIS VERTICAL,HORIZONTAL,DIAGONAL
Citation preview
MEMBUAT GARIS VERTIKAL HORIZONTAL DIAGONAL
OpenGL adalah kumpulan standard API (Application Programming Interface) yang menghubungkan software dengan hardware grafis untuk menampilkan gambar 2D dan 3D. Intinya OpenGL itu adalah kumpulan library untuk mengakses hardware (GL= graphical library). Sedangkan , Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Pada Pembuatan Garis ini terdapat 4 Class yaitu : Menu , Diagonal , Vertikal , Horizontal. dan yang menjadi main atau class yang dijalankan pertama kali adalah Menu.
LOGIKA :
import java.util.*; memanggil library untuk fungsi scanner yang berguna untuk inputan.
import org.lwjgl.LWJGLException; memanggil library untuk menjalankan fungsi pengecualian pada lwjgl
public class LineMenu {Pendeklarasian Variabel Opt , Penggunaan JOptionPane sebagai Form Input untuk memanggil Class yang telah dibuat
public static void main(String[] args) throws LWJGLException{ int pil; case 1:
Case 1 memanggil Class Vertikal dengan sub pemanggilnya yaitu grs_v agar dimunculkan dilayar setelah di tekan angka 1 lalu Enter.
case 2: Case 2 memanggil Class Horizontal dengan sub pemanggilnya yaitu grs_h agar dimunculkan dilayar setelah di tekan angka 2 lalu Enter.
case 3: Case 3 memanggil Class Diagonal dengan sub pemanggilnya yaitu grs_d agar dimunculkan dilayar setelah di tekan angka 1 lalu Enter.
1. Vertikal
LOGIKA :
import org.lwjgl.LWJGLException; memanggil library untuk menjalankan fungsi pengecualian pada lwjgl
import org.lwjgl.opengl.*; memanggil library 'lwjgl' untuk menjalankan renderer opengl
import java.util.*; memanggil library untuk fungsi scanner yang berguna untuk inputan
int a,kordin1,kordin2; mendefinisikan suatu variabel 'a,kordin1,dan kordin2' Scanner putin = new Scanner(System.in);
Mendefinisikan suatu fungsi Scanner pada 'putin' untuk menerima input si user.
System.out.print("Masukan titik awal (x) : "); kordin1 = putin.nextInt();
untuk input koordinat x System.out.print("Masukan titik awal (y) : "); kordin2 = putin.nextInt(); untuk input koordinat y System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) : "); a = putin.nextInt();
menerima input si user dan memasukannya kedalam variabel 'a' yang akan digunakan sebagai panjang dari garis yang akan kita buat
try { Display.setDisplayMode(new DisplayMode(300,300));
membuat sebuah jendela rendering dengan ukuran = 300x300 Display.setTitle("Garis Vertikal"); mengubah nama jendela menjadi "Garis Vertikal" Display.create();
membuat jendela rendering } catch (LWJGLException e) { System.exit(0);
mencegah jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL } GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(0, 800, 0, 600, 1, -1);
memanggil opengl sebagai jendela renderer GL11.glMatrixMode(GL11.GL_MODELVIEW); while (!Display.isCloseRequested()) {
mencegah jendela renderer tertutup kecuali ditutup sendiri oleh user GL11.glBegin(GL11.GL_QUADS);
memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4 titik yang ditentukan GL11.glVertex2f(kordin1,kordin2);
titik awal GL11.glVertex2f(kordin1+5,kordin2);
titik awal, pada sumbu x sengaja diberi jeda agar mempertebal garis yang akan dibentuk GL11.glVertex2f(kordin1+5,kordin2+a); titik akhir, pada sumbu x sengaja diberi jeda agar mempertebal garis yang akan dibentuk GL11.glVertex2f(kordin1,kordin2+a);
titik akhir, pada sumbu y variabel akan ditambahkan 'a' yang sesuai dengan inputan user GL11.glEnd();
mengakhiri proses render Display.update();
}}}
OUTPUT
Disini pada bagian horizontal dan diagonal saya menjelaskan lagi codingan :
import org.lwjgl.LWJGLException; import org.lwjgl.opengl.*; import java.util.*; public class Horizontal {public void layar() throws LWJGLException {int a,kordin1,kordin2; Scanner putin = new Scanner(System.in); System.out.print("Masukan titik awal (x) : ");kordin1 = putin.nextInt(); System.out.print("Masukan titik awal (y) : ");kordin2 = putin.nextInt(); System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) : ");a = putin.nextInt();
karena seperti codingan garis vertical karena garis horizontal dan diagonal sama saja seperti codingan garis vertical.
2. Horizontal
LOGIKA:try {Display.setDisplayMode(new DisplayMode(300,300)); membuat sebuah jendela rendering dengan seting luas layar = 300x300Display.setTitle("Garis Horizontal"); mengubah nama jendela rendering menjadi "Garis Horizontal"Display.create(); membuat jendela rendering} catch (LWJGLException e) {System.exit(0); mencegah jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL}GL11.glMatrixMode(GL11.GL_PROJECTION);GL11.glLoadIdentity(); memanggil opengl sebagai renderer GL11.glOrtho(0, 800, 0, 600, 1, -1);GL11.glMatrixMode(GL11.GL_MODELVIEW); while (!Display.isCloseRequested()) { mencegah jendela renderer tertutup kecuali ditutup sendiri oleh userGL11.glBegin(GL11.GL_QUADS); memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4 titik yang ditentukanGL11.glVertex2f(kordin1,kordin2); titik awalGL11.glVertex2f(kordin1,kordin2+5); titik awal, pada sumbu y sengaja diberi jeda agar mempertebal garis yang akan dibentukGL11.glVertex2f(kordin1+a,kordin2+5); titik akhir, pada sumbu x variabel akan ditambahkan 'a' yang sesuai dengan inputan user dan pada sumbu y sengaja diberi jeda agar mempertebal garis yang akan dibentukGL11.glVertex2f(kordin1+a,kordin2); titik akhir, pada sumbu x variabel akan ditambahkan 'a' yang sesuai dengan inputan userGL11.glEnd(); mengakhiri proses renderDisplay.update();}
}}
OUTPUT
3. Diagonal
LOGIKA
try {Display.setDisplayMode(new DisplayMode(300,300)); membuat sebuah jendela rendering dengan seting luas layar = 300x300Display.setTitle("Garis Diagonal"); mengubah nama jendela rendering menjadi "Garis Diagonal"Display.create(); membuat jendela rendering} catch (LWJGLException e) {System.exit(0); mencegah jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL\}GL11.glMatrixMode(GL11.GL_PROJECTION);GL11.glLoadIdentity(); memanggil opengl sebagai renderer GL11.glOrtho(0, 800, 0, 600, 1, -1);GL11.glMatrixMode(GL11.GL_MODELVIEW);while (!Display.isCloseRequested()) { mencegah jendela renderer tertutup kecuali ditutup sendiri oleh userGL11.glBegin(GL11.GL_QUADS);GL11.glVertex2f(kordin1,kordin2); titik awalGL11.glVertex2f(kordin1-5,kordin2); titik awal, pada sumbu x sengaja diberi jeda untuk mempertebal garisGL11.glVertex2f(kordin1+a-5,kordin2+a); titik akhir, pada sumbu x dan y variabel akan ditambahkan 'a' yang sesuai dengan inputan user dan pada sumbu x sengaja diberi jeda untukmempertebal garisGL11.glVertex2f(kordin1+a,kordin2+a); titik akhir, pada sumbu x dan y variabel akan ditambahkan 'a' yang sesuai dengan inputan userGL11.glEnd(); mengakhiri proses renderDisplay.update();}}}
OUTPUT