Grafika Komputer Evangs Mailoa
Yang dipelajari hari ini: • • • •
Aritmatika Vektor Konsep Geometrik Titik, Garis dan Bidang Perkalian Titik
Pengenalan Kenapa kita perlu belajar vektor? Kita butuh untuk mengetahui dimana objek diletakkan dalam dunia nyata. Ukuran dan orientasi objek. Seberapa jauh objek yang satu dengan yang lainnya. Bagaimana pantulan bekerja. Bagaimana fisika bekerja. Bagaimana sinar cahaya mengenai objek
Pengenalan y
• Koordinat - 2D
Ini yang akan digunakan dalam grafkom
x y
- Aturan tangan kiri 3D
z
y x x
- Aturan tangan kanan 3D z
Vektor Sebuah vektor mempunyai panjang dan arah. Vektor dinyatakan dengan cara yang sama dengan koordinat titik:
• Point (5,10) • Vector (5,10) Tetapi bagaimana perbedaannya?
Vektor Sebuah titik mempunyai lokasi P = (5,10)
v = (5,10)
Sebuah vektor tidak mempunyai lokasi Sebuah vektor adalah sebuah lintasan antara satu titik dengan titik yang lain
Vektor Vektor dapat ditentukan dengan pengurangan koordinat titik v=Q–P P = (1,10)
v = (8-1,1-10) v = (7, -9)
v
Q = (8,1)
Dengan kata lain , v mengatakan pada kita bagaimana untuk mendapatkan dari P ke Q
Vektor P = (1,10)
v
Q = (8,1)
Definisi Perbedaan antara dua titik adalah sebuah vektor v=Q-P Jumlah titik dan vektor adalah titik : Q=P+v
Vektor Quiz! Tentukan vektor dari P = (9,10) ke Q = (15,7) ? • v = (6, -3) Tentukan titik dari hasil penambahan vektor v = (9,-20) dengan titik P = (1,2) ? • Q = (10, -18)
Operasi Vektor Ada dua operasi dasar vektor: skala • 8v • jika v = (1,2) maka 8v = (8,16)
tambah •v+a • v = (3,4), a = (8,1) maka v+a = (11,5)
Operasi Vektor • Penskalaan vektor v 2v
0.5v -0.5v
Operasi Vektor • Penambahan vektor
a
v v+a
v
-a a
v-a v
Operasi Vektor Quiz! Diberikan vektor v = (10,20,5), tentukan: 2v, 0.5v dan -0.2v? 2v = (20,40,10) 0.5v = (5,10,2.5) -0.2v = (-2, -4, -1)
Diberikan vektor v = (1,1,1) dan a = (8,4,2), tentukan: v + a, v – a and a – v v + a = (9,5,3) v – a = (-7, -3, -1) a – v = (7, 3, 1)
Operasi Vektor Kombinasi Linier Penambahan vektor skala bersama-sama • 8v + 2a Definisi Kombinasi linier dari m vektor v1, v2,…,vm adalah vektor: w = a1v1 + a2v2 + … + amvm
Operasi Vektor Kombinasi Linier Contoh • v = (1,2,3) dan a = (1,1,1) • 2v + 3a = (2,4,6) + (3,3,3) = (5,7,9)
Operasi Vektor • Kombinasi Linier –Kombinasi Affine • Jumlah semua komponen adalah satu –a1 + a2 + … + am = 1
• Contoh: 3a + 2b – 4c (3+2-4=1) • Penentuan kombinasi affine –(1-t)a + (t)b
Operasi Vektor • Pertanyaan Tentukan koefisien untuk transformasi affine: • ia + jb + Xc • Berapakah koefisien c? i+j+X=1 X = 1 – i – j maka • ia + jb + (1-i-j)c
Operasi Vektor • Kombinasi Linier – Kombinasi Konvek • Jumlah semua komponen satu … tetapi • Semua koefisien harus diantara 0 dan 1
– Contoh. • a1 + a2 + … + am = 1 dan • 1 >= ai >= 0 untuk semua 1,…,m
– Contoh. • .9v + .1w • .25v + .75w
Operasi Vektor • Kombinasi Linier –Kombinasi Konvek • Set semua kombinasi konvek dari dua vektor v1 dan v2 adalah: v = (1-a)v1 + av2
Operasi Vektor • Kombinasi Linier – Kombinasi Konvek – v = (1-a)v1 + av2 dapat ditulis lagi: • v = v1 + a(v2-v1) • Ini menunjukkan bahwa vektor v akan menjadi v1 ditambah beberapa versi skala dari penggabungan v1 dengan v2
v2
v2 – v1 v
a(v2 – v1) v1
Operasi Vektor Semua nilai v akan terletak di kawasan ini
• Kombinasi Linier – Kombinasi Konvek – Diberikan 3 vektor v1, v2 dan v3 maka kombinasi akan menjadi: – v = a1v1 + a2v2 + (1-a1-a2)v3 Contoh:
– v = 0.2v1 + 0.3v2 + 0.5v3
v3
v2
0.5v3
0.3v2 0.2v1
v1
Operasi Vektor Semua nilai v akan terletak di kawasan ini
• Kombinasi Linier – Kombinasi Konvek
• Diberikan 3 vektor v1, v2 dan v3 maka kombinasi akan menjadi:
– v = a1v1 + a2v2 + (1-a1-a2)v3 Contoh :
– v = 0.5v1 + 0.5v2 + 0v3
v3
v2
0.5v2
0.5v1
v1
Operasi Vektor • Besar – Adalah panjang vektor – Ditentukan menggunakan teorema Pitagoras – Masih ingatkan akan teorema ini? h
a
b
h
2
a b
2
Operasi Vektor • Besar – Teorema Pitagoras: v
|v|
Koordinat y 2
x y
Koordinat x
2
Operasi Vektor • Besar Teorema Pitagoras: Contoh: Berapakah besar v = (5,10)? |v| = sqrt(52+102) = sqrt(25+100) = sqrt(125) = 11.18
Quiz! Tentukan |v|, |w|, dan |t| untuk: v=(1,-2,5), w=(10,3,1) dan t=(1,1,1) • |v| = 5.5677 • |w| = 10.488 • |t| = 1.732
Operasi Vektor • Besar P = (1,10)
v
Q = (8,1)
Operasi Vektor • Vektor Normal Kadang kala sangat berguna untuk menskala vektor menjadi vektor satuan sehingga panjangnya adalah satu. Vektor normal disimbulkan dengan a topi: â. Yaitu pembagian koordinat vektor dengan panjang vektor. â = a/|a|
Operasi Vektor Contoh: Berapakah vektor normal a = (1,5,3) ? • |a| = sqrt(12 + 52 + 32) = 5.916 • â = (1/5.916, 5/5.916, 3/5.916) = (0.169, 0.845, 0.5)
QUIZ! Normalisasikan: a = (2,4,6) g = (1,1,1) h = (0,5,1) Jawab (dengan pembulatan) â = (0.26,0.53,0.8) ĝ = (0.6,0.6,0.6) ĥ = (0,1,0.2)
Operasi Vektor • Perkalian titik – Digunakan untuk menyelesaikan masalah geometri dalam grafika komputer. – Berguna untuk menentukan perpotongan garis dengan vektor.
Operasi Vektor • Perkalian titik – Dihitung dengan perkalian dan penambahan nilai baris dengan nilai kolom. – Definisi • Perkalian titik dua vektor v w adalah: n
vw i
i 1
i
Operasi Vektor Perkalian titik Jika diketahui v = (v1,v2) dan w = (w1,w2) Perkalian titik, v w akan menghasilkan: • (v1w1+v2w2) Contoh, v = (2,1) dan w = (3,5) maka v w akan menghasilkan : • 2*3 + 1*5 = 11 Contoh, v = (2,2,2,2) dan w = (4,1,2,1.1), v w akan menghasilkan : • 2*4 + 2*1 + 2*2 + 2 * 1.1 = 16.2
Operasi Vektor Perkalian titik Contoh: Cari sudut antara (5,6) dan (8,2) • cos(Ө ) = ĉ ê • ĉ = c/|c| = (5,6) / sqrt(52+62) = (5,6) / 7.8 = (0.64,0.77) • ê = e/|e| = (8,2) / sqrt(82+22) = (8,2) / 8.25 = (0.8,0.24) • ĉ ê = 0.8248 • Ө = cos-1(0.8248) = 34.43
c
e
Ө
Operasi Vektor Perkalian titik Tegaklurus atau orthogonal atau normal? • Dua vektor tegaklurus jika sudut yang dibentuk anatar vektor ini adalah 90 derajad. • jika e c > 0 sudut antara dua vektor kurang dari 90o • jika e c = 0 ; dua vektor tegaklurus • jika e c < 0 sudut antara dua vektor lebih dari 90o
e
c
e c e
c
Operasi Vektor Perkalian titik Vektor-vektor yang berada pada sumbu koordinat adalah tegak lurus: (0,1,0) (1,0,0)
(0,0,1)
Cara penulisan: vektor satuan
Operasi Vektor Perkalian titik Sembarang vektor 3D dapat ditulis sebagai kombinasi skalar dari 3 vektor satuan: (a,b,c) = ai + bj + ck (3,2,-1) = 3(1,0,0) + 2(0,1,0) – 1(0,0,1) j=(0,1,0) i=(1,0,0)
k=(0,0,1)
Koordinat Homogen • Beberapa sistem grafika dan OpenGL menyatakan titik dan vektor dalam koordinat homogen. • Ini berarti dalam koordinat 2D mempunyai 3 nilai (x, y, v) • Dan dalam 3D, 4 nilai (x, y, z, v)
Koordinat Homogen • • • • • •
Untuk titik v = 1 Untuk vektor v = 0 Cth. Titik (2,4) menjadi (2,4,1). Cth. Vektor (3,5) menjadi (3,5,0). Cth. Titik (3,4,1) menjadi (3,4,1,1). Cth. Vektor (3,6,7) menjadi (3,6,7,0).
Mau bertanya..?