Kamis, 28 Desember 2017

Komputer Grafik

Komputer Grafik
l  Grafika komputer adalah suatu bidang ilmu yang mempelajari bagaimana membangun grafik (gambar) baik 2D maupun 3D yang kelihatan nyata menggunakan  komputer
l  Salah satu bidang grafika komputer yang sangat terkenal adalah Desain grafis
l  Teknik-teknik dalam ilmu komputer dan matematika untuk merepresentasikan dan memanipulasi data gambar menggunakan komputer .
l  Grafika komputer juga dapat diartikan segala sesuatu selain teks atau suara

Ruang Lingkup Grafika Komputer
l  Grafika Komputer bukan ilmu yang berdiri sendiri.
l  Pada dasarnya banyak ilmu yang menyokong sekaligus menjadi dasar grafika komputer.
Misalnya ilmu matematika, geometri, analisis/metode numerik dan ilmu komputasi. Jika dikaitkan dengan konsep sistem, ada dua ilmu yang erat kaitannya dengan grafika komputer yaitu pengolahan citra dan visi komputer.

Kaitan Ilmu Grafika Komputer dengan Ilmu Lain
l  Objek yang menjadi masukan atau input untuk grafika komputer adalah deskripsi misalkan buatlah kursi, buatlah meja dan sebaginya, dan objek yang menjadi keluaran atau output dari grafika komputer adalah gambar atau citra dijital sesuai dengan deskripsi masukan.
Beberapa Penerapan Grafika Komputer
l  Entertainment, misalnya dalam pembuatan film animasi. Terminator II dan Titanic merupakan contoh film non animasi yang memanfaatkan efek-efek grafika komputer yang sangat canggih.
l  Visualisasi Proses, misalnya menggambarkan layout kinerja proses pabrik, atau proses-proses yang dalam modul ajar. Visualisasi Hasil Penelitian, seperti menggambar grafik performance, grafik perubahan bahkan grafik model hasil simulasi dan implementasi program.
l  Bersama-sama dengan image processing digunakan sebagai algoritma identifikasi, seperti yang dilakukan pada kepolisian untuk menggambarkan wajah seseorang secara 3D dan identifikasi seseorang.


Apakah Beda Gambar dan Photo ?
l  Photo merupakan gambar yang dihasilkan dengan proses capture dari kegiatan nyata. Hasilnya setiap detail akan muncul, misalnya jumlah kumis pada kucing sama
l  Gambar adalah proses pembentukan yang dilakukan dengan meniru kegiatan nyata. Hasilnya ada beberapa detail yang tidak dapat ditampilkan.

Penggambaran Objek Primitif
  1. Gambar dapat dijelaskan dengan beberapa cara, bila menggunakan raster display, gambar ditentukan oleh suatu set intesitas untuk posisi display pada display.
  2. Dengan scene tampilan gambar dengan loading array dari pixel ke dalam buffer atau dengan mengkonversikan scan dari grafik geometri tertentu ke dalam pola pixel.
  3. 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.
  4.  
            Penggambaran Titik dan Garis
  1. Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik koordinat dengan program aplikasi ke dalam suatu operasi tertentu menggunakan output.
  2. Random-scan (vektor) system menyimpan instruksi pembentukan titik pada display list dan nilai koordinat menentukan posisi pancaran electron ke arah lapisan fosfor pada layer.
  3. Garis dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu garis

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.
Algoritma Penggabaran 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

Contoh :
1.      Diketahui dua buah titik A(2, 1) dan B(6, 4). Tentukan titik-titik dijital yang dilalui
oleh garis yang melalui kedua titik tersebut!
Penyelesaian :
Hitung nilai m   =  
                          =
                          =
                          = 0,75
Latihan :
Dengan menggunakan algoritma dasar, tentukan koordinat titik-titik dijital untuk
garis yang dibentuk oleh dua titik sebagai berikut:
a. (-5,5) dan (1,2)
b. (4,3) dan (8,-2)
c. (2,3) dan (5,3)
d. (2,3) dan (2,5)
e. (6,4) dan (2,1)
“Tentukanlah mana kasus yang tidak dapat diselesaikan dengan
 algoritma dasar”.
PENYELESAIAN
a.       (-5,5) dan (1,2)
X1 = -5       Y1= 5
X2= 1         Y2= 2

M =  y2 – y  = 2 – 5        = -3      = 0,5
          x2 – x1         1- (-5)            6





Maka :
x
Δx
x”
y
Δy
y”
x
Y
-5
-
-5
5
-
5
-5
5
-5
1
-4
5
-0,5
4,5
-4
4,5
-4
1
-3
4,5
-0,5
4
-3
4
-3
1
-2
4
-0,5
3,5
-2
4
-2
1
-
3
-0,5
2,5
-
3
-
1
1
2,5
-0,5
2
1
2


b.      (4,3) dan (8,-2)
X1 = 4        Y1= 3
X2= 8         Y2= -2

M =  y2 – y  = -2 – 3       = -5      = -1,25
          x2 – x1             8 - 4            4

maka:
x
Δx
X”
y
Δy
Y”
x
y
4
-
4
3
-
3
4
3
4
1
5
3
-1,25
1,75
5
2
5
1
6
1,75
-1,25
0,5
6
1
6
1
7
0,5
-1,25
-0,75
7
1
7
1
8
-0,75
-1,25
-2
8
-2


c.       (2,3) dan (5,3)
X1 = 2        Y1= 3
X2= 5         Y2= 3

M =  y2 – y  = 3 – 3        =  0      = 0
          x2 – x1           5 - 2             3

maka :
x
Δx
X”
y
Δy
Y”
x
Y
2
-
2
3
-
3
2
3
2
1
3
3
0
3
3
3
3
1
4
3
0
3
4
3
4
1
5
3
0
3
5
3



d.      (2,3) dan (2,5)
X1 = 2        Y1= 3
X2= 2         Y2= 5

M =  y2 – y  = 5 – 3        =  2      = 0
          x2 – x1           2 - 2             0

Nb : Tidak ditemukan titik koordinat.

e.       (6,4) dan (2,1)
X1 = 6        Y1= 4
X2= 2         Y2= 1

M =  y2 – y  = 1 – 4        =  -3     = 0,75
          x2 – x1           2 - 6             -4

maka :
x
Δx
X”
y
Δy
Y”
x
y
6
-
6
4
0,75
4
6
4
6
1
7
4
0,75
4,75
7
5
7
1
8
4,75
0,75
5,5
8
6
8
1
9
5,5
0,75
6,25
9
6
9
1
10
6,25
0,75
7
10
7
10
1
11
7
0,75
7,75
11
8
11
1
12
7,75
0,75
8,5
12
9
12
1
13
8,5
0,75
9,25
13
9

Nb : Tidak ditemukan titik koordinat karena semakin besar penjumlahannya.



Algoritma DDA (Digital Differential Analyzer)
      DDA adalah algoritma pembentukan garis berdasarkan perhitungan Δx dan Δy.
       Rumus DDA :                       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:
  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
 Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y= y1

Contoh :
Untuk menggambarkan algoritma DDA dalam pembentukan suatu garis yang
menghubungkan titik (10,10) dan (17,16), pertama-tama ditentukan dx dan dy, kemudian dicari step untuk mendapatkan x_increment dan y_increment.
PENYELESAIAN :
Δx = x1 – x 0 = 17-10 = 7
Δy = y1 – y0 = 16 -10 = 6
selanjutnya hitung dan bandingkan nilai absolutnya
 |Δx| = 7, |Δy| = 6
karena |
Δx| > |Δy|, maka step = |Δx| = 7 maka diperoleh :
x_inc = 7/7= 1
y_inc = 6/7 = 0,86

Gambar grafik :
Latihan :
Dengan menggunakan algoritma DDA, tentukan koordinat titik-titik dijital untuk
garis yang dibentuk oleh dua titik sebagai berikut:
a. (-5,5) dan (1,2)
b. (4,3) dan (8,-2)
c. (2,3) dan (5,3)
d. (2,3) dan (2,5)
e. (6,4) dan (2,1)
Catatan: Apakah semua soal dapat diselesaikan ?
PENYELESAIAN
a.       (-5,5) dan (1,2)
X0 = -5       Y0= 5
X1= 1         Y1= 2
Ø  Δx = x1 – x0               Δ y = y1 – y0
     = 1 – (-5)                       = 2 – 5
     = 6                                 = -3


Ø  Δ y = 6
Ø  x_increment = Δx / step = 6/6 =1
y_increment = Δy / step = -3/6 = -0,5
Ø  tabel
k
x
y
x
y
-
-
-
-5
5
0
-4
4,5
-4
4
1
-3
4
-3
4
2
-2
3,5
-2
3
3
-1
3
-1
3
4
0
2,5
0
2
5
1
2
1
2





b.      (4,3) dan (8,-2)
X0 = 4        Y0= 3
X1= 8         Y1= -2
Ø  Δx = x1 – x0               Δ y = y1 – y0
     = 8 – 4                           = (-2) – 3
     = 4                                 = -5

Ø  Δ y = 4
Ø  x_increment = Δx / step = 4/4 =1
y_increment = Δy / step = -5/4 = -1,25
Ø  tabel
k
x
y
x
y
-
-

4
3
0
5
1,75
5
2
1
6
0
6
0
2
7
-1,75
7
-2
3
8
-3
8
-3
4
9
-4,25
9
-4
5
10
-5,5
10
-5
6
11
-6,75
11
-6

Nb : Tidak ditemukan titik koordinat.

c.       (2,3) dan (5,3)
X0 = 2        Y0= 3
X1= 5         Y1= 3
Ø  Δx = x1 – x0               Δ y = y1 – y0
     = 5 – 2                           = 3 – 3
     = 3                                 = 0

Ø  Δ y = 3
Ø  x_increment = Δx / step = 3/3 = 1
y_increment = Δy / step = 0/3 = 0




Ø  tabel
k
x
y
x
y
-
-
-
2
3
0
3
3
3
3
1
4
3
4
3
2
5
3
5
3


d.      (2,3) dan (2,5)
X0 = 2        Y0= 3
X1= 2         Y1= 5
Ø  Δx = x1 – x0               Δ y = y1 – y0
     = 2 – 2                           = 5 – 3
     = 0                                 = 2

Ø  Δ y = 2
Ø  x_increment = Δx / step = 0/2 = 0
y_increment = Δy / step = 2/2 = 1
Ø  tabel
k
x
y
x
y



2
3
0
2
4
2
4
1
2
5
2
5

e.       (6,4) dan (2,1)
X0 = 6        Y0= 4
X1= 2         Y1= 1
Ø  Δx = x1 – x0               Δ y = y1 – y0
     = 2 – 6                           = 1 – 4
     = -4                                = -3

Ø  Δ y = -4
Ø  x_increment = Δx / step = -3/-4 =0,75
y_increment = Δy / step = -4/-4 = 1
Ø  tabel
k
x
y
x
y



6
4
0
7
4,75
7
5
1
8
5,55
8
5
2
9
6,25
9
6
3
10
7
10
7
4
11
7,75
11
8

Nb : Tidak ditemukan titik koordinat karena penjumlahan semakin besar.







Algoritma Bressenham
l  Bressenham mengembangkan algoritma klasik yang lebih menarik.
l  Hanya menggunakan perhitungan matematika dengan bilangan integer.
l  Tidak perlu membulatkan nilai posisi setiap pixel setiap waktu.
l  Algoritma Bressenham disebut juga midpoint line algorithm
l  Algoritma konversi penambahan nilai integer yang juga dapat diadaptasi untuk menggambarkan sebuah lingkaran .

Langkah-langkah Algoritma Bressenham :
l  Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
l  Tentukan salah satu titik di sebelah kiri sebagai titik awal, yaitu (x0,y0) dan titik lainnya sebgai titik akhir (x1,y1).
l  Hitung dx,dy,2dx dan 2dy-2dx.
l  Hitung Paramater P0=2dy-dx
l  Untuk setiap Xk sepanjang jalur garis, dimulai dengan k=0, bila pk <0,>k+1, yk), dan Pk+1 = Pk+2dybila tidak, maka titik selanjutnya adalah (xk+1,yk+1), dan Pk+1 = Pk+2dy-2dx
l  Ulangi langkah no 5 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1.

Alir Algoritma Brenssham

Description: C:\Users\User\Pictures\cartalirBre.gif
Contoh Soal :
l  Diketahui sebuah sumbu dengan titik koordinat (2,2) dan (6,4). Gambarkan garis tersebut dengan menggunakan Algoritma Bresenham. 
l  Langkah 1 : menentukan titik awal dan titik akhir (x0,y0) dan (x1,y1)
Description: latihanBre2.gif
l  Langkah II :
Hitung Dx, Dy, dan 2Dy – 2Dx.
Description: latihanBre4.gif
l  Langkah III : Hitung Parameter
pk = 2Dy – Dx..
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8yPTYOVNdamwbgN1XcITfOFmmupsaJl1rwg9pRsxfUQ0BGPjEkOuErn8YJuaP6PARbSpXdnxYXlu-zbAYwd7TG9N7xZXQaRbQ4xNhE3FoSSg-XcV_VhByRBiuY7QNdFkCCLAx82bfvss/s1600/latihanBre5.gif
l  Langkah IV : Bandingkan
if pk < 0 (xk+1, yk) else (xk +1, yk +1).
            A < 0 = 2 Dy
            B > 0 = 2 Dy - 2Dx
        Pk (+)= Pk + B
        Pk (-)= Pk + A 
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8yPTYOVNdamwbgN1XcITfOFmmupsaJl1rwg9pRsxfUQ0BGPjEkOuErn8YJuaP6PARbSpXdnxYXlu-zbAYwd7TG9N7xZXQaRbQ4xNhE3FoSSg-XcV_VhByRBiuY7QNdFkCCLAx82bfvss/s1600/latihanBre5.gif
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYCSuCVi6yZjO3HOD8bTbpihQ4v3ZDY761s1j40XMFKmCa4d6oXFiSLID9UmIgk4YZmOwoWliKYIRKXUobgf1uG5UP7-praQBzzmUcdkRMmwi-FabePsD1azOS2w57G6LTnFdpKmCObHY/s200/latihanBre6.gifDescription: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv1qG7uo2SdGidTu5VUS0LPLvJMxRp-_UCfQ-Ek7zL2QBqQcW5rD6Kl99W4EzvxgS8Rnyq1ymDRRkVvBkh3F7cLHS62fy8NLYCCoL7QzsLV24vkvemH3QvW6qslVlezowiTTNkQAOkmNM/s200/latihanBre8.gif
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvf2VIoWl7qnVNQn93jrWU6rQBsGFjBH81E5jA0ESXNy2GXDgtbnF1aTkxOFCaj2BPrPCEY07-CbM1NOjIqvZdpbvY-DcfOmZBhaAVGmOtdtihvNNxLHof28Ce9YslQigg5jhV-bGHXD0/s200/latihanBre9.gifDescription: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmINw6G6F17Uzu5sX3DILet3Qc-WCGS2lYkj9yHFibjdKM6LTe0vcmcvI4ouRzvo8BPJUahBpksX9ewEUoSFCS_cqKucZv_wxJvLa5Fn6vUYmBFZNRiGSYbp9xUX-4-TpJHPfMtP8XQWg/s200/latihanBre10.gif
Tabel akhir
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvgCnjZ5bfz_pr4ptto8Iz7-5KBmUMGQ7E6iBoCJvov7sJp6BrBbw0fUct6qba2ECKnBQL2qPpKWNtePDu0x-AyjKLCJkauRXkPYe2IiabY9COHZHVxYevWQYTt_olXoCbKkekJAUl8kA/s400/latihanBre7.gif
                              
Contoh 2:
l  Titik Awal P1 (15,6) dan titik akhir P2 (28,13)
l  Hitung Dx,Dy, 2Dy-2Dx
l  Dx=x2-x1=28-15=13
l  Dy=y2-y1=13-6=7
l  2Dy-2Dx =2(7)-2(13)=14-26=-12
l  Hitung Parameter pk=2Dy-Dx
                               2(7)-(13)=14-13=1
                               A<0=2Dy=2(7)=14
                               B>0=2Dy-2Dx=2(7)-2(13)=14-26=-12
Tabel Titik dengan Brenssham
k
Pk
X
y
-
-
15
6
1
1
16
7
2
-11
17
7
3
3
18
8
4
-9
19
8
5
5
20
9
6
-7
21
9
7
7
22
10
8
-5
23
10
9
9
24
11
10
-3
25
11
11
11
26
12
12
-1
27
12
13
13
28
13
A =  14
B = -12



Aturan Bresenham :
Jika Pk bernilai positif (+), maka tambahkan hasilnya dengan B dan nilai x dan y ditambah 1.
Jika Pk bernilai negatif (-), maka tambahkan hasilnya dengan A dan nilai x ditambah 1, sedangkan y ditambah 0 (tetap).
Grafik Akhir



5 komentar:

  1. GAMBAR TIDAK NAMPAK, BOLEH MINTA FILE PDF NYA MBA?

    BalasHapus
  2. Mengapa gambarnya tidak terlihat

    BalasHapus
  3. Kalau boleh request minta dibuatkan lagi materi yang versi perhitungan detail di bagian materi algoritma garis dengan koordinat cartesius hehe terima kasih

    BalasHapus