Operasi Rotasi Rotasi Operasi Skala Penskalaan adalah suatu operasi yang membuat suatu objek berubah
56
public void render { glClearGL_COLOR_BUFFER_BIT;
glLoadIdentity; glColor3d1, 0, 0;
buatKotak; glTranslated0,90, 0;
glColor3f1, 1, 0; buatKotak;
glTranslated90,180, 0; glColor3f0, 0, 1;
buatKotak; glFlush;
} public void buatKotak {
membuat kotak glBeginGL_POLYGON;
glVertex2f250, 120; titik kiri bawah glVertex2f450, 120; titik kanan bawah
glVertex2f450, 200; titik kanan atas glVertex2f250, 200; titik kiri atas
glEnd;
} public void create throws LWJGLException {
Display.setDisplayModenew DisplayMode800, 600; Display.setFullscreenfalse;
Display.setTitleProses Rotasi; Display.create;
initGL; resizeGL;
} void initGL {
glClearColor0.0f, 1.0f, 1.0f, 1.0f; glDisableGL_DEPTH_TEST;
glDisableGL_LIGHTING; }
public void resizeGL { glViewport0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT;
glMatrixModeGL_PROJECTION; glLoadIdentity;
gluOrtho2D0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT; glPushMatrix;
glMatrixModeGL_MODELVIEW; glLoadIdentity;
glPushMatrix;
} public void run {
while Display.isCloseRequested Keyboard.isKeyDownKeyboard.KEY_ESCAPE {
if Display.isVisible { update;
render; } else {
if Display.isDirty { render;
57
} try {
Thread.sleep100; } catch InterruptedException ex {
} }
Display.update; Display.sync60;
} }
private void update { }
public void destroy {
Mouse.destroy; Keyboard.destroy;
Display.destroy; }
public static void mainString[] args { Rotasi b1 = new Rotasi;
try { b1.create;
b1.run; } catch LWJGLException ex {
Logger.getLoggerRotasi.class.getName.logLevel.SEVERE, null, ex;
} }
}
Kegiatan Praktikum 4.2 Rotasi
Membuat persegi panjang dengan warna merah. Kemudian hasil rotasidiputar sebesar 15 derajat adalah persegi panjang dengan warna
kuning dan di rotasidiputar kembali sebesar -45 derajat adalah persegi panjang warna biru.
58 Rotasi.java
import java.util.logging.Level; import java.util.logging.Logger;
import static komgraf01.KomGraf01.DISPLAY_HEIGHT; import static komgraf01.KomGraf01.DISPLAY_WIDTH;
import org.lwjgl.LWJGLException; import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse; import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode; import static org.lwjgl.opengl.GL11.;
import static org.lwjgl.util.glu.GLU.gluOrtho2D;
public class Rotasi { public void draw{
membuat titik }
public void render { glClearGL_COLOR_BUFFER_BIT;
glLoadIdentity; glColor3d1, 0, 0;
buatKotak; glRotated15, 0, 0, 1.0;
glColor3f1, 1, 0; buatKotak;
glRotated-45, 0, 0, 1.0; glColor3f0, 0, 1;
buatKotak; glFlush;
} public void buatKotak {
membuat kotak glBeginGL_POLYGON;