Konsep Grafika Komputer

34
TUGAS SELA KHUSUS GRAFIKA KOMPUTER PAPER KONSEP GRAFIKA KOMPUTER ANDY SURYO PRAYOGO 08560311

description

Konsep Grafika Komputer

Transcript of Konsep Grafika Komputer

Paper Grafkom

TUGAS SELA KHUSUS GRAFIKA KOMPUTER

PAPER

KONSEP GRAFIKA KOMPUTER

ANDY SURYO PRAYOGO

08560311

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG

2015

GRAFIKA KOMPUTERPENDAHULUAN

Pada saat ditemukan pertama kali, komputer digunakan sebagai alat bantu untuk mempercepat proses hitung menghitung. Dalam perkembangan selanjutnya, banyaknya data yang harus ditangani menjadi sangat besar. Hal ini tentu menimbulkan persoalan baru, yakni bagaimana data yang sangat banyak bisa ditangani dan disajikan dengan cara yang lebih efisien dan efektif. Memang komputer bisa mencetak hasil keluaran sampai beribu-ribu halaman jika diperlukan. Tapi tentu akan sangat membosankan apabila manusia harus membaca laporan-laporan yang sangat panjang, tidak saja akan memakan waktu, tapi kemungkinan salah menjadi lebih besar, dan yang jelas, mereka yang membaca laporan-laporan tersebut harus benar-benar tahu apa yang sesungguhnya terkandung dalam angka-angka yang tersaji dalam laporan tersebut.

Orang kemudian mengembangkan satu alat bantu yang bisa dipakai untuk menyajikan data dalam jumlah yang sangat besar ke dalam sebuah bagan, sehingga lebih mudah untuk dipahami. Dengan adanya alat bantu tersebut, pada saat-saat tertentu dan untuk keperluan-keperluan tertentu, orang lebih suka menggunakan bagan dibanding hanya melihat deretan angka yang sangat membosankan. Sejalan dengan hal ini, para ahli komputer juga tanggap dan mereka kemudian mengembangkan perangkat yang membuat komputer menjadi sangat pandai, yakni dengan menambahkan kemampuan grafis pada komputer-komputer yang mereka kembangkan. Sehingga untuk saat ini bisa dikatakan bahwa semua komputer pasti mempunyai kemampuan grafis dan kemudian lahirlah apa yang disebut dengan grafika komputer (computer graphic).

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

SISTEM GRAFIKA KOMPUTER

Data yang banyak ( dapat diwakili dengan bagan. Dalam hal ini, operator memasukkan sejumlah data, dan dengan prosedur tertentu komputer akan menampilkan bagan yang diinginkan. Bagan yang dihasilkan ini merupakan gambar statis karena operator tidak dapat berinterkasi dengan gambar yang ada pada layar komputer.

Cara ini sangat tidak memadai, karena ada kalanya operator ingin berinteraksi langsung dengan gambar pada layar komputer. Sistem yang memungkinkan operator berdialog dengan apa yang terlihat pada layar komputer disebut dengan sistem grafika komputer interaktif (interactive computer graphic).

Dalam sistem interaktif, operator bisa mengendalikan segala aspek gambar yang terlihat secara dinamis. Aspek-aspek tersebut : isi gambar, format gambar, bentuk gambar, ukuran gambar dan warna gambar. Pengendalian secara dinamis dapat dilakukan dengan piranti-piranti seperti : keyboard, mouse, joystick, light pen, dll.

Keuntungan yang kita peroleh dari sistem interaktif adalah bahwa dengan mudah kita bisa menirukan atau mensimulasikan sesuatu kejadian dalam dunia nyata (real world) pada layar komputer.

Berdasarkan cara pandang kita terhadap gambar yang ada pada layar, kita bisa membedakan apa yang dimaksud dengan motion dynamic dan update dynamic.

Motion dynamic ( pada dasarnya adalah cara pandang kita terhadap suatu obyek yang bergerak dan kita sebagai pengamat dalam keadaan diam atau obyek yang kita amati diam dan kita sebagai pengamat bisa bergerak bebas di sekeliling obyek tersebut. Contoh : flight simulator.

Update dynamic ( pada dasarnya berhubungan erat dengan perubahan sifat dari obyek yang sedang diamati. Sifat-sifat tersebut bisa berupa bentuk, warna atau sifat-sifat yang lain. Dengan menggunakan komputer, dengan mudah kita mensimulasikan tabrakan antara dua buah mobil dengan kecepatan yang bisa dibuat bervariasi. Dengan cara ini, pabrik mobil bisa mempelajari hasil simulasi dan menambahkan unsur-unsur yang diperlukan untuk lebih menjamin keselamatan pengemudi dan penumpang.

PENERAPAN GRAFIKA KOMPUTER

Computer Graphic mencakup bidang :

Computer Aided Design (CAD) ( untuk proses perancangan terutama pada sistem rekayasa dan arsitektur. Misal : grafika komputer bisa digunakan untuk merancang komponen-komponen dari sistem-sistem mekanis, elektris, elektro-mekanis, piranti-piranti elektronis, struktur bangunan, reaktor kimia, badan-badan mobil, pesawat terbang, badan kapal lengkap dengan ruang-ruang yang ada, jaringan komputer, jaringan telepon, dll.

Dalam bidang ini tekanan utama dari pemakaian grafika komputer adalah untuk memproduksi gambar dengan ketelitian yang sangat tinggi. Selain itu, gambar yang dihasilkan dari CAD bisa dipakai sebagai masukan ke suatu sistem yang akan mengevaluasi model yang digambar sesuai kebutuhan dan dengan cara-cara tertentu operator bisa mengubah model yang sudah ada untuk disesuaikan dengan kebutuhan.

Presentasi

Art ( membuat logo, gambar

Hiburan ( game

Pendidikan dan pelatihan ( simulasi pesawat terbang (flight simulator)

Visualisasi

GUI (Graphical User Interface)

KLASIFIKASI PENERAPAN GRAFIKA KOMPUTER

Ada sejumlah kriteria yang bisa dipakai untuk mengelompokkan penerapan grafika komputer pada bidang-bidang seperti dijelaskan diatas, yaitu :

1. Berdasarkan tipe dari objek dan gambar yang dihasilkan. Terapan-terapan yang termasuk didalam kriteria ini antara lain gambar-gambar garis dari objek 2D dan 3D (yang sering disebut dengan wired-frame pictures), misalnya garis-garis yang menunjukkan struktur suatu bangunan, gambar 2D dengan gray scale yang berbeda, gambar 3D yang memperhatikan efek pencahayaan/bayangan.

2. Berdasarkan interaksi dan derajat pengendalian objek/gambar dalam layar. Dalam offline plotting, gambar bisa dibentuk dari sekumpulan data yang diketahui atau diperoleh dari basis data, sehingga gambar yang dihasilkan tidak bisa diubah kecuali mengubah basis data. Dalam interactive plotting, user bisa berinteraksi dengan gambar sehingga user bisa mengubah gambar yang tampil dilayar dengan menggunakan piranti yang ada. Dalam interactive design user bisa menggambar bentuk tertentu dimulai dari layar dalam keadaan kosong, kemudian ditambahkan sejumlah objek dimana user bisa mengubah gambar yang telah terbentuk dengan mudah, misalnya memperbesar atau memperkecil gambar.

3. Berdasarkan role of the picture atau bagaimana gambar yang tertampil mempunyai arti bagi user atau siapa saja yang melihatnya. Dalam bidang-bidang tertentu misalnya kartografi, gambar yang dihasilkan merupakan produk utama, sedangkan pada bidang-bidang lain gambar yang dihasilkan hanya merupakan visualisasi dari suatu objek atau fenomena yang ingin diamati.

4. Berdasarkan hubungan antara objek dan gambar yang tertampil. Dalam hal ini user dapat menampilkan sebuah gambar dalam sekali tampil, sekelompok gambar yang saling berhubungan atau dengan teknik lain.

CITRA (Image Processing) vs GRAPHIC (Computer Graphic)

Citra : berorientasi pixel, dimana gambar pada komputer dibentuk dengan model 2D matrix M x N ( BITMAP, sehingga untuk memanipulasi citra, cukup dengan memanipulasi warna/intensitas dari pixel yang bersangkutan (elemen matrixnya).

Graphic : berorientasi vektor, sehingga untuk memanipulasi suatu grafik, yaitu dengan cara mengubah elemen-elemen dari vektor yang bersangkutan. Vektor memiliki arah dan besaran.

Citra : mengolah data citra untuk mendapatkan interpretasi 2D atau 3D dari objek dalam citra.

Graphic : Menggunakan model 2D atau 3D untuk mendapatkan hasil realistik pada layar

Citra : menitikberatkan pembahasannya pada teknik-teknik untuk meningkatkan kualitas suatu citra yang telah ada sebelumnya sesuai dengan keperluan penggunanya atau pada metode persepsi mesin terhadap suatu informasi visual (misalnya dalam dunia robotika)

Graphic : Grafika Komputer cenderung mempelajari konsep dan implementasi dari suatu metode untuk membangkitkan suatu citra maupun animasi, baik dalam bentuk dua dimensi maupun tiga dimensi.

Citra : Pengolahan Citra berawal dari citra digital yang kemudian akan dianalisa dan atau disintesa ulang untuk mendapatkan citra baru dengan kualitas yang lebih baik, atau dianalisa untuk mendapatkan deskripsi objek-objek yang terdapat dalam citra tersebut.

Graphic :Proses-proses Grafika Komputer berawal dari primitif-primitif dasar grafis (titik, garis, lingkaran dll) yang mendeskripsikan objek-objek yang kemudian akan membentuk suatu citra dua dimensi maupun tiga dimensi.

Tapi jika di pandang sebagai vektor dalam grafik, maka gambar tersebut direpresentasikan sbg :

1. Cara pertama : (3,Timur),(4,Selatan),(3,Barat),(4,Utara).

Kelemahan : kita tidak dapat menentukan titik asal dari vektor.

2. Cara kedua : [(0,1),(0,3)], [(0,3),(4,3)], [(4,3),(4,1)], [(4,1),(0,1)]

Dengan cara ini, maka kita mengetahui titik asal dan tujuan sehingga kita dapat memperoleh arah dan besar dari vektor tersebut.

Arah = tan-1[(Y2-Y1)/(X2-X1)]

Besar = ( (X1-X2)2 + (Y1-Y2)23. Cara ketiga : Menggunakan informasi atribut segi empat.

[(0,1),(4,3)] atau (0,1,4,3)

Jika ada suatu gambar yang terdiri dari grafik dan area dapat diisi dengan warna tertentu, maka itu disebut grafik juga. Intinya grafik adalah gambar yang koordinatnya dapat diubah.

MONITOR

Dalam computer graphic, monitor adalah salah satu perangkat penting. (Zaman dulu, printer merupakan perangkat penting dalam computer graphic).

Pada dasarnya, semua monitor dengan kemampuan grafis memiliki 3 komponen utama :

1. Display

2. Frame Buffer, dimana gambar yang akan ditampilkan ke layar disimpan sebagai matrix dimana nilai elemennya menunjukkan intensitas dari citra grafis yang akan ditampilkan.

3. Display Controller/Display Processor, berfungsi untuk melewatkan isi frame buffer dan mengolahnya untuk ditampilkan ke display.

Cara untuk menampilkan gambar pada layar membedakan jenis tampilan yang ada :

1. Vector Display/Calligraphic Display/Stroke Display. (60-an)

Frame buffer pada jenis vector display berisi display list/display program yang memberi perintah penggambaran titik, perintah penggambaran garis dan perintah penggambaran karakter. Perintah-perintah ini selanjutnya akan diolah oleh display processor yang akan mengubah data digital menjadi tegangan analog yang akan dipakai untuk memancarkan elektron, yang apabila mengenai tabung display yang dilapisi fosfor akan menyebabkan fosfor tersebut berpendar dan terlihat ada gambar. Karena sinar pendar dari fosfor itu tidak bertahan lama, dalam puluhan atau ratusan milidetik, maka elektron-elektron tersebut harus ditembakkan minimal 30 kali per detik untuk menghindari adanya kedip. Proses ini disebut sebagai electron refresh.

2. Raster Display. (70-an)

Dikembangkan berdasarkan teknologi televisi. Dalam jenis tampilan ini, grafis, karakter dan bentuk-bentuk lain selalu digambar berdasarkan komponen terkecilnya yaitu titik atau pixel/pel (picture element). Sebuah pixel pada layar bisa dihidup-matikan dengan mudah. Karena status sebuah pixel adalah hidup(nyala) atau mati, maka dengan mudah dikodekan menggunakan biner (0/1). Dengan cara inilah sesungguhnya suatu citra grafis disimpan dalam frame buffer. Untuk gambar hitam-putih ( warna hitam digunakan bit 1 dan warna putih digunakan bit 0. Untuk gambar warna, ex :

Citra 4 bit ( menggunakan 16 kombinasi warna

Citra 8 bit ( menggunakan 256 kombinasi warna

Citra 24 bit ( menggunakan 16 juta kombinasi warna

Jenis-jenis monitor :

1. Layar Tabung (CRT = Cathode-Ray Tube)

2. Layar datar (LED, LCD, Plasma display)

Figure 1. Basic Design of a magnetic-deflection CRT

Figure 2. Operation of an electron gun with an accelerating anode

Layar LCD

Macam layar/tampilan :

1. B/W : Hercules

2. Color : CGA, EGA, VGA, SVGA, XGA, IBM8514, dll.

Setiap mode layar mempunyai perbedaan dalam beberapa hal, antara lain :

Jumlah pixel dalam 1 layar (resolusi layar)

Mis. 340 x 200, 640 x 400, 640 x 480, 800 x 600, 1024 x 968

Warna (informasi warna) ( jumlah byte untuk tiap pixel

Mis. 2 color, 4 color, 16 color, 256 color, 16 M Color.

Dot Pitch

( Merupakan unit terkecil dalam menampilkan warna pixel.

( Dot pitch dapat dibedakan berdasarkan kerapatannya.

Mis. 0.28mm, 0.26mm, 0.32mm, 0.39mm

Semakin kecil dot pitch, maka tampilan gambar semakin halus.

Warna tampilan layar

Jumlah Warna(BitContoh Monitor

21B/W

42CGA

164Mode DOS

2568VGA

Mengapa jumlah warna yang ditampilkan selalu merupakan kelipatan 2,4,16,256 ( karena alasan efisiensi penggunaan teknologi yang telah ada dan kemudian dipadukan untuk menghasilkan tampilan warna yang baru.

Contoh soal :

Berapakah memori yang dibutuhkan untuk citra 8 bit dengan ukuran 800 x 600 ?

Memori yang dibutuhkan= 800 x 600 x 8 bit = 3.840.000 bit

= 480.000 byte

( 469 KB

Horizontal & Vertical Retrace

PLOTTER

Jika pada printer menggunakan Raster Technology (mencetak dari atas ke bawah, dari kiri ke kanan), maka pada plotter menggunakan Vector Technology (mencetak dari segala arah).

NB : Scanner tidak termasuk hardware grafik, tapi lebih tepatnya termasuk hardware citra karena gambar hasil scan disimpan dalam bentuk bitmap (dengan teknologi raster).

PERANGKAT LUNAK GRAFIS

Untuk menampilkan suatu informasi grafis, banyak perangkat lunak yang telah dibuat dalam membantu proses-proses dalam grafika komputer, contohnya :

Corel draw, AutoCAD, 3D Studio MAX, MS.Paint, dll

Perangkat Tools untuk pengembangan grafis (pustaka/library) :

BGI (Borland Graphic Interface)

OpenGL

DirectX

Tugas I

Buat Grafik dengan salah satu library di atas (BGI,OpenGL,DirectX).

Dikumpulkan 1 minggu.PRIMITIF GRAFIS

TITIK (PIXEL/DOT)

Attributnya :

Lokasi (2D ( x,y) , (3D ( x,y,z)

Warna

GARIS (LINE)

Attributnya :

Lokasi ( titik-titik ujung, mis : (x1,y1), (x2,y2)

Ada juga yang menyatakan garis dengan : titik awal, arah dan panjang.

Ketebalan garis (Thickness)

Tipe Garis (Pattern)

Warna

LINGKARAN (CIRCLE)

Attributnya :

Titik pusat (Xp,Yp)

Jari-jari lingkaran atau radius (r atau d)

Ketebalan (Thickness)

Tipe Garis (Pattern)

Warna

ELLIPSE

Attributnya :

Titik pusat (Xp,Yp)

Jari-jari horizonal (a) & Jari-jari vertical (b)

Ketebalan (Thickness)

Tipe Garis (Pattern)

Warna

POLYGON

Yang teratur :

Yang tidak teratur :

Poligon yang teratur dapat dibuat dengan menggunakan dimensi garis yang memiliki panjang tetap.

Contoh :

Polygon (6,3,5,4), dimana :

(6,3) ( lokasi awal

5 ( Segi 5

4 ( Panjang sisi.

Hasil :

Untuk polygon yang teratur dapat dibuat dengan menggunakan algoritma iterasi, tetapi untuk polygon yang tidak teratur digunakan suatu array yang menyimpan suatu lokasi titik-titik sikunya.

SEGI 4

Attributnya :

Lokasi : Titik kiri atas (x1,y1) dan Titik kanan bawah (x2,y2)

Warna

Thickness

Pattern

Untuk menggambar segi 4 seperti :

KURVA

Kurva Teratur

Misal : Kurva sinus, cosinus, kurva y=x2 Kurva Tak Teratur

Gunakan Metode Control Point.

Misal : Bezier.

CHARACTER (FONT)

Attributnya :

Jenis Character

Kemiringan (Slanted), mis : horizontal, vertical

Thickness

Super/Subscript

Warna

Titik (Dot/Pixel)

Titik merupakan elemen yang paling dasar.

Pembuatan titik dapat dilakukan dengan berbagai cara antara lain :

1. Pustaka Grafik (Graphic Library), misal :

BGI ( putpixel (x,y,color)

OPENGL( GL_Drawdot (x,y,color)

Window API ( DrawPixel (x,y,color)

2. Low Level Programming

Interupt, yaitu :

H/W, yang beroperasi pada processor

S/W, ada 2 yaitu : DOS dan BIOS

DMA (Direct Memory Access)

( langsung mangakses ke alamat memory :

ex. Untuk mode text ( B800:0000h

Untuk mode grafis ( A000:0000h

Jika ingin mengakses koordinat (5,6) dengan resolusi 800 x 600 :

void mode_int (no_mode)

{

REGS R;

R.h.ah = no_mode;

Int86(0x10,&R,&R);

}

void setpixel_DMA (x,y,color)

{

char *Segmen = 0xA0000000;

(Segmen+(800*y+x)) = color;

}

procedure getpixel_DMA(x,y,color);

begin

mem[A000:(800*y+x)] := color;

end;GARIS (LINE)

Persamaan garis :

y = m.x + c

dimana :

m = (y2-y1)/(x2-x1) = (y/(x

c = y1 m.x1 atau

c = y2 m.x2Algoritma Pembuatan Garis

Algoritma pembuatan garis lurus vertikal dan horisontal relatif mudah, tetapi bila garis tersebut miring, maka algoritma menjadi sulit.

Misalkan : Line (1,3,8,5).

m = (y2-y1)/(x2-x1) = (5-3)/(8-1) = 2/7

c = y1 m.x1 = 3 2/7.1 = 19/7y = 2/7.x + 19/7Selanjutnya kita membuat iterasi dari x1 ( x2XiYiYi (dibulatkan)

13.003

23.293

33.574

43.864

54.144

64.434

74.715

85.005

DDA (Digital Differential Analyser) Algorithm

Jika 0(m(1 ( yk+1=yk + m

xk+1 = xk + 1

Jika m>1 ( xk+1=xk + 1/m

yk+1 = yk + 1

Bresenhams Algorithm (|m|