5
PERANCANGAN ANIMASI KERETA INTERAKTIF 2D Chandra Eko Saputra 1 , Kemala Dewi 2 , Sri Wulan Dari 3 , Aprizal Ardi 4 Jurusan Sistem Komputer Fakultas Ilmu Komputer Universitas Sriwijaya Email : [email protected] , [email protected] , [email protected] , [email protected] Abstrak Grafika komputer telah menunjukkan kemajuan yang pesat, semakin banyak bahasa pemrograman yang dilengkapi dengan tools/library pembuatan grafik. Salah satu tools/library pembuatan aplikasi grafik adalah OpenGL (Open Graphics Library). OpenGL(Open Graphics Library) adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. Pada jurnal ini akan dibahas perancangan animasi kereta 2D yang akan terus berjalan ke kiri keluar dari jendela aplikasi sebelum kemudian kembali ke kanan begitu terus sebaliknya. Keyword: grafika, animasi, 2D, kereta 1. PENDAHULUAN Grafika komputer telah menunjukkan kemajuan yang pesat dalam pengembangan berbagai aplikasi untuk menghasilkan gambar. Grafika komputer digunakan untuk menunjang berbagai bidang dengan teknologi grafika berbasis komputer. Pada saat ini grafika komputer sudah digunakan pada bidang sains, engineering, kedokteran, bisnis, industri, pemerintahan, seni, hiburan, iklan, pendidikan, dan lain- lain. Oleh karena itu, sudah semakin banyak pula bahasa pemrograman yang dilengkapi dengan tools/library pembuatan grafik Salah satu tools/library pembuat an aplikasi grafik adalah OpenGL (Open Graphics Library). OpenGL (Open Graphics Library) adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. Selama ini telah banyak animasi-animasi baik 2D maupun 3D yang telah dibuat menggunakan teknologi digital. Animasi yang penulis buat ini tentunya ada sebuah kereta yang akan terus berjalan ke kiri keluar dari jendela aplikasi sebelum kemudian kembali ke kanan begitu terus sebaliknya. 2. TINJAUAN PUSTAKA Grafika komputer (Inggris: Computer graphics) adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual)

Perancangan Animasi Kereta Interaktif 2D

Embed Size (px)

DESCRIPTION

komputer grafik

Citation preview

PERANCANGAN ANIMASI KERETA INTERAKTIF 2D

Chandra Eko Saputra1, Kemala Dewi2, Sri Wulan Dari3, Aprizal Ardi4

Jurusan Sistem KomputerFakultas Ilmu Komputer Universitas Sriwijaya

Email :[email protected], [email protected], [email protected], [email protected]

Abstrak

Grafika komputer telah menunjukkan kemajuan yang pesat, semakin banyak bahasa pemrograman yang dilengkapi dengan tools/library pembuatan grafik. Salah satu tools/library pembuatan aplikasi grafik adalah OpenGL (Open Graphics Library). OpenGL(Open Graphics Library) adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. Pada jurnal ini akan dibahas perancangan animasi kereta 2D yang akan terus berjalan ke kiri keluar dari jendela aplikasi sebelum kemudian kembali ke kanan begitu terus sebaliknya.

Keyword: grafika, animasi, 2D, kereta

1. 2. PENDAHULUANGrafika komputer telah menunjukkan kemajuan yang pesat dalam pengembangan berbagai aplikasi untuk menghasilkan gambar. Grafika komputer digunakan untuk menunjang berbagai bidang dengan teknologi grafika berbasis komputer. Pada saat ini grafika komputer sudah digunakan pada bidang sains, engineering, kedokteran, bisnis, industri, pemerintahan, seni, hiburan, iklan, pendidikan, dan lain-lain. Oleh karena itu, sudah semakin banyak pula bahasa pemrograman yang dilengkapi dengan tools/library pembuatan grafik Salah satu tools/library pembuatan aplikasi grafik adalah OpenGL (Open Graphics Library). OpenGL (Open Graphics Library) adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi.Selama ini telah banyak animasi-animasi baik 2D maupun 3D yang telah dibuat menggunakan teknologi digital. Animasi yang penulis buat ini tentunya ada sebuah kereta yang akan terus berjalan ke kiri keluar dari jendela aplikasi sebelum kemudian kembali ke kanan begitu terus sebaliknya.

2. TINJAUAN PUSTAKAGrafika komputer (Inggris: Computer graphics) adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.

2.1. Primitive ObjectPrimitives merupakan geometri sederhana (basic) : titik (points), garis (lines), segiempat (quads), dan segitiga (triangles).Primitif objek terdiri atas[1] : Titik, yaitu Vertex, dimana vertex merupakan acuan dasar. Garis, yaitu Line/Edge Bangun 2D (Face)Fungsi Dasar Menggambar Titik glVertex2i(x,y), yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan berupa integer. Contoh glVertex2i(10,10); glVertex2f(x,y), yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan berupa float. Contoh glVertex2f(10.0,10.0); glVertex2d(x,y),yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan berupa double. Contoh glVertex2d(10.0,10.0);Berikut adalah primitive objek yang akan dipergunakan didalam pembuatan suatu objek [1] : # define GL_POINTSPrimitif objek ini dipergunakan untuk menciptakan suatu titik. # define GL_LINESPrimitif objek ini adalah suatu primitive objek guna menciptakan suatu garis. # define GL_LINE_LOOP # define GL_LINE_STRIP # define GL_TRIANGLESTriangle atau segitiga adalah tiga buah titik yang terhubung menjadi suatu segitiga dengan blok di tengahnya. Pada penggunaan primitive objek ini kita harus menggunakan minimal 3 buah vertex guna membentuk suatu objek. # define GL_TRIANGLES_STRIP, Pada triangles strip jumlah vertex yang dipergunakan adalah 4 buah vertex. # define GL_TRIANGLE_FANTriangles fan adalah pembuatan suatu objek dengan menggunakan segitiga dimana hanya menggunakan 1 titik pusat saja. # define GL_QUADSQuad atau segiempat adalah empat buah titik yang terhubung menjadi suatu segempat dengan blok di tengahnya. # define GL_QUADS_STRIPPada quads strip 4 buah vertex merupakan 1 kelompok.Langkah rendering pada quads strip :a. Nomor yang berhadap (membentuk 2 garis yang sejajar)b. Nomor ganjil dengan nomor ganjil dipertemukanc. Nomor genap dengan nomor genap dipertemukand. Garis yang tersisa akan dipertemukan # define GL_POLYGONPolygon merupakan suatu fungsi yang mirip dengan polyline, tetapi menghasilkan kurva tertutup dengan blok warna (fill). Rendering yang dimiliki oleh GL_POLYGON sama dengan GL_TRIANGLE_FAN

Menggambar lingkaran pada perancangan ini digunakan metode trigonometri dimana :

Lingkaran dengan pusat (a,b) dan Radius r, dengan persamaan : x = a + r cos dan y = b + r sin Persamaan diperoleh dengan menggeser titik pusat (0,0) ke titik (a,b) diikuti dengan pergeseran titik yang lainnya [1].

2.2. TransformasiTransformasi merupakan suatu metode untuk mengubah lokasi suatu titik pembentuk objek, sehingga objek tersebut mengalami perubahan. Perubahan objek dengan mengubah koordinat dan ukuran suatu objek disebut dengan transformasi geometri. Dalam Transformasi dasar yang akan dibahas meliputi translasi, skala, dan rotasi.2.2.1 TranslasiTranslasi berarti memindahkan objek sepanjang garis lurus dari suatu lokasi koordinat tertentu kelokasi yang lain tanpa mengubah bentuk objek. Bila suatu objek terbentuk dari beberapa titik maka bila melakukan translasi akan dikenakan terhadap setiap titik pembentuk objek tersebut.Tv -> Perpindahan obyek dengan vektor arah v = a i + b j.Dengan: a = besarnya perpindahan ke xb = besarnya perpindahan ke y y

Translasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translasi vector yaitu (trx,try), dimana trx adalah translation vector menurut sumbu x sedangkan try adalah translasi vector terhadap sumbu y.

2.3. BlendingBlending merupakan menggabung kan nilai intensitas warna dari sumber (source) dan tujuan (destination/object) atau mengkombinasikan warna output fragment dengan warna output fragment yang dirender sebelumnya ke frame buffer.Source and Destination Factor : RGBA (Red, Green, Blue, Alpha)Alpha digunakan untuk mengatur tingkat opacity objek. a = 1 Perfectly opaque (objek terlihat jelas), a = 0 Perfectly transparent (objek hilang), 0 < a < 1 Different levels of translucency (objek terlihat transparan) Blending colors Source color : (Rs, Gs, Bs, As) Destination color : (Rd, Gd, Bd, Ad) Source factor : (Sr, Sg, Sb, Sa) Destination factor: (Dr, Dg, Db, Da)Blended RGBA = (RsSr+RdDr, GsSg+GdDg, BsSb+BdDb, AsSa+AdDa)

2.4. Camera dan ViewingCamera and viewing adalah Cara mengatur pandangan objek 2D maupun 3D dan mengontrol pergerakan kamera.Parallel Projection Syntax gluOrtho2D(-100,100,-200,200);Mendefinisikan besarnya sistem koordinat 2D : dengan range sumbu x adalah [-100,100] dan range untuk sumbu y adalah [-200,200] glOrtho(-15.0, 20.0, -10.0, 15.0, -50.0, 70.0);Mendefinisikan besarnya sistem koordinat 3D : dengan range sumbu x adalah [-15,20], range untuk sumbu y adalah [-10,15], range untuk sumbu z adalah [-50,70]

3. PEMBAHASAN3.1 Komponen Pembangun ObjekKomponen pada pembangunan animasi Kereta ini kebanyakan menggunakan GL_QUADS dan GL_POLYGON untuk menggambar badan kereta. Namun fungsi-fungsi OpenGL lainnya seperti GL_LINES dan GL_TRIANGLES juga tak kalah penting sehingga fungsi-fungsi tersebut juga sering digunakan.

3.2 Fungsi Dasar Pembentuk Objek

VoidKeterangan

int i;const double PI = 3.14;void lingkaran(int jari2, int jumlah_titik, int x_tengah, int y_tengah) { glBegin(GL_POLYGON); for (i=0;i-1200; r--; r==-1200; ujung=0; } if(GetAsyncKeyState(VK_RIGHT)) { r