PRAKTIKUM GRAFIKA
KOMPUTER DAN MULTIMEDIA
DI SUSUN
OLEH :
NAMA : ISPANDI
NIM :
1220305094
KELAS : N3 SORE
DOSEN PEMBIMBING : MURSYIDAH,S.T.,M.T
PROGRAM STUDI TEKNIK
MULTIMEDIA DAN JARINGAN
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI
LHOKSEUMAWE
2015
LEMBAR PENGESAHAN
Judul
Praktikum :
“Rotasi”
No.
Praktikum :
07/N3/TMJ/2015
Nama
Pratikan :
ISPANDI
Nim : 1220305095
Kelas/Semester : N3 / VI (Genap)
Jurusan/Prodi : Teknik Elektro / TMJ
Tanggal
Praktikum : 02 April 2015
Tanggal
Pengesahan : 09 April 2015
Mengetahui,
Dosen Pembimbing Praktikan
MURSYIDAH,
ST., M.T ISPANDI
NIP. NIM.1220305094
PRAKTIKUM 7
ROTASI
I.
TUJUAN
1.
Mahasiswa dapat membuat
program untuk membuat obek menjadi Berputar.
2.
Mahasiswa mampu
menjelaskan dan memahami setiap kode program
II.
DASAR
TEORI
A. Pengenalan Transformasi Dasar 2D
Setelah suatu objek grafis
dibangun, kita dapat melakukan transformasi terhadap objek grafis tersebut
dengan berbagai cara tanpa menambahkan komponen baru apapun pada objek grafis
tersebut. Ada banyak cara untuk melakukan transformasi objek grafis, tapi
beberapa cara transformasi yang umum
adalah :
1.
Translasi : objek dipindahkan ke lokasi baru tanpa mengubah bentuk, ukuran atau
orientasinya.
2.
Rotasi : objek dirotasi (diputar) terhadap titik tertentu tanpa mengubah
bentuk dan ukurannya
3.
Scalling : objek diperbesar atau diperkecil. objek dapat diskalakan
menggunakan faktor yang sama baik secara horisontal maupun vertikal sehingga
proporsinya tetap atau bisa menggunakan faktor yang berbeda yang akan
menyebabkan objek tersebut menjadi lebih lebih tinggi, lebih pendek, lebih
tipis atau lebih tebal.
Translasi dan rotasi
disebut juga sebagai rigid body transformation yaitu transformasi yang
hanya mengubah posisi objek, tanpa mengubah bentuknya
a. Translasi
Translasi adalah
transformasi paling sederhana yang dapat diterapkan pada suatu objek grafis.
Secara sederhana translasi adalah memindahkan objek grafis dari satu tempat ke
tempat lain tanpa mengubah tampilan dan orientasi.
Untuk menghasilkan translasi
dari suatu objek grafis, kita menambahkan konstanta Tx pada koordinat x dan
konstanta Ty pada koordinat Y, formula ini diterapkan pada semua titik pada
objek yang akan ditranslasikan.
Pada prakteknya untuk mentranslasikan objek grafis, tentu saja
kita tidak harus
menghitung
semua titik pada objek tersebut, tetapi cukup titik-titik pentingnya saja.
Contoh untuk
memindahkan garis, cukup dihitung titik awal dan akhir saja kemudian
gambarkan
garis dari kedua titik tersebut. Contoh kedua untuk memindahkan lingkaran
cukup
menghitung titik pusat lingkaran kemudian dengan menggunakan algoritma
penggambaran lingkaran, lingkaran dengan posisi baru bisa dibentuk.
b. Rotasi
Diktat Kuliah Grafika
Komputer Rotasi suatu image adalah memutar objek terhadap titik
tertentu di bidang xy. Bentuk dan ukuran objek
tidak berubah. Untuk melakukan rotasi perlu diketahui sudut rotasi θ dan pivot point (Xp,Yp) atau titik rotasi dimana
objek dirotasi. NIlai positif dari sudut
rotasi menentukan arah rotasi berlawanan dengan jarum jam dan sebaliknya nilai
negative akan memutar objek searah jarum jam
Rotasi yang paling sederhana
adalah rotasi dengan pivot point di titik pusat koordinat sistem yaitu (0,0).
Pada gambar 5.xx terlihat titik (x,y) dirotasi terhadap titik pusat koordinat
sistem dengan sudut θ, sudut terhadap sumbu x adalah sebesar Ф. Dengan menggunakan
trigonometri dasar dapat dihitung bahwa
GLUT
(OpenGL Utility Toolkit) adalah hasil pengembangan dari openGL yang didesain
dengan level kecil dan menengah yang menggunakan function untuk menambah interaksi
dari user. GLUT dipilih karena di dalamnya telah terdapat banyak fungsi
yang dapat dipakai untuk pembuatan application window. Disamping itu, windowing pada GLUT juga bersifat independen
terhadap sistem operasi, sehingga user tidak perlu mengubah kode program jika
diterapkan pada sistem operasi yang berbeda.
Tabel 1. Beberapa perintah
GLUT
Perintah
|
Arti
|
Keterangan
|
glVertex2i(x,y);
|
Lokasi titik berada di (x,y)
|
Tipe argumennya adalah integer dan 2 dimensi yaitu x dan y
|
glVertex2f(x,y);
|
Lokasi titik berada di (x,y)
|
Tipe argumennya adalah float dan 2 dimensi yaitu x dan y
|
glVertex3i(x,y,z);
|
LoLokasi titik berada di (x,y,z)
|
Tipe argumennya adalah integer dan 2 dimensi yaitu x, y dan z
|
glVertex3f(x,y,z);
|
Lokasi titik berada di (x,y,z)
|
Tipe argumennya adalah float dan 2 dimensi yaitu x, y dan z
|
glClearColour(R, G, B, α);
|
Warna latar belakang
|
Empat komponen warna yaitu Red, Green, Blue dan
alpha
|
glColor3f(R, G, B);
|
Warna lata rmuka (pena)
|
Tiga komponen warna yaitu Red, Green dan Blue
|
glColor4f(R, G, B, α);
|
Warna latar muka (pena)
|
Empat komponen warna yaitu Red, Green, Blue dan
alpha
|
glPointSize(k);
|
Ukuran titik k piksel
|
Besar kecilnya ukuran titik tergantung pada k (integer)
|
glBegin(GL_POINTS);
|
Titik
|
Objek primitive
|
glBegin(GL_LINES);
|
Garis
|
Objek primitive
|
glBegin(GL_LINE_STRIP);
|
Poligaris
|
Objek primitive
|
glBegin(GL_LINE_LOOP);
|
Poligaris tertutup (polygon)
|
Objek primitive
|
glBegin(GL_TRIANGLES);
|
Segitiga
|
Objek primitive
|
glBegin(GL_TRIANGLE_STRIP);
|
Segitiga
|
Objek primitive
|
glBegin(GL_TRIANGLE_FAN);
|
Segitiga
|
Objek primitive
|
glBegin(GL_QUADS);
|
Segiempat
|
Objek primitive
|
glBegin(GL_QUAD_STRIP);
|
Segiempat
|
Objek primitive
|
glBegin(GL_POLYGON);
|
Poligon
|
Objek primitive
|
glBegin(GL_LINE_STIPPLE);
|
Garis putus-putus
|
Objek primitive
|
glBegin(GL_POLY_STIPPLE);
|
Poligon dengan polatertentu
|
Objek primitive
|
glRect(GLint x1, GLint y1,
GLint x2, GLint y2);
|
Segiempat siku-siku
|
Objek primitive dan ukuran segiempat ditentukan oleh dua titik yaitu (x1,y1) dan (x2
|
III.
ALAT
DAN BAHAN
1. CPU
2. Monitor
3. Keyboard
4. Mouse
5.
Job sheet praktikum
6.
Software Microsoft
Visual Studio 2012
IV.
LANGKAH
KERJA
1. Menghidupkan komputer untuk
menjalankan program visual studio
2.
Setelah
itu membuka aplikasi microsoft visual studio 2012 dengan cara klik 2x pada
shortcut icon microsoft visual studio 2012.
4. Kemudian
memilih Visual C++àEmpty Project,
dan membuat nama project dengan nama Titik, dan menententukan tempat
penyimpanan project, dengan cara klik Browse..
setelah it klik OK.
6. Setelah
itu akan muncul jendela baru seperti gambar dibawah ini, pilih Visual
C++àC++ File (.cpp),
buat nama file tersebut, jika sudah klik Add.
7. Langkah
selanjutnya mengetik program dibawah ini.
v Program :
#include <stdlib.h>
#include <glut.h>
int x=0, y=0;
void Draw()
{
glBegin(GL_TRIANGLES);
glClear(GL_COLOR_BUFFER_BIT);
glVertex2i(-50, 100);
glColor3f(0,0,1);
glVertex2i(50, 100);
glColor3f(0,1,0);
glVertex2i(0, 0);
glColor3f(0,0,1);
glVertex2i(0, 0);
glVertex2i(-50, -100);
glVertex2i(50, -100);
glEnd();
glFlush();
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glRotatef( x, 0, 0, 1);
Draw();
glPopMatrix();
glPushMatrix();
glRotatef( y, 0, 0, 1);
Draw();
glPopMatrix();
glFlush();
}
void timer(int value)
{
//tuliskan varibel yang berubah nilainya disini
x +=15;
y -=15;
glutPostRedisplay();
glutTimerFunc(500,timer,10);
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
glutCreateWindow("HASIL_ISPANDI");
gluOrtho2D(-320.,320.,-320.,320.);
glutDisplayFunc(display);
glutTimerFunc(500, timer, 10);
glutMainLoop();
}
VI.
KESIMPULAN
Setelah
melakukan praktikum dapat disimpulkan bahwa membuat sebuah program pada visual
studio harus sudah menggunakan glut. Karena jika glutnya tidak ada maka program
yang dijalankan tidak bisa dibaca atau dikenali.
Pada program
diatas yaitu untuk membuat sebuah objek rotasi dimana objek berputar untuk
membuat objek berputar kita menggunakan perintah opengl yaitu glRotatef. Sebelum membuat objek
berputar terlebih dahulu kita buat objek apa yang ingin kita gambarkan kemudian
baru setelah itu baru kita beri sintak glRotatef untuk membuat rotasi pada gambar,
kemudian tentaukan timer atau pun kecepatan rotasi pada objek x+1,z+1, atau pun
x+5,z+5 agar perputaran objek semakin cepat.