Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak...

42
Esther Wibowo - [email protected] Bentuk Primitif

Transcript of Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak...

Page 1: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Esther Wibowo - [email protected]

Bentuk Primitif

Page 2: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Bentuk PrimitifPoint - TitikLine - GarisShape/Polygon - Bentuk bangunText - Teks

Page 3: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

TitikDirepresentasikan dengan koordinat (x,y)Biasanya tidak tampil sendiriMenjadi bagian dari bentuk yang lain

Page 4: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

GarisDidefinisikan oleh 2 titik atau lebih.Line : Garis lurusPolyline : sambungan beberapa garisCurve : kurva

CURVEPOLYLINELINE

Page 5: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Persamaan Garis (1)

12

12

1

1

xxyy

xxyy

−−

=−−

X

Y

X1 X2

Y1

Y2 bmxy +=

12

12

xxyym

−−

=

11 mxyb −=

(x,y)

Page 6: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Persamaan Garis (2)m = slope (kemiringan)b = perpotongan dengan sumbu Y bila x1=0

absisx

ordinaty

originO (0,0)

b

m

x

y

Page 7: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

LatihanDiketahui dua titik yang dilalui garis lurus : (2,1) dan (6,7). Cari koordinat y dalam garis tersebut di titik-titik x berikut:a. 8b. 10c. 50d. -4e. -8f. -10

Page 8: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

LatihanDiketahui dua titik yang dilalui garis lurus : (2,1) dan (6,7). Cari koordinat y dalam garis tersebut di titik-titik x berikut:a. 7b. 10c. 50d. -3e. -7f. -10

Page 9: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Jawaban Latihan

a. 8 10b. 1013c. 5073d. -4 -8e. -8 -14f. -10 -17

Menghitung cepatkoordinat banyak titikdalam suatu garisdengan mencaridahulu konstanta m dan b.Dalam soal:(x1,y1) = (2,1) (x2,y2) = (6,7)m=1.5 dan b=-2

X Y

Page 10: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Line segment Segmen garis

x1 x2

y1

y2

Segmen garis dinyatakan dengan kedua titikujungnya

12

12

xxyym

−−

=

11 mxyb −=

Page 11: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Panjang Segmen Garis

x1 x2

y1

y2

p1

p2

A

212

212

2 )yy()xx(L −+−=

212

212 )()( yyxxL −+−=

Panjang segmen garis L

Dua titik ujung p1(x1,y1) dan p2(x2, y2)

Page 12: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Garis sejajar (paralel)

11 bxmy +⋅=

O

22 bxmy +⋅=

21 mm =

Page 13: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Garis tegaklurus

11 bxmy +⋅=

O

22 bxmy +⋅=

21

1m

m −=

Page 14: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Harga m

m = 0

m = 1

m = -1

m < 1

m > 1

Page 15: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Jarak antara Titik dan Garis

y=m1x+b

p(xp,yp)

Page 16: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Jarak antara Titik dan Garis

y=m1x+b

y=m2x+b

p(xp,yp)

q(xq,yq)

Page 17: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Citra Garis dalam Raster

Page 18: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Bentuk Bangun

Beberapa garis sambung-menyambung yang memiliki titik awal dan titik akhir yang sama.Self-overlapping : memiliki sisi berpotonganNon-convex : ada sisi yang berada di dalam areaConvex : semua sisi di luar area bentuk bangun

SELF-OVERLAPPING CONVEXNON-CONVEX(CONCAVE)

Page 19: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Convex atau Concave?

Page 20: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Beberapa Jenis Polygon

SQUARE ELIPSE COMPLEXPOLYGON

Page 21: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Operasi Bentuk Bangun (1)UNIONmenggabungkan area kedua bentuk bangunINTERSECTmenampilkan area yang berpotongan, terdapatdalam dua area bentuk bangunDIFFERENCEmenghilangkan area 2 beserta yang area 1 yang berpotongan dengan area 2SYMMETRICAL DIFFERENCEmenghilangkan area yang berpotongan

Page 22: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Operasi Bentuk Bangun (2)

UNION INTERSECT DIFFERENCE SYMMETRICDIFFERENCE

Page 23: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Pencitraan Bentuk BangunOutline - (tebal) garis luarFill - berisi (warna)

OUTLINE FILL

Page 24: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Atribut OutlineAtribut : pengontrol penampilan objek primitifAtribut outline mis: width - lebar, style - gaya, color - warna

LINE WIDTH 15 pt

LINE STYLE DOT, DASH

LINE COLOR BLUE

Page 25: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

WarnaColor Space : referensi warna, mis: RGB, HSV, HLS, CMYK.Color Channel : komponen dari color space, mis: RGB memiliki 3 color channels yaitu Red, Green, Blue.RGB paling banyak digunakan dalamprogramming - cocok dengan hardwareTiap channel RGB dinyatakan dengan nilai 0-255, mis: warna putih = (255,255,255)

Page 26: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Contoh Color Space (1)

RGB CMYKBerdasar sinar Berdasar cat di

kertas putih

Page 27: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Contoh Color Space (2)

HSVHue - Saturation - Value

Page 28: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Filling PolygonMengisi bentuk persegi panjang tidak sulit: tentukan nilai x di kedua tepi lalu set area diantaranya dengan warna yang diinginkan.Bagaimana dengan concave polygon?

Page 29: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Filling Convex & Concave PolygonLangkah algoritma pengisian:

Cari perpotongan scanline dengan semua tepipolygon.Urutkan perpotongan berdasar kenaikan koordinatx.Isi interior dari polygon dengan odd-parity rule: nilaiawal “genap” - tiap menemui koordinat perpotonganberubah nilai menjadi “ganjil” - isi interior saatparity bernilai “ganjil”, jangan isi saat parity bernilai“genap”.

Page 30: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Odd-Parity Rule

scanline

Page 31: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Algoritma Lingkaran & Elips

0bayax),( 222222 =−+= byxF

-a a

-b

b

X

Y

Page 32: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

TeksAtribut teks mis:

Style/font - jenis huruf: Arial, Times, HelveticaAppearance - tampilan: roman, bold, italic, underlined, strikeout dll.

Size - besar: 20pt, 24pt, 32ptSpace - spasi: antar karakter, antar baris, dll.Angle - sudut kemiringan: horizontal, vertikal, kemiringan tertentuColor - warna

Page 33: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Tampilan Raster dari Teks

ORIGINAL ITALIC BOLD

Page 34: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

AliasingBentuk primitif yang ditampilkan di layar memilikikekurangan : jaggies/staircasing.Hasil konversi scan dengan nilai 0 atau 1.Teknik mengurangi atau menghilangkan jaggies = ANTI-aliasing

Page 35: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Tampilan Aliasing

Page 36: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Tampilan Antialiasing

Page 37: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Metode Antialiasing (1)Teknik Menaikkan ResolusiGaris nampak lebih baik tapi belum bagus.

Page 38: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Metode Antialiasing (2)Teknik Unweighted Area SamplingBesar area perpotongan garis dengan piksel = intensitas piksel

Page 39: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Intensitas piksel di tengah garis seharusnya lebih besar daripadaintensitas piksel di ujung garis. Adakah teknik yang lebih baik?

Page 40: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)

Metode Antialiasing (3)Teknik Weighted Area SamplingArea di dekat titik tengah bentuk bangunintensitas piksel lebih tinggi.Makin jauh area dari titik tengah, intensitas makinrendah.

Page 41: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)
Page 42: Bentuk Primitif - · PDF fileJawaban Latihan a. 8 10 b ... yMenghitung cepat koordinat banyak titik dalam suatu garis dengan mencari dahulu konstanta m dan b. yDalam soal: (x1,y1)