30
“ OBJEK GRAFIK 2 DIMENSI ” Kelompok 1 Daftar Anggota Kelompok: 1. Edwin Ho (52007011) 2. Febrin Adrianus(52007016) 3. Haryanto Sastrowijaya(52007024) 4. Irfandy Wijaya(52007031) I | P a g e

TI-1-Kelompok-1

  • Upload
    armin

  • View
    1.987

  • Download
    2

Embed Size (px)

Citation preview

Page 1: TI-1-Kelompok-1

“ OBJEK GRAFIK 2 DIMENSI ”

Kelompok 1Daftar Anggota Kelompok:

1. Edwin Ho (52007011)2. Febrin Adrianus(52007016)3. Haryanto Sastrowijaya(52007024)4. Irfandy Wijaya(52007031)

JURUSAN : TEKNIK INFORMATIKA

STMIK KHARISMA MAKASSAR

2009

I | P a g e

Page 2: TI-1-Kelompok-1

K a t a P e n g a n t a r

Pertama-tama kami mengucapkan terima kasih yang sebesar-besarnya kepada Tuhan Yang Maha Esa karena atas bimbingan-Nya kami dapat menyelesaikan tugas yang berjudul: Objek Grafik 2 Dimensi.

Tugas ini merupakan tugas wajib untuk diselesaikan, demi kelancaran pembelajaran tentang grafika komputer. Grafika komputer pada dasarnya adalah suatu ilmu bidang komputer yang mempelajari cara-cara meningkatkan dan memudahkan komunikasi antara manusia dengan mesin (komputer) dengan membangkitkan, menyimpan, dan memanipulasi gambar model suatu objek menggunakan komputer. Grafika komputer memungkinkan kita untuk berkomunikasi lewat gambar-gambar, bagan-bagan dan diagram-diagram. Adapun tujuan akhir dari tugas ini adalah agar pembaca dapat mempelajari struktur dasar objek grafik 2 dimensi, membangun objek grafik 2 dimensi, dan mengenal macam-macam objek 2 dimensi yang menarik dan berguna, seperti pembuatan grafik untuk keperluan visualisasi dan analisis. Kami menyadari bahwa kami adalah manusia biasa yang tidak sempurna dan tidak luput dari kesalahan, karena hal itulah maka kami memerlukan bantuan dukungan dari beberapa pihak dalam menyelesaikan tugas ini.

Kami menyadari bahwa tugas ini masih memiliki kekurangan-kekurangan, karena itu segala kritik dan saran yang bersifat membangun akan kami terima dengan hati terbuka.

Dengan diselesaikannya tugas ini, semoga dapat bermanfaat bagi semua pihak yang membaca.

Makassar, April 2009

Kelompok 1

i | P a g e

Page 3: TI-1-Kelompok-1

D A F T A R I S I

Kata Pengantar..............................................................................i

Daftar Isi........................................................................................ ii

Bab I. Pendahuluan......................................................................1

Bab II. Pembahasan

A.Definisi Objek Grafik 2 Dimensi..............................................3

A.1.Mendefinisikan Titik 2D...................................................3

A.2.Mendefinisikan Warna.....................................................4

A.3.Mendefinisikan dan Menggambar Objek Grafik 2D.........6

B.PolyLine..................................................................................6

C.Polygon...................................................................................8

D.Fillpolygon..............................................................................9

E.GradatePolygon....................................................................11

F.Membangun Objek Grafik 2D...............................................12

G.Membuat Objek Grafik 2D dengan Persamaan Matematik. .13

H.Animasi 2D...........................................................................14

I.Struktur Data dan Implementasi Kerja...................................15

Bab III. Kesimpulan....................................................................18

Daftar Pustaka............................................................................19

ii | P a g e

Page 4: TI-1-Kelompok-1

B A B I

P e n d a h u l u a n

Pada saat pertama kali ditemukan, komputer digunakan terutama sebagai alat bantu untuk memproses hitung-menghitung. Dalam perkembangan selanjutnya, data yang harus ditangani bertambah banyak. Hal itu tentu menimbulkan persoalan baru, yakni bagaimana data yang sangat banyak bias ditangani dan disajikan dengan cara lebih efisien dan efektif. Memang, komputer bisa mencetak hasil keluaran hingga berates-ratus halaman, bahkan beribu-ribu halaman jika diperlukan. Meskipun demikian, tentu akan sangat membosankan bila orang harus membaca laporan-laporan yang sangat panjang, yang tentu saja akan memakan banyak waktu. Kemungkinan terjadinya kesalahan menjadi lebih besar. Jelasnya, mereka yang membaca laporan-laporan tersebut harus benar-benar tahu arti sesungguhnya dari angka-angka yang tersaji di dalamnya.

Untuk menangani masalah tersebut, dikembangkan satu alat bantu yang bisa dipakai untuk menyajikan data dalam jumlah yang sangat besar ke dalam sebuah bagan sehingga memudahkan pemahaman. Bahkan ada pepatah yang mengatakan bahwa sebuah gambar lebih bermakna dari satu juta angka. Keberadaan alat bantu tersebut, pada saat-saat tertentu dan untuk keperluan tertentu, menyebabkan penggunaan bagan lebih disukai dibandingkan bila hanya melihat deretan angka yang sangat membosankan. Sejalan dengan hal tersebut, para ahli komputer telah mengembangkan perangkat yang bisa membuat komputer semakin pandai, yakni dengan menambahkan kemampuan grafis. Dengan demikian, bisa dikatakan bahwa semua komputer kini memiliki kemampuan grafis. Kemudian, lahirlah apa yang disebut grafika komputer (computer graphics).

Grafika komputer pada dasarnya adalah suatu bidang ilmu komputer yang mempelajari cara-cara untuk meningkatkan dan memudahkan komunikasi antara manusia dengan mesin (komputer) dengan jalan membangkitkan, menyimpan, dan memanipulasi gambar model suatu objek menggunakan komputer. Grafika komputer memungkinkan kita untuk berkomunikasi lewat gambar-gambar, bagan-bagan, dan diagram-diagram.

Grafika komputer dikembangkan melalui suatu sistem operasi yang berbasis GUI (Graphical User Interface). Graphical User Interface (GUI),

1 | P a g e

Page 5: TI-1-Kelompok-1

dalam hubungannya dengan sains komputer, adalah suatu antarmuka berbentuk tampilan yang memungkinkan seorang user untuk memilih perintah, menjalankan program, melihat serangkaian file dan memilih opsi lain dengan menunjukkan representasi gambar (icon) ataupun melalui sejumlah menu pada layar komputer. Pilihan bisa diaktifkan melalui keyboard atau dengan mouse. GUI terinspirasi oleh riset komputer pertama yang dilakukan oleh Xerox Corporation di Palo Alto Research Center pada tahun 1970-an. GUI modern kini digunakan oleh sistem operasi Macintosh, Microsoft Windows, dan OS/2 Presentation Manager.

Bagi para pengembang aplikasi, GUI menawarkan sebuah lingkungan yang bisa secara langsung berinteraksi dengan komputer. Hal itu berarti pengembang bisa lebih berkonsentrasi dalam mengembangkan aplikasinya tanpa harus mempermasalahkan detail tampilan layar, control mouse, atau input keyboard. Selain itu, GUI juga menawarkan mekanisme pengontrolan standar untuk perintah-perintah yang sering digunakan seperti membuka window dan kotak dialog oleh seorang programmer. Keuntungan lainnya, aplikasi yang dituliskan dalam GUI adalah device independent. Artinya, jika terjadi perubahan antarmuka untuk mendukung suatu media input dan output yang baru seperti monitor dengan layar yang besar atau peralatan penyimpanan optik, maka aplikasi tidak perlu lagi dimodifikasikan untuk untuk mendukung peralatan tersebut.

Pada makalah ini, kami akan membahas tentang defenisi objek grafis 2 dimensi, polyline, polygon, mewarnai area (FillPolygon), membangun objek grafik 2 dimensi, membangun objek grafik 2 dimensi dengan persamaan matematik, dan animasi 2 dimensi.

2 | P a g e

Page 6: TI-1-Kelompok-1

X

Y

P(x,y)

x

y

(0,0)

B A B II

P E M B A H A S A N

A.Definisi Objek Grafik 2 Dimensi

Objek grafik 2 dimensi adalah sekumpulan titik-titik 2 dimensi yang dihubungkan dengan garis lurus, baik berupa polyline, polygon atau kurva. Objek grafik 2 dimensi didefinisikan sebagai kumpulan titik 2 dimensi yang secara komputasi dinyatakan sebagai array 1D, atau linked list sesuai dengan struktur data yang digunakan dalam menyatakan kumpulan titik 2D ini.

Objek grafik dimensi juga adalah gambar 2 dimensi yang hanya memperlihatkan sumbu x dan sumbu y, atau sumbu koordinat cartesius dua dimensi. Dua sumbu yang saling bertegak lurus antar satu dengan yang lain, yang keduanya terletak dalam satu bidang (bidang xy).

Adapun langkah-langkah untuk mendefinisikan objek grafik 2 dimensi:

1. Mendefiniskan struktur dari titik 2D (Point2D_t).2. Mendefinisikan struktur warna (Color_t).3. Mendefinisikan struktur dari objek grafik 2D sebagai array dari titik

2D (Object2D_t).

A.1.Mendefinisikan Titik 2D

Titik 2D mempunyai dua nilai, yaitu x dan y yang menyatakan jarak horizontal dan vertical dari titik pusat sumbu koordinat (0,0).

3 | P a g e

Page 7: TI-1-Kelompok-1

Definisi dalam C++ Pengertian

Typedef struct { float x,y;} point2D_t;

Definisi ini digunakan bila titik didefinisikan dalam sistem koordinat yang menggunakan bilangan pecahan (float).

Typedef struct { Int x,y;} point2D_t;

Definisi ini digunakan bila titik didefinisikan dalam sistem koordinat yang menggunakan bilangan bulat (integer).

Dalam adanya hal diatas, kami menganjurkan kepada pembaca ataupun praktikkan untuk menggunakan sistem koordinat yang menggunakan bilangan pecahan (float). Hal ini disebabkan dengan menggunakan sistem bilangan pecahan maka hasil perhitungan sistem koordinat yang didapat ataupun diimplementasikan dapat lebih akurat hasilnya sehingga posisi titik ketika digambarkan pada sumbu koordinat x dan y dapat lebih akurat lagi posisi terhadap sumbu x dan y –nya.

Dengan menggunakan struktur data titik di atas, fungsi untuk menggambar titik (drawDot) dapat dituliskan dengan:

1. Untuk titik yang didefenisikan dengan bilangan integer:

void drawDot(point2D_tP) { glBegin(GL_POINTS); glVertex2i(P.x,P.y); glEnd();}

2. Untuk titik yang didefinisikan dengan bilangan float:

void drawDot(point2D_tP) { glBegin(GL_POINTS); glVertex2f(P.x,P.y); glEnd()}

A.2.Mendefinisikan Warna

Warna yang digunakan terdiri dari 3 elemen dasar, yaitu RGB (Red, Green, dan Blue). RGB adalah model warna penambahan, yang berarti

4 | P a g e

Page 8: TI-1-Kelompok-1

bahwa warna primer dikombinasikan dengan jumlah tertentu untuk menghasilkan warna yang diinginkan. RGB dimulai dengan warna hitam (ketiadaan semua warna) dan menambahkan merah, hijau, dan biru terang agar dihasilkan warna putih. Warna kuning dihasilkan dengan mencampurkan merah dan hijau; warna cyan dengan mencampurkan hijau dan biru; dan warna magenta dihasilkan oleh kombinasi merah dan biru. Monitor komputer dan televise memakai RGB-sorotan electron yang menghasilkan sinyal merah, hijau, dan biru, yang dikombinasikan untuk menghasilkan berbagai warna yang dilihat pada layar.

Warna campuran (selain dari putih) dihasilkan dengan menambahkan warna komponen RGB individual dengan berbagai tingkatan saturasi, dengan tingkatan mulai dari 0.0 hingga 1.0 (0 berarti tidak menggunakan warna tersebut; 1 berarti menggunakan warna tersebut pada saturasi penuh).

Warna didefinisikan dengan memasukkan intensitas untuk setiap komponen dalam matriks. Setiap komponen memiliki matriksnya sendiri-sendiri dan matriks-matriks tersebut bisa dijumlahkan. Sebagai contoh, untuk menghasilkan merah saturasi sempurna, masukkan (1,0,0): 100% merah, 0% hijau, dan 0% biru. Pada saat ketiga komponen warna tersebut dikombinasikan dalam 100% saturasi (1,1,1) hasilnya adalah putih.

Berikut tabel nilai-nilai umum dari RGB :

R G B Hex. Value Color0 0 0 000000 Black255 0 0 FF0000 Red0 255 0 00FF00 Green0 0 255 0000FF Blue255 255 0 FFFF00 Yellow255 0 255 FF00FF Magenta0 255 255 00FFFF Cyan255 128 128 FF8080 Bright Red128 255 128 80FF80 Bright Green128 128 255 8080FF Bright Blue64 64 64 404040 Dark Grey128 128 128 808080 Intermediate Grey192 192 192 C0C0C0 Bright Grey255 255 255 FFFFFF White

5 | P a g e

Page 9: TI-1-Kelompok-1

Struktur data untuk menyatakan warna RGB ini adalah sebagai berikut :

typedef struct { float r,g,b;} color_t;

Adapun fungsi untuk member warna pada objek grafik :

void setColor (color_tcol){ glColor3f(col.r,col.g,col.b);}

A.3.Mendefinisikan dan Menggambar Objek Grafik 2D

Definisi objek ini dapat dituliskan pada function userdraw secara langsung dengan menyatakannya sebagai array dari titik 2D. Sebagai contoh, untuk menyatakan objek shape dapat dituliskan:

point2D_t shape [1000]

B.PolyLine

Polyline adalah suatu fungsi yang digunakan untuk menggambarkan objek 2D yang sudah didefinisikan di depan, di mana setiap titik pada objek mulai titik ke 0, 1, 2, 3,…, n dihubungkan dengan garis lurus sehingga membentuk kurva terbuka. Untuk menggambar objek 2D dengan menggunakan polyline dapat dituliskan dengan:

drawPolyline(nama_objek2D, jumlah_titik)

Implementasi dari fungsi polyline adalah:

6 | P a g e

Page 10: TI-1-Kelompok-1

di mana:

1. pnt[] menyatakan objek 2D dalam array ditentukan.2. n adalah jumlah titik dalam objek 2D pnt3. glBegin(GL_LINE_STRIP); GL_LINE_STRIP yaitu Line Strip yang

adalah sekumpulan dari satu atau lebih garis yang saling bersambung, dimana titik akhir dari suatu garis merupakan titik awal dari garis selanjutnya.

Contoh implementasi gambar objek dengan polyline:

void userdraw(void){ point2D_tsegitiga[3]={{0,0},{200,0},{100,100}}; setColor(0,0,0); drawPolyline(segitiga,3);}

Hasil Outputnya:

Catatan:

Dalam program ini definisi sistem koordinat menggunakan xrange=[0,640] dan yrange=[0,480] yang dituliskan dengan:

gluOrtho2D(0.,640.,0.,480.);

7 | P a g e

Void drawPolyline (point2D_t pnt[],int n){ int I; glBegin(GL_LINE_STRIP); for (i=0;i<n;i++) { glVertex2f(pnt[i].x, pnt[i].y); }}

Page 11: TI-1-Kelompok-1

Pada dasarnya polyline adalah titik-titik dalam koordinat sumbu x dan sumbu y dimana titik-titik yang ada dihubungkan dengan garis sehingga antara 1 titik yang ada dengan titik yang lainnya ketik dihubungkan dengan garis membentuk kurva yang terbuka, dalam arti antara titik awal dengan titik akhir tidak terdapat hubungan garis sehingga kurva terbuka.

C.Polygon

Polygon adalah suatu fungsi yang mirip dengan polyline, hanya saja hasilnya adalah kurva tertutup. Seperti halnya polyline, pada polygon ini juga digunakan konsep array dalam menyatakan objek 2D sebagai kumpulan titik 2D.

Polygon digunakan untuk merepresentasikan objek-objek dua dimensi. Suatu danau, batas propinsi, batas kota, batas-batas persil tanah milik adalah tipe entity yang pada umumnya direpresentasikan sebagai polygon.

Suatu polygon paling sedikit dibatasi oleh tiga garis yang saling terhubung di antara ketiga titik tersebut.

Untuk menggambar objek 2D dengan menggunakan polyline dapat dituliskan dengan:

drawPolygon(nama_objek2D, jumlah_titik)

Implementasi dari fungsi polygon adalah:

void drawPolygon(point2D_t pnt[],int n) { int I; glBegin(GL_LINE_LOOP); for (i=0;i<n;i++) { glVertex2f(pnt[i].x, pnt[i].y); } glEnd();}

Di mana:

glBegin(GL_LINE_LOOP) khususnya GL_LINE_LOOP merupakan sekumpulan dari satu atau lebih garis yang juga saling bersambung

8 | P a g e

Page 12: TI-1-Kelompok-1

seperti pada line strip, tetapi pada line loop garis yang paling akhir ditambahkan satu garis lagi yang terhubung dengan garis paling awal.

c

void userdraw(void){ point2D_tsegitiga[3]={{0,0},{200,0},{100,100}}; setColor(1,0,0); drawPolygon(segitiga,3);}

Hasil Outputnya adalah:

Pada dasarnya titik-titik dalam koordinat sumbu x dan sumbu y, dimana titik-titik pada sumbu-sumbu tersebut ketika dihubungkan dengan garis dimana titik pada polygon minimal 3 sehingga ketika dihubungkan dengan garis, maka titik awal dalam sumbu tersebut ketika dihubungkan dengan titik akhir maka akan membentuk kurva tertutup sehingga dapa membentuk macam-macam bentuk seperti contoh impelementasi di atas yang membentuk segitiga.

D.FillPolygon

Fungsi ini digunakan untuk mewarnai atau mengecat sebuah polygon dengan warna tertentu. Untuk mewarnai isi polygon dapat dituliskan:

fillPolygon(nama_objek2D, jumlah_titik, warna);

Implementasi dari fungsi fillpolygon adalah:

void fillpolygon(point2D_t pnt[], int n, color_t color)

9 | P a g e

Page 13: TI-1-Kelompok-1

{ Int i; setColor(color); glBegin(GL_POLYGON); for (i=0;i<n;i++) { glVertex2f(pnt[i].x, pnt[i].y); } glEnd();}

Di mana:

glBegin(GL_POLYGON) khususnya GL_POLYGON merupakan polygon yang terdiri dari beberapa titik yang saling berhubungan membentuk garis dimana titik akhir terhubung dengan titik awal, polygon yang terdiri dari kurang dari 3 titik tidak akan diproses.

Contoh gambar fillPolygon:

Contoh implementasi menggambar objek dengan fillpolygon:

void userdraw(void){ point2D_tsegitiga[3]={{0,0},{200,0},{100,100}};//memblok dengan warna kuningColor_t kuning={1,1,0};fillPolygon(segitiga,3,kuning);

10 | P a g e

Page 14: TI-1-Kelompok-1

//warna garis tepi merahsetColor(1,0,0);drawPolygon(segitiga,3);}

Hasil Outputnya :

E.GradatePolygon

Fungsi ini digunakan untuk mewarnai sebuah polygon dengan warna yang bergradiasi dari suatu warna ke warna lain. Untuk memberikan efek gradiasi warna pada polygon dapat dituliskan:

GradatePolygon(nama_objek2D, jumlah_titik, warna);

Implementasi dari fungsi gradatepolygon adalah sebagai berikut:

void GradatePolygon(point2D_t pnt[], int n, color_t color){ int I; glBegin(GL_POLYGON); for (i=0;i<n;i++) { setColor(color[i]); glVertex2f(pnt[i].x, pnt[i].y); } glEnd();

11 | P a g e

Page 15: TI-1-Kelompok-1

}

Contoh gambar GradatePolygon:

Contoh implementasi menggambar objek dengan gradatepolygon:

void userdraw(void){ point2D_tsegitiga[3]={{0,0},{200,0},{100,100}}; //memblok dengan warna gradiasi kuning ke merah color_twarna[3]={{1,1,0},{1,0,0},{1,0.5,0}};GradatePolygon(segitiga,3,warna);//warna garis tepi merahsetColor(1,0,0);drawPolygon(segitiga,3);}

Hasil Outputnya :

F.Membangun Objek Grafik 2D

Membangun objek grafik 2D secara umum menggunakan fungsi-fungsi seperti yang dijelaskan di depan dapat dilakukan dengan:

1. Membuat objek grafik 2D secara langsung2. Membuat objek grafik secara perhitungan matematis

12 | P a g e

Page 16: TI-1-Kelompok-1

3. Membuat objek grafik 2D secara langsung bisa dilakukan pada function userdraw() dengan menyatakan secara langsung koordinat titik-titiknya.

Contoh membuat bintang:

void userdraw(){ Point2D_t bintang[10]={{80,146},{99,90},{157,90},{110,55},{128,1}, {80,34},{32,1},{54,55},{3,90},{63,90}}; Color_t merah={1,0,0}; drawPolygon (bintang,10);}

Hasil Outputnya adalah:

G.Membuat Objek Grafik 2D dengan Persamaan Matematik

Dengan persamaan matematik y=f(x) dapat digambar kurvra dengan variasi bentuk yang menarik, seperti sinus, cosines, exponential dan logaritma, atau fungsi gabungannya

Bentuk persamaan matematik yang menarik untuk dibuat adalah persamaan matematik dengan menggunakan sistem koordinat polar.

Di mana:

13 | P a g e

Page 17: TI-1-Kelompok-1

adalah sudut yang berjalan dari 0 sampai dengan 360 yang dinyatakan

dalam radian .

Macam-macam dapat menghasilkan gambar yang bervariasi.

Beberapa contoh fungsi polar dan hasilnya :

Fungsi polar HasilLingkaran

Rose 4 daun

Rose 3 daun

Spiral

Kardioda

Masih banyak fungsi lain yang dapat dibangun dengan menggunakan koordinat polar lain.

Contoh program membangun objek grafik 2D dengan menggunakan koordinat polar:

void userdraw(){ Point2D_t shape[360]; double srad,r; for (int s=0;s<360;s++) { srad=s*3.14/180; r=sin(5*srad);shape[s].x=(float) (r*cos(srad));shape[s].y=(float) (r*sin(srad)); } Polygon(shape,360);}

H.Animasi 2D

Penggunaan animasi sedang berkembang saat ini, misalnya dalam penggunaan animasi pendidikan dan animasi instruksional.

Bentuk klasik dari animasi adalah “film kartun” yang dikembangkan di awal 1900-an oleh Ub Iwerks, Walt Disney, dan yang lainnya. Diperlukan

14 | P a g e

Page 18: TI-1-Kelompok-1

hinggga 24 pekerjaan menggambar yang berbeda untuk tampilan animasi selama satu detik.

Oleh karena pembuatan animasi sangat memakan waktu dan juga biaya, kebanyakan animasi untuk TV dan gambar hidup datang dari studio animasi professional. Bagaimanapun juga, bidang dari animasi mandiri telah hidup sedikitnya sejak tahun 1910-an (yaitu: memelopori stopmotion animator Ladislas Starevich di Russian Empire), dengan animasi yang telah diproduksi oleh studio mandiri (dan kadang-kadang oleh seseorang secara individu). Beberapa produser animasi mandiri sudah melanjutkan ke industri animasi yang professional. Bill Plympton adalah salah satu yang paling terkenal dari animator sendiri.

Sekarang, peningkatan program animasi yang murah seperti Macromedia Flash dan bebas saluran distribusi seperti Newgrounds dan deviantART menyebabkan animator mandiri dan pekerjaan Anda terlihat oleh (berpotensi) berjuta-juta orang sehingga penggunanya menjadi lebih mudah.

Limited animation adalah suatu cara untuk meningkatkan produksi dan penurunan biaya animasi menggunakan “jalan pintas” di dalam proses animasi. Metode itu telah dipeloporo oleh UPA dan dipopulerkan oleh Hanna-Barbera, dan diadaptasi oleh studio lain sebagai film kartun bergerak dari gedung bioskop ke televisi.

Animasi 2D adalah salah satu bentuk grafik 2D yang bergerak dengan berbagai macam transformasi yang digunakan. Untuk membuat objek grafik 2-D menjadi bergerak dapat dilakukan dengan berbagai macam teknik animasi, seperti:

1. Transformasi posisi2. Tweening3. Morphing4. Marquee

Pada transformasi posisi, animasi yang dilakukan adalah dengan memindahkan posisi gambar.

Pada sistem koordinat kartesian, animasi akan berefek gerakan linier (translasi). Pada sistem koordinat polar akan berefek gerakan berputar(rotasi).

. Pembuatan animasi 2D:

15 | P a g e

Page 19: TI-1-Kelompok-1

1. Pada main() ditambahkan fungsi glutIdleFunc(display) sebelum fungsi glutDisplayFunc(display).

2. Pada awal fungsi userdraw() didefinisikan static int tick3. Pada akhir fungsi userdraw() ditambahkan perintah untuk

menambah nilai tick secara terus-menerus dengan tick++.4. Tambahkan nilai tick ini pada nilai variable dasar pembuatan grafik

I.Struktur Data Dan Implementasi Kerja

“ Struktur data yang digunakan adalah array 1D atau linked list. ”

#include <glut.h>#include <math.h>typedef struct {

float x,y;} point2D_t;

void drawPolygon(point2D_t pnt[],int n) {int i;glBegin(GL_POLYGON);for(i=0;i<n;i++)glVertex2f(pnt[i].x,pnt[i].y);glEnd();

}

void userdraw() {static int tick=0;point2D_t shape[360];double srad,r;for(int s=0;s<360;s++) {

srad=(s+tick)*3.14/180;r=100*sin(5*srad);shape[s].x=(float) (r*cos(srad));shape[s].y=(float) (r*sin(srad));

}drawPolygon(shape,360);tick++;

}

void display() {glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0f,0.0f,0.0f);userdraw();

16 | P a g e

Page 20: TI-1-Kelompok-1

glutSwapBuffers();}

int main(int argc, char **argv) {glutInit(&argc,argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);glutInitWindowPosition(100,100);glutInitWindowSize(640,480);glutCreateWindow("Obyek Grafik 2D By Kelompok 1");glClearColor(1.0,1.0,1.0,1.0);glutIdleFunc(display);glutDisplayFunc(display);glutMainLoop();return 0;

}

Hasil Output dari implementasi pembuatan program di atas adalah:

1.

2.

17 | P a g e

Page 21: TI-1-Kelompok-1

3.

B A B III

K e s i m p u l a n

Objek grafik 2 dimensi adalah sekumpulan titik-titik 2D yang dihubungkan dengan garis lurus, baik berupa polyline, polygon atau kurva. Objek grafik 2D didefinisikan sebagai sekumpulan titik 2D yang secara komputasi dinyatakan sebagai array 1D, atau linked list sesuai dengan struktur data yang digunakan. Polyline adalah suatu fungsi yang digunakan untuk menggambarkan objek 2D yang sudah didefinisikan di depan. Polygon adalah suatu fungsi yang mirip dengan polyline, hanya saja hasilnya adalah kurva tertutup. FillPolygon digunakan untuk mewarnai atau mengecat sebuah polygon dengan warna tertentu. GradatePolygon digunakan untuk mewarnai sebuah polygon dengan warna yang bergradiasi dari satu warna ke warna lain. Animasi 2D adalah salah satu bentuk grafik 2D yang bergerak dengan berbagai macam transformasi yang digunakan Dalam pewarnaan objek grafik 2 dimensi menggunakan konsep warna dasar RGB yaitu Red (Merah), Green(Hijau) , dan Blue(Biru). Pembuatan objek grafik 2 dimensi ataupun animasinya sangat berguna untuk interfacing atau tatap muka antara pengguna komputer(user) dengan komputer itu sendiri. Pencitraan gambar dengan objek grafik dimensi dapat mempermudah seseorang dalam melakukan implementasi pencitraan gambar baik secara langsung ataupun secara matematik dengan

18 | P a g e

Page 22: TI-1-Kelompok-1

menggunakan rumus ataupun fungsi matematika yang umum ataupun khusus digunakan. Proses implementasi kerja dapat dengan mudah dibuat setelah mempelajari objek grafik 2 dimensi karena kita dapat dengan mudah membuat proses pencitraannya melalui komputer khususnya dengan menggunakan program visual c++ dengan library OPEN GL.

D A F T A R P U S T A K A

Basuki, A dan Nana Ramadijanti. 2006. Grafika Komputer Teori dan Implementasi. Yogyakarta: Penerbit Andi

Simarmata, J dan Tintin Chandra.2007. Grafika Komputer.Yogyakarta: Penerbit Andi

Irawan. P. B, Dipl Informatika. 2003. Grafika Komputer dengan C. Yogyakarta: Penerbit Andi

http://www.wiki.gamedevid.org/wiki/Tutorials. 8 April 2009. Tutorial OpenGL 2

http://www.scribd.com/doc/13218405. 8 April 2009. Grafik Komputer Fadlisyah

http://www.scribd.com/doc/8370653. 8 April 2009. Grafika KomputerIn Editing2

19 | P a g e