Anda di halaman 1dari 25
GRAFIKA KOMPUTER TIS 3.59P FTIK Universitas Semarang Wa k h i d a h , ida@ftik.usm.ac.id
GRAFIKA KOMPUTER
TIS 3.59P
FTIK Universitas Semarang
Wa k h i d a h ,
ida@ftik.usm.ac.id
S .Ko m ,
M . C s
Nu r
1
2 titik kurva garis polygon lingkaran 2 dimensi Grafik 2 Dimensi elemen pembentuk komputer grafik Geometri
2
titik
kurva
garis
polygon
lingkaran
2 dimensi
Grafik 2 Dimensi
elemen pembentuk komputer grafik Geometri
FTIK Universitas Semarang
ida@ftik.usm.ac.id
3 dimensi
Suatu titik pada layar terletak pada posisi (x,y), untuk menggambarkannya plot suatu pixel dengan posisi
Suatu titik pada layar terletak pada posisi (x,y), untuk
menggambarkannya plot suatu pixel dengan posisi
yang berkesesuaian
Garis adalah kumpulan titik-titik yang tersusun
sedemikian rupa sehingga memiliki pangkal dan ujung.
Contoh : setpixel(x,y)
GARIS
FTIK Universitas Semarang
ida@ftik.usm.ac.id
3
ada la ar kom Penampilan garis pada layar komputer dibedakan berdasarkan Resolusi-nya. ida@ftik.usm.ac.id FTIK Universitas Semarang
ada la ar kom
Penampilan garis pada layar komputer dibedakan
berdasarkan Resolusi-nya.
ida@ftik.usm.ac.id
FTIK Universitas Semarang
Resolusi dapat pula dibedakan menjadi kasar, medium dan
Resolusi : keadaan pixel yang terdapat pada suatu area
terdapat 640 pixel per-kolom dan 480 pixel per-baris.
Contoh : Resolusi 640x480 berarti
Garis (cont)
,
tertentu
halus.
uer
y
p
p
4
Untuk menggambarkan garis seperti gambar di samping, diperlukan pixel aktif. Parameter pixel address yang membentuk
Untuk menggambarkan garis
seperti gambar di samping,
diperlukan pixel aktif.
Parameter pixel address yang
membentuk garis pada layar
adalah
Garis (cont)
FTIK Universitas Semarang
ida@ftik.usm.ac.id
5
Untuk menampilkan atau menggambarkan garis pada layar dibutuhkan minimal 2 titik (endpoint), yaitu titik awal
Untuk menampilkan atau menggambarkan garis
pada layar dibutuhkan minimal 2 titik (endpoint),
yaitu titik awal dan akhir.
Untuk mendapatkan titik-titik selanjutnya sampai ke P n perlu
dilakukan incrementasi atas nilai koordinat sumbu X dan Y
pada titik sebelumnya.
Awal garis dimulai dengan titik atau pixel pertama, P 1 (x1,y1)
diikuti titik kedua, P 2 (x2,y2).
Garis (cont)
FTIK Universitas Semarang
P 1 (x1,y1)
P 2 (x2,y2)
ida@ftik.usm.ac.id
6
Perhitungan incrementasi untuk masing-masing sumbu adalah berbeda : Secara umum persamaan garis adalah y =
Perhitungan incrementasi untuk masing-masing sumbu
adalah berbeda :
Secara umum persamaan garis adalah
y = mx + c
Garis (cont)
n adalah nilai incrementasi
FTIK Universitas Semarang
ida@ftik.usm.ac.id
7
2 m = gradien c = perpotongan garis dengan sumbu y m = y 2 x
2
m = gradien
c = perpotongan garis
dengan sumbu y
m =
y
2
x
1
c = y
1
y2
y
x
y1
1
Menggambar Garis
ida@ftik.usm.ac.id
x1
FTIK Universitas Semarang
x2
8
Dimana;
y = mx + c
m∑x
c
Sebuah garis secara umum dapat diperoleh dengan
menggunakan rumus:
y
1
=
x
5 1*5+1 = 6 x 1 = 1 y 1 = 2 x 2 = 5
5 1*5+1 = 6
x 1 = 1
y 1 = 2
x 2 = 5
y 2 = 6
0 1*0+1 = 1
3 1*3+1 = 4
1 1*1+1 = 2
4 1*4+1 = 5
2 1*2+1 = 3
Gambar garis dari Titik A(1, 2) dan titik B(5, 6)
8
7
6
5
4
3
2
1
0
8
x
ida@ftik.usm.ac.id
7
1
4
5
2
3
6
x
0
FTIK Universitas Semarang
9
y
y
c = 2 – 1 * 1 = 1
m = (5-1)/(6-2)=1
Contoh
Jawab:
I (x1<x2) dan (y1<y2) Berdasarkan arah garis maka sebuah garis dapat di salah satu area (kuadran).
I (x1<x2) dan (y1<y2)
Berdasarkan arah garis maka sebuah garis dapat di salah satu
area (kuadran).
Kuadran garis tidak berhubungan dengan nilai negatif
maupun positif tetapi menyatakan arah garis.
P 2 (x2,y2)
P 1 (x1,y1)
ida@ftik.usm.ac.id
FTIK Universitas Semarang
Tanda panah pada arah garis menunjukkan lokasi P 2 (x2,y2)
Kuadran Garis
III (x1>x2) dan (y1>y2)
II (x1>x2) dan (y1<y2)
10
(x1<x2) dan (y1>y2)
(-3,-3) – (-6,-1)
(-3,-2) – (-1,4)
(6,-2) – (4, -5)
(3,9) – (6,-2)
Arah Garis
Kuadran
Kriteria
Contoh
IV
1 2 3 4 9 8 7 6 (x2,y2) 5 4 3 2 1 0 (x1,y1)
1
2
3
4
9
8
7
6
(x2,y2)
5
4
3
2
1
0
(x1,y1)
2
3
9
8
7
6
5
4
3
2
1
0
1
D
7
4
5
5
9
6
8
9
6
8
ida@ftik.usm.ac.id
FTIK Universitas Semarang
11
7
A
C
(x1,y1)
(x1,y1)
(x2,y2)
(x1,y1)
(x2,y2)
Contoh Kuadran Garis
Akan termasuk di Kuadran I,
jika Garis B (2,3) – (4,8)
Garis C (8,1)–(1,5) k.II
Garis D (4,8)–(8,3) k.IV
Garis A (2,1)–(8,4) k.I
Garis B (4,8)–(2,3) k.III
B
(x2,y2)
Untuk mengubah garis di kuadran IV menjadi garis di kuadran II dapat dilakukan dengan cara
Untuk mengubah garis di kuadran IV menjadi garis di
kuadran II dapat dilakukan dengan cara yang sama
seperti di atas.
Garis A (x1,y1) – (x2,y2) termasuk garis di kuadran III
dapat diubah menjadi garis di kuadran I.
Cara Mengubah Kuadran Garis
x1 = x2 ; y1 = y2;
tX = x1 ; tY = y1;
x2 = tX ; y2 = tY;
FTIK Universitas Semarang
ida@ftik.usm.ac.id
12
Algorithma garis adalah algorithma untuk menentukan lokasi pixel yang paling dekat dengan garis sebenarnya (actual
Algorithma garis adalah algorithma untuk menentukan
lokasi pixel yang paling dekat dengan garis sebenarnya
(actual line)
Algoritma Garis
FTIK Universitas Semarang
ida@ftik.usm.ac.id
13
FTIK Universitas Semarang Jika Tidak Lakukan dekrementasi sumbu X dari titik awal sampai titik akhir Jika
FTIK Universitas Semarang
Jika Tidak Lakukan dekrementasi sumbu X dari titik awal sampai
titik akhir
Jika Ya Lakukan inkrementasi sumbu X dari titik awal sampai titik
akhir
Garis yang membentang secara paralel
dengan sumbu X dengan asumsi titik P1
pada koordinat X1 lebih kecil daripada
X2 dari P2, sedangkan Y1 dan Y2 konstant
gor
3. Tampilkan garis menggunakan parameter koordinat yang telah
dihitung.
ida@ftik.usm.ac.id
1. Menentukan titik awal (P1) dan titik akhir (P2)
2. Periksa posisi sumbu (koordinat)
Garis Horisontal
Jika titik akhir < titik awal
Al
ma:
14
it
FTIK Universitas Semarang Jika Tidak Lakukan dekrementasi sumbu Y dari titik awal sampai titik akhir Jika
FTIK Universitas Semarang
Jika Tidak Lakukan dekrementasi sumbu Y dari titik awal sampai
titik akhir
Jika Ya Lakukan inkrementasi sumbu Y dari titik awal sampai titik
akhir
Garis yang membentang secara paralel
dengan sumbu Y dengan asumsi titik P1
pada koordinat Y1 lebih kecil daripada
Y2 dari P2, sedangkan X1 dan X2 konstant
gor
3. Tampilkan garis menggunakan parameter koordinat yang telah
dihitung.
ida@ftik.usm.ac.id
1. Menentukan titik awal (P1) dan titik akhir (P2)
2. Periksa posisi sumbu (koordinat)
Garis Vertikal
Jika titik akhir < titik awal
Al
ma:
15
it
Garis yang membentang secara paralel 45 derajat dari sumbu X atau sumbu Y dengan asumsi
Garis yang membentang secara paralel
45 derajat dari sumbu X atau sumbu Y
dengan asumsi titik awal P1 dengan
koordinat X1 dan Y1 lebih kecil daripada
X2 dan Y2 atau sebaliknya
Algoritma:
Jika Ya Lakukan inkrementasi sumbu X dan Y dari titik awal
sampai titik akhir
Jika Tidak Lakukan dekrementasi sumbu X dan Y dari titik awal
sampai titik akhir
3. Tampilkan garis menggunakan parameter koordinat yang telah
dihitung.
1. Menentukan titik awal (P1) dan titik akhir (P2)
2. Periksa posisi sumbu (koordinat)
Garis Diagonal
Jika titik akhir < titik awal
FTIK Universitas Semarang
ida@ftik.usm.ac.id
16
Garis yang membentang antara 2 titik, yaitu titik P1 dan titik P2 yang selalu membentuk
Garis yang membentang antara 2 titik, yaitu titik P1
dan titik P2 yang selalu membentuk sudut yang
besarnya bervariasi.
Sudut yang terbentuk menentukan kemiringan suatu
garis gradient/ slop (parameter : m)
Merupakan algoritma menggambar garis bebas yang
sederhana.
DDA Digital Differential Analyzer
DDA Algorithm
FTIK Universitas Semarang
ida@ftik.usm.ac.id
17
1 18 ida@ftik.usm.ac.id m = FTIK Universitas Semarang DDA Algorithm x = y Apabila dua pasang
1
18
ida@ftik.usm.ac.id
m =
FTIK Universitas Semarang
DDA Algorithm
x
=
y
Apabila dua pasang titik yang membentuk sebuah
garis dinyatakan sebagai P1 (x1, y1) dan P2 (x2, y2),
maka nilai dari gradien m dapat dihitung dengan
x
2
x
1
y
2
y
sebesar Δx dan Δ ida@ftik.usm.ac.id FTIK Universitas Semarang Algoritma DDA bekerja atas dasar penambahan nilai x
sebesar Δx dan Δ
ida@ftik.usm.ac.id
FTIK Universitas Semarang
Algoritma DDA bekerja atas dasar penambahan nilai x dan
yang bisa dialamati/dicapai atau melalui penambahan atau
yang mungkin dilakukan adalah berdasarkan piksel-piksel
tinggi, suatu garis dapat dibangkitkan dengan menambah
Kondisi ideal ini sukar dicapai, karenanya pendekatan
Untuk memperoleh suatu tampilan dengan ketelitian
pengurangan nilai x dan y dengan suatu besaran dan
membulatkannya ke nilai integer terdekat.
besaran dengan nilai yang sangat kecil.
DDA Algorithm
masin -masin
nilai y.
dimana
nilai x dan
19
y,
y
g
g
x Dari persamaan bahwa: Nilai pemetaan selanjutnya setara dengan kenaikan nilai slopnya (m) y y (
x
Dari persamaan
bahwa:
Nilai pemetaan selanjutnya setara dengan kenaikan
nilai slopnya (m)
y
y
( )
i
=
(i+1)
m
DDA Algorithm
+
c
(i)
=
y
+
m
y
m
( )
=
ida@ftik.usm.ac.id
FTIK Universitas Semarang
20
i
i
i
m
c
x
=
( )
( +1)
+
+
y
y
maka dapat disimpulkan
y = mx+c
1) ( x ( y i x ( ) = i y ( ) = ida@ftik.usm.ac.id
1)
(
x
(
y
i
x
( )
=
i
y
( )
=
ida@ftik.usm.ac.id
i+
1)
i+
Pixel bertambah 1 pada sumbu x dan bertambah
sebesar m pixel pada sumbu y
Gradien Dari Bentuk Garis Cenderung Mendatar
+ 1
+
Gradien bernilai 0 < m < 1
m
21
FTIK Universitas Semarang
i ( x ( y i x ( ) = i y ( ) = 1)
i
(
x
(
y
i
x
( )
=
i
y
( )
=
1)
ida@ftik.usm.ac.id
+
1)
i
+
Pixel bertambah 1 pada sumbu y dan bertambah
sebesar 1/m pixel pada sumbu x
Gradien Dari Bentuk Garis Cenderung Tegak
+ 1
1
+
Gradien bernilai m > 1
m
22
FTIK Universitas Semarang
= ( x ( y i x ( ) = i ( ) y ida@ftik.usm.ac.id 1)
=
(
x
(
y
i
x
( )
=
i
( )
y
ida@ftik.usm.ac.id
1)
i+
1)
i+
Pixel bertambah 1 pada sumbu x dan bertambah
sebesar 1 pixel pada sumbu y
Gradien Dari Bentuk Garis Miring 45 0
+ 1
+ 1
Gradien bernilai m = 1
23
FTIK Universitas Semarang
x + 3 1 x m = c = y = y x + y 2
x
+
3
1
x
m =
c
=
y
=
y
x
+
y
2
7
8
m
19
7
5
=
=
=
ida@ftik.usm.ac.id
FTIK Universitas Semarang
24
(1)
(1)
7
1
3
=
19
Contoh
2
7
2
7
Line (1,3,8,5)
Jawab:
8 4 4 3.86 4 5 4.14 4 6 4.43 4 7 4.71 5 3.57 5.00
8
4
4
3.86
4
5
4.14
4
6
4.43
4
7
4.71
5
3.57
5.00
5
9
8
7
6
5
4
3
2
1
0
X(i)
7
1
4
5
2
3
6
9
8
0
FTIK Universitas Semarang
25
pembulatan
ida@ftik.usm.ac.id
Y(i)
Y(i) –
Kenaikan nilai Y(i) setara
dengan nilai slop
Contoh
1
3.00
3
2
3.29
3
3