E N D
BAB V VEKTOR
Koordinat Homogen (1) • Pada beberapa sistem grafika dan OpenGL, titik dan vektor dinyatakan dalam koordinat homogen. Artinya perwakilan titik dan vektor dalam 2D dinyatakan bukan dengan 2 nilai (x,y), tetapi dengan 3 nilai yaitu (x, y, v). Sedangkan dalam 3D dengan 4 nilai yaitu (x,y, z, v).
Koordinat Homogen (2) • Aturan yang dipakai dalam penentuan nilai v adalah sbb: • Untuk titik, nilai v = 1 • Untuk vektor, nilai v = 0 • Misalnya: • Titik (2, 4) menjadi (2, 4, 1) • Vektor (3, 5) menjadi (3, 5, 0) • Titik (3, 4, 1) menjadi (3, 4, 1, 1) • Vektor (3, 6, 7) menjadi (3, 6, 7, 0)
Kombinasi Affine pada Vektor (1) • Kombinasi linear dari m vektor v1, v2, …, vm adalah: w = a1v1 + a2v2 + … + amvm dengan a1, a2, …, am adalah skalar • Kombinasi linear dari vektor merupakan kombinasi affine jika a1 + a2 + … + am = 1
Kombinasi Affine pada Vektor (2) • Contoh: • 3a + 2b – 4c merupakan kombinasi affine karena 3+2-4=1. • 3a + b – 4c bukan merupakan kombinasi affine karena 3+1-4=01
Kombinasi Affine Titik-Titik (1) • Diketahui 2 titik P = (P1, P2, P3, 1) dan R = (R1, R2, R3, 1), dengan skalar f dan g, maka: fP+gR = (fP1+gR1, fP2+gR2, fP3+gR3,f+g) merupakan vektor jika f+g = 0 • Jika koefisien dari kombinasi linear dijumlahkan = 1, maka persamaan tersebut disebut kombinasi affine.
Kombinasi Affine Titik-Titik (2) • Hanya kombinasi linear titik-titik yang valid yang merupakan kombinasi affine. • Contoh: • 0.3P + 0.7R ok (titik yang valid) • 2.7P – 1.7R ok • 0.5P + 0.5R ok • P + R tidak ok • 0.3P + 0.9R – 0.2Q ok • P + Q – 0.9R tidak ok
Kombinasi Affine Titik-Titik (3) • Perhatikan penjumlahan dari sebuah titik, A, dengan sebuah vektor, v, yang diskala dengan bilangan t: A+tv, dimana hasil penjumlahan tersebut merupakan sebuah titik. Jika v merupakan perbedaan antara titik B dan titik A, v = B – A, maka kita mempunyai titikP = A + t (B – A)
Kombinasi Affine Titik-Titik (4) • P = A + t (B – A) • P = t B + (1–t) A • Yang dapat dilihat sebagai kombinasi affine dari titik-titik. Jadi kombinasi affine titik-titik dapat ditulis sebagai sebuah titik ditambah dengan sebuah vektor.
Interpolasi Linier dari 2 Titik (1) • P = A (1 – t) + Bt Membentuk sebuah interpolasi linier antara titik A dan titik B. Itu berarti bahwa komponen x, Px (t), menyediakan sebuah nilai yaitu bilangan pecahan kecil t antara nilai Ax dan Bx, dan demikian juga untuk Py (t) (dan dalam 3D, komponen z). Ini adalah sebuah operasi penting yang cukup untuk menggunakan lerp() untuk interpolasi linier.
Interpolasi Linier dari 2 Titik (2) • Dalam dimensi satu, lerp(a, b, t) menyediakan sebuah bilangan pecahan kecil t dari a ke b. • Contoh: float lerp (float a, float b, float t) { return a + (b – a) *t;//return afloat }
Interpolasi Linier dari 2 Titik (3) • Dalam cara yang sama, satu hal yang sering terjadi adalah ingin menghitung titik P(t) yaitu bilangan pecahan kecil t dari jalur sepanjang garis lurus dari titik A ke titik B. Titik ini sering disebut “tween” (singkatan dari “in-between”) pada t antara titik A dan titik B. Masing-masing komponen dari titik hasil dibentuk sebagai lerp () dari komponen yang bersesuaian dengan A dan B.
Interpolasi Linier dari 2 Titik (4) • Diketahui A = (4,9) dan B = (3,7). Kalau t = 0.4. Berapa hasil Tween(A,B, 0.4) ? Jawab : • Untuk komponen x : 4 + (3-4) * 0.4 = 4 – 0.4 = 3.6 • Untuk komponen y : 9 + (7-9) * 0.4 = 9 – 2*0.4 = 8.2 Jadi Tween(A,B, 0.4) = (3.6, 8.2)
Tweening untuk Seni & Animasi (1) • Animasi yang menarik dapat diciptakan dengan menampilkan satu gambar kemudian di tweened kedalam gambar yang lain. • Prosedur yang paling sederhana adalah jika 2 gambar adalah polyline didasarkan pada jumlah titik yang sama.
Tweening untuk Seni & Animasi (3) • Misalkan gambar pertama, A, polyline didasarkan pada titik-titik Ai, dan polyline kedua adalah B yang didasarkan pada titik-titik Bi, untuk i = 0, ..., n-1. • Dapatdibentuk polyline P(t), yang disebut “tween di t” dengan membentuk titik-titik: Pi(t) = (1 – t)Ai + t Bi
Tweening untuk Seni & Animasi (4) • Jika nilai-nilai t antara 0 dan 1, misalnya t = 0, 0.1, 0.2, ..., 0.9, 1.0, terlihat bahwa polyline mulai dengan membentuk A dan berakhir dengan membentuk B, tetapi di antaranya merupakan campuran dari 2 bentuk. Untuk nilai t yang kecil, akan kelihatan seperti A, tetapi pada saat t meningkat, polyline secara halus kearah mendekati bentuk B. Untuk t = 0.25 misalnya, titik Pi (0.25) dari tween adalah 25% lintasan dari A ke B.
Garis dalam ruang 2D • 3 bentuk dasar garis: • Bentuk dua titik • Representasi parametrik • Bentuk normal titik
Garis dalam ruang 2D dan 3D • Garis didefinisikan oleh 2 titik, C dan B • a: GARIS, panjangtak hingga, melalui titik-titik, memanjang dalam dua arah. • b: SEGMEN GARIS didefinisikan oleh 2 titik yang berakhir. • c: RAY adalah semi tak berhingga, sebuah titik dan sebuah arah mulai pada titik itu dan memanjang secara tak berhingga dalam arah yang diberikan.
Y B t>1 b C L t<0 X Representasi Parametrik Garis (1) • Representasi parametriknya: L(t) = C + bt, dengan b=B – C. • Vektor b dan garis L yang melalui titik B dan C. • L(t) diletakkan untuk berbagai nilai t. • t = 0 L(0) mengevaluasi C, sehingga di t = 0 terletak pada titik C. • t = 1, L(1) = C + (B-C) = B.
Representasi Parametrik Garis (2) • Pada saat t>1, titik yang baru terletak pada sisi B yang berlawanan dengan C. • Pada saat t<0, titik yang baru terletak pada sisi C yang berlawanan dengan B. • Dari rumus L(t) = C +bt, dapat ditulis menjadi |L(t)-C|=|b||t| dan |B-C|=|b|. Sehingga nilai |t| adalah rasio jarak |L(t)-C| ke |B-C|.
Bentuk normal titik untuk persamaan sebuah garis (1) • Persamaan umum dari sebuah garis dalam 2D: fx+gy=1, dengan f dan g adalah konstanta. • Atau (f, g) . (x, y) = 1 L
Bentuk normal titik untuk persamaan sebuah garis (2) • Misalkan sebuah garis L melalui titik C dan B • Bentuk normal titik dari L adalah jika terdapat vektor n yang tegak lurus dengan L. • Untuk sebarang titik R = (x, y) pada L, vektor (R –C) harus tegak lurus ke n, sehingga n . (R-C) = 0 bentuk normal titik untuk sebuah garis
Bentuk normal titik untuk persamaan sebuah garis (3) • Contoh: Misalkan garis L melalui titik-titik C = (3, 4), dan B = (5, -2). Maka b = B – C = (2, -6) dan b┴ =(6, 2). Bentuk normal titiknya (6, 2).((x,y) – (3, 4)) = 0 atau 6x + 2y = 26.
Perpindahan dari 1 representasi ke representasi yang lain pada garis (1) • 3 cara untuk menyatakan garis: • Bentuk 2 titik: Misal C dan B, datanya = {C, B} • Bentuk parametrik: C + bt; datanya = {C, b} • Bentuk normal titik (implisit) hanya dalam 2D: n . (P-C) = 0; datanya = {C, n}
Perpindahan dari 1 representasi ke representasi yang lain pada garis (2)
Bidang dalam ruang 3D • 3 bentuk dasar bidang: • Bentuk tiga titik • Representasi parametrik • Bentuk normal titik
Representasi parametrik dari sebuah bidang (1) • Bentuk parametrik dari sebuah bidang dibangun pada 3 unsur: satu titik, C, dan 2 vektor yang tidak sejajar, a dan b, yang terletak pada bidang
Representasi parametrik dari sebuah bidang (2) • Bentuk parametrik titik pada sebuah bidang adalah : P(s, t) = C + as + bt • Diberikan sebarang nilai s dan t, sebuah titik dapat dinyatakan pada bidang. • Sebagai contoh, untuk s=t=0 , titik ter-sebut adalah C, dan untuk s=1 dan t=-2, titik tersebut adalah P(1,-2)=C+a–2b
Representasi parametrik dari sebuah bidang (3) • Bentuk parametrik P(s, t) = C + as + bt P(s, t) = C + s(A – C) + t (B- C) • Bentukdimana komponen-komponennya eksplisit P(s,t)=(Cx+axs+bxt,Cy+ays+byt, Cz+azs+bzt) atau: P(s,t)=Cx+axs+bxt i + Cy+ays+byt j + Cz+azs+bzt z • Bentuk kombinasi affine titik-titik P(s, t) = sA + tB +(1 – s – t)C
Representasi parametrik dari sebuah bidang (4) • Contoh: Mencari bentuk parametrik bidang dari 3 titik yang diketahui Sebuah bidang melalui A=(3,3,3), B=(5,5,7), dan C=(1,2,4). • Bentuk parametriknya: P (s,t) = (1,2,4) + (2,1,-1)s + (4,3,3)t. • Dalam bentuk komponen: P (s,t)=(1+2s+t) i + (2+s+3t)j + (4–s+3t)k • Dalam bentuk kombinasi affine: P (s,t) = s(3,3,3) + t(5,5,7) + (1–s–t) (1,2,4)
Bentuk normal titik untuk sebuah bidang (1) • Bidang secara lengkap dinyatakan dengan: • Titik tunggal B = (bx, by, bz) yang terletak pada bidang tersebut • Arah n = (nx, ny, nz) normal ke bidang. • Normal n tegak lurus ke sebarang garis yang terletak pada bidang. • Untuk sebuah titik R = (x, y, z) dalam bidang, vektor dari R ke B harus tegak lurus ke n, dengan n . (R – B) = 0. persamaan normal titik pada bidang • Dengan mengartikan perkalian titik dan penggunaan n = (nx, ny, nz), diperoleh: nxx + nyy + nzz = D, dengan D = n . (B-0)
Bentuk normal titik untuk sebuah bidang (2) • Contoh: Mencari bentuk normal titik Misalkan bidang P melalui (1, 2, 3) dengan vektor normal (2, -1, -2) Bentuk normal titik ke bidang: (2,-1,-2).((x,y,z)–(1,2,3)) = 0 Persamaan untuk bidang: 2x–y –2z = -6
Bentuk normal titik untuk sebuah bidang (3) • Contoh : Mencari bentuk parametrik dari bidang. Carilah bentuk parametrik dari 2x – y + 3z = 8 Vektor normal bidang: (2, -1, 3). Cari C, salah satu diantaranya adalah C= (4,0,0). Cari dua vektor yang tidak saling berimpit yang masing-masing bila dikalikan dot produk dengan vektor (2, -1, 3) menghasilkan 0. Dari hasil coba-coba dan kira-kira, diperoleh a = (1,5,1) dan b=(0,3,1). Sehingga salah satu bentuk parametrik dari bidang tersebut adalah: P(s,t) = (4,0,0) + (1,5,1) s + (0,3,1) t
Perpindahan 1 representasi ke re-presentasi yang lain pada bidang (1) • 3 representasi dan data-datanya sbb: • Bentuk 3 titik, misal C, B, dan A; datanya = {C, B, A} • Bentuk parametrik, C + as +bt; datanya = {C, a, b} • Bentuk normal titik (implisit), n.(P-C) = 0; datanya = {C, n}
Perpindahan 1 representasi ke re-presentasi yang lain pada bidang (2)