Anda di halaman 1dari 12

PENDAHULUAN

BAB I

1.1 Latar Belakang Masalah

Dewasa ini perkembangan ilmu teknologi dan informasi sudah mencapai


pemenuhan kebutuhan manusia dalam berbagai bidang terutama bisnis dan
komersil. Perkembangan grafika komputer menuntut para pengembang sistem
aplikasi grafika komputer untuk dapat mengembangkan suatu informasi yang
dilengkapi dengan visualisasi dan animasi, agar dapat lebih mudah dipahami
oleh pihak yang menggunakan sistem tersebut. 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. Penggunaan
grafika komputer telah lama digunakan dalam beberapa macam aplikasi,
diantaranya pendidikan, kedokteran, fisika, matematika, multimedia, dan lain-
lain. 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. Dan makalah yang disampaikan kali ini khusus
membahas mengenai penggambaran titik dan garis.

1.2 Rumusan Masalah :


1. Apakah yang dimaksud dengan penggambaran objek primitif?
2. Jelaskan bagaimana cara menggambar objek primitif!
3. Jelaskan bagimana cara penggambaran titik dan garis!
4. Sebutkan macam-macam algoritma pada penggambaran titik dan garis!
1.3 Tujuan
1. Mengetahui pengertian mengenai penggambaran objek primitif
2. Mengetahui cara menggambar objek primitif
3. Mengetahui cara penggambaran titik dan garis
4. Mengetahui macam-macam algoritma pada pembentukan titik dan garis
PEMBAHASAN

BAB II

2.1 Penggambaran Objek Primitif

Paket grafika dilengkapi dengan fungsi untuk menyatakan scene dalam


bentuk struktur. Paket pemrograman grafika dilengkapi dengan fungsi untuk
menyatakan scene dalam bentuk struktur dasar geometri yang disebut output
primitif, dengan memasukkan output primitif tersebut sebagai struktur yang
lebih kompleks.Sedangkan dengan scene tampilan gambar dengan loading
array dari pixel ke dalam buffer atau dengan mengkonversikan scan dari
grafik geometri tertentu ke dalam pola pixel.

Primitif objek dapat diartikan sebagai sebuah bentuk dasar dari objek grafis
yang dapat dimanipulasi. Primitive objek yang menjadi dasar semua objek
grafis adalah titik(dot).

Pengertian objek primitif gambar dapat dijelaskan dengan beberapa cara, bila
menggunakan raster display, gambar ditentukan oleh satu set intensitas untuk
posisi display pada display. Sedangkan dengan scene tampilan gambar
dengan loading array dari pixel ke dalam buffer atau dengan
mengkonversikan scan dari grafik geometri tertentu ke dalam pola pixel.

Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik


koordinat dengan program aplikasi ke dalam suatu operasi tertentu
menggunakan output.Random-scan (vektor) system menyimpan instruksi
pembentukan titik pada display list dan nilai koordinat 22 menentukan posisi
pancaran electron ke arah lapisan fosfor pada layer. Garis dibuat dengan
menentukan posisi titik diantara titik awal dan akhir dari suatu garis.
Primitif objek terdiri atas :

1. Titik

Titik merupakan elemen yang paling dasar dalam menggambar. Pada Glut
untuk menggambar titik bisa dengan memanggil fungsi GL_POINT.

Sedangkan untuk posisi titik tesebut menggunakan beberapa fungsi berikut:

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);

2. Garis

Beberapa fungsi untuk mengambar garis pada Glut yaitu :

GL_LINES

Primitif objek ini adalah suatu primitive objek guna menciptakan suatu garis.

Dengan mempertemukan dua buah titik maka akan terbentuk sebuah garis.

Jadi dapat disimpulkan: ∑ vertek = 2N, N= jumlah garis

Ilustrasi :

GL_LINE_LOOP
Primitif objek ini, pada vertex awal dan vertex terakhir saling terhubung

Ilustrasi :

GL_LINE_STRIP

Rumus pada line strip : ∑ vertek = N + 1

Ilustrasi :

3. Bangun 2D

yang termask ojek primitif pada bangun 2 dimensi diantaranya yaitu :


segitiga, persegi, jajar genjang, belah ketupat, layang-layang, lingkaran.
beriku ini adalah fungsi untuk menggambar 2 dimensi pada glut :

GL_TRIANGLES

Triangle atau segitiga adalah tiga buah titik yang terhubung menjadi suatu
segitiga dengan blok di tengahnya. Pada penggunaan primitive objek ini harus
menggunakan minimal 3 buah vertex guna membentuk suatu objek.

∑ vertek = 3N, N=Jumlah segitiga


Ilustrasi :

GL_TRIANGLE_FAN

Triangles fan adalah pembuatan suatu objek dengan menggunakan segitiga


dimana hanya menggunakan 1 titik pusat saja.

Ilustrasi :

GL_TRIANGLE_STRIP

Pada triangles strip jumlah vertex yang dipergunakan adalah 4 buah vertex.

Ilusrtasi :

GL_QUADS

Quad atau segempat adalah empat buah titik yang terhubung menjadi suatu
segiempat dengan blok di tengahnya.
Ilustrasi :

GL_QUAD_STRIP

Pada quads strip 4 buah vertex merupakan 1 kelompok.

Ilustrasi :

GL_POLYGON

Polygon merupakan suatu fungsi yang mirip dengan polyline, tetapi


menghasilkan kurva tertutup dengan blok warna (fill).

Ilustrasi :

Gambar 2.1 di bawah ini menunjukkan bahwa dari sebuah titik dapat
dibentuk objek garis, dimana garis dibentuk dari 2 titik. Dari garis dapat
dibentuk poligon, kurva maupun lingkaran.

Dengan dasar bangun ini maka dapat dibentuk objek-objek lain yang lebih
kompleks dianatra objek-objek 3 dimensi misalnya kubus, bola, bahkan
objek-objek gabungan semua elemen.
Gambar 2.1a Elemen-elemen Pembentuk Objek Grafis

OpenGL, salahsatu graphics engine, mendefinsiikan objek primitif pada


gambar berikut ini.

Gambar 2.1b Definisi Objek Grafis dalam OpenGL


2.2 Penggambaran Titik dan Garis

Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik


koordinat dengan program aplikasi ke dalam suatu operasi tertentu
menggunakan output. Random-scan (vektor) system menyimpan instruksi
pembentukan titik pada display list dan nilai koordinat 22 menentukan posisi
pancaran electron ke arah lapisan fosfor pada layer. Garis dibuat dengan
menentukan posisi titik diantara titik awal dan akhir dari suatu garis.

Perlu diperhatikan bahwa sistem koordinat biasa dan sistem koordinat grafika
sedikit berbeda seperti ditunjukkan pada gambar berikut.

Gambar 2.2 Sistem Koordinat pada Layar dan Kartesius

Pada sistem grafika, posisi (0,0) ada pada kiri atas dari layar, sedangkan
menurut sistem koordinat kartesius posisi (0,0) ada di tengah-tengah bidang
gambar.

2.2.1 Algoritma Pembentukan Garis

Pada dasarnya, algoritma penggambaran atau pembentukan garis


berusaha mencari suatu cara membentuk garis sedemikian rupa sehingga
masalah jaggies dapat dihindarkan seoptimal mungkin. Gambar di bawah
ini mengilustrasikan keadaan tersebut.

Gambar 2.2.1 Pembentukan Garis Secara Diskrit


2.2.2 Algoritma Penggambaran Garis Dasar

Persamaan garis menurut koordinat Cartesian adalah:

y = m.x + b

dimana m adalah slope (kemiringan) dari garis yang dibentuk oleh dua titik
yaitu (x1,y1) dan (x2, y2). Untuk penambahan x sepanjang garis yaitu dx
akan mendapatkan penambahan y sebesar Δy = m. Δx. Dari formulasi di
atas dikembangkan algoritma dasar untuk penggambaran garis.

2.2.3 Algoritma DDA (Digital Differential Analyzer)

DDA adalah algoritma pembentukan garis berdasarkan perhitungan Δx dan


Δy, menggunakan rumus y = m. Δ x. Garis dibuat dengan menentukan dua
endpoint yaitu titik awal dan titik akhir. Setiap koordinat titik yang
membentuk garis diperoleh dari perhitungan, kemudian dikonversikan
menjadi nilai integer. Langkah-langkah pembentukan menurut algoritma
DDA, yaitu :
1. Tentukan dua titik yang akan dihubungkan.
2. Tentukan salah satu titik sebagai titik awal (x0, y0) dan titik akhir (x1, y1).
3. Hitung Δx = x1 – x0 dan Δ y = y1 – y0.
4. Tentukan step, yaitu jarak maksimum jumlah penambahan nilai x maupun
nilai y dengan cara :
5. bila nilai |Δy| > |Δx| maka step = nilai |Δy|.
6. bila tidak maka step = |Δx|.
7. Hitung penambahan koordinat pixel yaitu x_increment = Δx / step dan
y_increment = Δy / step.
8. Koordinat selanjutnya (x+x_incerement, y+y_increment).
9. Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinasi
tersebut.
10. Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x
= x1 dan y = y1
Algoritma-algoritma sebelumnya secara umum sudah dapat menjawab
masalah penggambaran garis, namun dalam komputasinya masih
mengandung perhitungan aritmatik yang secara analisis membuat kebutuhan
sumber daya komputasi menjadi besar karena operasi floating points. Untuk
itu dikembangkan algoritma lain yaitu algoritma Bresenham yang bekerja
pada domain bilangan integer sehingga walaupun algoritma menjadi panjang
namun lebih efisien.
2.2.4 Algoritma Bressenham
Prosedur untuk menggambar kembali garis dengan membulatkan nilai x atau
y kebilangan integer membutuhkan waktu, serta variable x,y dan m
merupakan bilangan real karena kemiringan merupakan nilai pecahan.
Bressenham mengembangkan algoritma klasik yang lebih menarik, karena
hanya menggunakan perhitungan matematika dengan bilangan integer.
Dengan demikian tidak perlu membulatkan nilai posisi setiap pixel setiap
waktu.
Algoritma garis Bressenhem disebut juga midpoint line algorithm adalah
algoritma konversi penambahan nilai integer yang juga dapat diadaptasi untuk
menggambar sebuah lingkaran.

Gambar 2.2.4 Penggambaran Garis dengan Teknik Bresenham


Langkah-langkah untuk membentuk garis menurut algoritma ini adalah :
1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
2. Tetukan salah satu titik disebelah kiri sebagai titik awal (x0, y0) dan titik
lainnya sebagai titik akhir (x1, y1 ).
3. Hitung Δx, Δy, Δ2x, dan 2Δy – 2Δx.
4. Hitung parameter p0 = 2Δy – Δx.
5. Untuk setiap xk sepanjang jalur garis, dimulai dengan k = 0
6. bila pk <0 maka titik selanjutnya (xk+1, yk) dan pk+1 = pk +2Δy
7. bila tidak maka titik selanjutnya adalah (xk+1, yk+1) dan pk+1=pk+2Δ-
y2Δx.
9. Ulangi langkah nomor 5 untuk menentukan posisi pixel selanjutnya, sampai
x=xn.

Anda mungkin juga menyukai