WARP PADA SEBUAH SEGITIGA
Jurnal Matematika UNAND Vol. 3 No. 3 Hal. 26 – 33
ISSN : 2303–2910 Jurusan Matematika FMIPA UNAND c
WARP PADA SEBUAH SEGITIGA
ABDUL ZAKY, MAHDHIVAN SYAFWAN
Program Studi Matematika,
Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Andalas,
Kampus UNAND Limau Manis Padang, Indonesia,
zakimathua@yahoo.com
Abstrak.Warp pada sebuah segitiga merupakan salah satu aplikasi dari transformasi
Afin yang menjadi dasar dari teknik manipulasi gambar. Teorema-teorema terkait be-
serta contoh dari proses warp dijelaskan pada makalah ini. Kata Kunci : Warp, transformasi Afin1. Pendahuluan
Salah satu teknik manipulasi gambar yang sangat menarik yaitu dengan mendistor-
sikan berbagai potongan segitiga pada sebuah gambar ke posisi dan ukuran yang
berbeda. Teknik manipulasi gambar ini dinamakan teknik warp.Warp memiliki banyak aplikasi di dunia nyata, diantaranya: (1) Pembuatan efek-efek khusus dan animasi pada film. (2) Penelitian terhadap evolusi dari bentuk-bentuk organisme. (3) Bedah plastik dan rekonstruksi wajah. (4) Pengubahan umur pada foto orang hilang atau buronan polisi.
Teknik warp dikembangkan dari konsep transformasi Afin. Mengingat aplikasinya
yang sangat bermanfaat, maka tentu akan sangat menarik untuk membahas lebih
detail bagaimana transformasi Afin digunakan dalam proses warp. Makalah ini akan
membahas proses warp pada sebuah segitiga yang merupakan salah satu topik ap-
likasi pada referensi [1].2. Kombinasi Cembung, Transformasi Afin, dan Verteks
Pada bagian ini disajikan teori-teori dasar yang digunakan pada proses warp pada
sebuah segitiga. Berikut diberikan definisi kombinasi cembung, transformasi Afin
dan verteks.
Definisi 2.1. [1] Suatu vektor v dikatakan suatu kombinasi cembung (convex
combination) dari vektor-vektor v1 , v 2 , v 3 , · · · , v n , jika vektor-vektor tersebut da-
pat dinyatakan dalam bentuk
v v v v v
= k1 1 + k
2 2 + k
3 3 + · · · + k n n ,
2
2
2 Definisi 2.2.
adalah bidang Euclid, [2] Suatu pemetaan T : E → E , dimana E
dikatakan suatu transformasi Afin, jika terdapat matriks A 2×2 yang dapat dibalik
2
2
berlaku dan suatu vektor b ∈ R sedemikian sehingga untuk setiap x ∈ R
T (x) = A(x) + b.
Definisi 2.3.
[1] Suatu vektor p dikatakan verteks (x, y) jika vektor p tersebut berpangkal di titik (0, 0) dan berujung di titik (x, y).
3. Warp dan Teorema Terkait
Warp adalah salah satu teknik manipulasi gambar dengan cara memindahkan
berbagai potongan segitiga yang terbentuk dari gambar tersebut [1]. Warp berarti
melengkungkan atau membengkokkan. Apabila sebuah titik yang terdapat pada se-
buah potongan gambar dipindahkan, maka bentuk dari gambar akan melengkung.
Teorema-teorema yang terkait pada pembahasan ini akan dijelaskan melalui
ilustrasi singkat tentang proses warp pada sebuah segitiga berikut ini. Proses warp
pada sebuah segitiga diawali dengan mendeskripsikan sebuah warp dari sebuah
2
. Pada segitiga tersebut terdapat tiga buah titik segitiga pada suatu bidang R sudut (verteks), misalkan dinyatakan oleh v
1 , v 2 , v 3 yang masing-masingnya tidak
segaris (nonkolinear) (lihat Gambar 1(a)). Segitiga ini disebut dengan segitiga awal
(begin-triangle). Jika v adalah sebarang titik di dalam segitiga awal, maka terdapat
konstanta-konstanta tunggal k1 dan k 2 dengan k 1 ≥ 0 dan k 2 ≥ 0 sedemikian rupa
sehingga v − v
3 = k 1 (v 1 − v 3 ) + k 2 (v 2 − v 3 ). (3.1)
Gambar 1. Me-warp-kan segitiga
Persamaan (3.1) menyatakan vektor v − v3 sebagai kombinasi linier dari dua
vektor v
1 − v 3 dan v 2 − v 3 yang bebas linier. Misalkan k 3 = 1 − k 1 − k 2 , maka
persamaan (3.1) menjadi v = k v + k v + k v , (3.2)
1
1
2
2
3
3
dimana
Dari persamaan (3.2) dan (3.3) dapat dikatakan bahwa v adalah kombinasi cembung
dari vektor-vektor v1 , v 2 , dan v 3 dengan konstanta tak-negatif k 1 , k 2 , dan k 3 .
Teorema 3.1.
[1] Jika vektor v adalah sebuah kombinasi cembung dari v
1 , v 2 , v 3 ,
maka ujung vektor v terletak di dalam sebuah segitiga yang menghubungkan ujung-
ujung ketiga vektor v1 , v 2 , dan v 3 .
Untuk membuktikan teorema di atas diperlukan dua lema berikut. Lema 3.2.
[1] Misalkan a dan b adalah vektor-vektor bebas linier pada suatu bidang. Jika k
1 dan k 2 adalah bilangan tak-negatif dengan k 1 + k 2 = 1, maka vektor
a b k
1 + k 2 terletak pada suatu segmen garis yang menghubungkan ujung vektor a dan ujung vektor b.
Bukti.
Karena k
1 dan k 2 adalah konstanta tak-negatif yang memenuhi k 1 +k 2 = 1,
maka k = 1 − k . Selanjutnya,
2
1
1 + k 2 = k 1 + (1 − k 1 )b
a b a k
1 + b − k
a b = k
1
= b + k
1 (a − b). a b Persamaan terakhir menunjukkan bahwa vektor k1 + k 2 berada pada segmen garis yang menghubungkan ujung vektor a dan ujung vektor b.
Lema 3.3.
[1] Jika suatu vektor b + k
1 (a − b) berada pada segmen garis yang
1 + k 2 ≤ 1, k
1
a
menghubungkan ujung vektor a dan ujung vektor b, maka untuk k +
k b berada di dalam suatu segitiga yang menghubungkan titik asal dengan ujung
2 vektor a dan ujung vektor b.
Bukti. Misalkan b + k
1 (a − b) merupakan vektor yang berada pada segmen garis
yang menghubungkan ujung vektor a dan ujung vektor b. Karena k
1 +k 2 ≤ 1, maka
k
2 ≤ 1 − k 1 . Selanjutnya,
kk a + k b k ≤ kk a + (1 − k )bk
1
2
1
1
≤ kk a + b − k b k
1
1
≤ kb + k
1 a − k 1 b k
≤ kb + k
1 (a − b)k.Dari hubungan di atas dapat disimpulkan bahwa vektor k a + k b lebih pendek
1
2
atau sama dengan vektor b + k (a − b). Jadi vektor k a + k b berada di dalam
1
1
2
segitiga yang menghubungkan titik (0, 0) dengan ujung vektor a dan ujung vektor
b .Berikut dijelaskan bukti Teorema 3.1. Bukti. demikian k
1 + k 2 + k 3 = 1 dan k 1 , k 2 , k 3 ≥ 0, sehingga berlaku
v v v v = k
1 1 + k
2 2 + k
3
3
1 1 + k
v v = k
2 2 + (1 − k 1 − k 2 )v
3
1 1 + k
v v v v = k
2 2 + v 3 − k
1 3 − k
2 3 .
= k
1 (v 1 − v 3 ) + k 2 (v 2 − v 3 ) + v 3 (3.4)
Tulis a = v
1 − v 3 dan b = v 2 − v 3 . Artinya a dan b adalah dua vektor yang
sama-sama memiliki titik pangkal di ujung vektor v
3 . Jadi persamaan (3.4) dapat
ditulis v = k a + k b + v
1
2
3 ⇔ v − v = k a + k b .
3
1
2 Selanjutnya perhatikan bahwa k 1 + k 2 + k 3 = 1, dengan k 1 , k 2 , k 3 tak-negatif, men-
1 + k 2 ≤ 1. Berdasarkan Lema 3.3, v − v 3 = k 1 + k 2 berada di dalam
a b gakibatkan k
segitiga yang menghubungkan titik pangkal a dan b (dalam hal ini ujung vektor v
3 )
dengan ujung vektor a (dalam hal ini ujung vektor v
1 ) dan ujung vektor b (dalam
hal ini ujung vektor v ). Karena ujung vektor v − v sama dengan ujung vektor
2
3
v maka dapat disimpulkan bahwa ujung vektor v terletak di dalam segitiga yang
menghubungkan ujung vektor v , v , dan v .1
2
3 Selanjutnya diberikan tiga vektor w 1 , w 2 , dan w 3 yang merupakan titik-titik
sudut dari segitiga pada Gambar 1(b) (disebut segitiga akhir (end-triangle)). Misal-
kan v1 , v 2 ,v 3 pada gambar awal dan w 1 , w 2 ,w 3 pada gambar akhir dapat dibuat
hubungan w = Av + b untuk i = 1, 2, 3, (3.5)
i i
dimana A matriks 2 × 2 yang unik dan dapat dibalik dan b vektor berdimensi 2.
Maka berdasarkan Definisi 2.2, terdapat sebuah transformasi Afin yang memetakan
v1 ke w 1 , v 2 ke w 2 dan v 3 ke w 3 .
Teorema 3.4. [1] Misalkan suatu transformasi Afin diberikan oleh sebuah matriks
A 2 × 2, dan sebuah vektor b. Misalkan w = Av + b dan w = Av + b untuk
i i
i = 1, 2, 3. Jika v kombinasi cembung dari v , v , v , maka w adalah kombinasi
1
2
3
cembung dari w
1 , w 2 , w 3 , yaitu
w w w w
= k1 1 + k
2 2 + k
3 3 , (3.6)
dengan k
1 + k 2 + k 3 = 1.
Bukti.
Vektor w i merupakan hasil transformasi Afin dari v i untuk i = 1, 2, 3, w w = Av + b, dan v kombinasi cembung dari v
1 , v 2 , v 3 , maka
w = A(k v + k v + k v ) + b
1
1
2
2
3
3
= k
1 Av 1 + k
2 Av 2 + k
3 Av 3 + b(k 1 + k 2 + k 3 )
= k
1 Av 1 + k 1 b + k
2 Av 2 + k 2 b + k
3 Av 3 + k 3 b
= k
1 (Av 1 + b) + k 2 (Av 2 + b) + k 3 (Av 3 + b)
= k
1 w 1 + k 2 w 2 + k 2 w 2 .
Jadi w juga merupakan kombinasi cembung dari w
1 , w 2 dan w 3 .
4. Proses Warp pada Sebuah Segitiga Misalkan v
1 , v 2 , v 3 merepresentasikan verteks pada segitiga awal dan w 1 , w 2 , w
3
adalah verteks pada segitiga akhir. Berdasarkan penjelasan sebelumnya, terdapat
sebuah transformasi Afin wi = Av i + b. (4.1)
Subtitusikan persamaan (4.1) ke persamaan (3.6), maka diperoleh w = k
1 (Av 1 + b) + k 2 (Av 2 + b) + k 3 (Av 3 + b)
= Ak
1 v 1 + k 1 b + Ak 2 v 2 + k 2 b + Ak 3 v 3 + k 3 b
1 1 + k
v v v = A(k
2 2 + k
3 3 ) + (k 1 + k 2 + k 3 )b.
Untuk memperoleh A dan b, konstruksi sistem persamaan dengan menggunakan
verteks yang terdapat pada segitiga. Misalkan koordinat verteks v i dan w i diberikan
olehv ix w ix
vi = dan w i = . (4.2)
v w
iy iy
Kemudian misalkan matriks A dan vektor b adalah a
11 a 12 b x
A = dan b = .
a
21 a 22 b y
Dengan mensubstitusikan persamaan (4.2) ke persamaan (4.1) untuk i = 1, 2, 3,
diperolehw = a v + a v + b
1x 11 1x 12 1y x
w = a v + a v + b
1y 21 1x 22 1y y
w = a v + a v + b
2x 11 2x 12 2y x
(4.3)
w = a v + a v + b
2y 21 2x 22 2y y
w = a v + a v + b
3x 11 3x 12 3y x
w 3y = a
21 v 3x + a 22 v 3y + b . y
Sistem persamaan di atas dapat dibagi menjadi dua sistem persamaan: w 1x = a
11 v 1x + a 12 v 1y + b x w 1y = a 21 v 1x + a 22 v 1y + b y
w 2x = a
11 v 2x + a 12 v 2y + b x dan w 2y = a 21 v 2x + a 22 v 2y + b y .
Kedua sistem persamaan di atas dapat dibentuk ke dalam bentuk matriks berikut.
v 1x v 1y 1 a11 w 1x
12 w 2x
= v 2x v 2y 1 av 3x v 3y 1 b x w 3x dan
v 1x v 1y1 a
21 w 1y
22 w 2y
= . v 2x v 2y 1 av v 1 b w
3x 3y y 3y
Perhatikan bahwa kedua sistem di atas mempunyai matriks koefisien yang sama
dan matriks koefisien tersebut mempunyai invers, karena v , v , v merupakan
1
2
3
vektor-vektor yang tak-segaris sehingga mempunyai determinan yang tidak sama
dengan nol. Jadi solusi untuk a1 , a 2 , a 3 , a 4 , b dan b diberikan oleh x y −
1
a11 v 1x v 1y
1 w 1x
a12 = v 2x v 2y
1 w 2x (4.4) b x v 3x v 3y 1 w 3x dan
−
1
a21 v 1x v 1y
1 w 1y
a22 = v 2x v 2y
1 w 2y . (4.5) b y v 3x v 3y 1 w 3y Sekarang misalkan titik-titik yang termuat dalam sebuah segitiga, termasuk
titik-titik pada sisi segitiga dan verteks segitiga, berjumlah r buah (titik-titik ini
direpresentasikan oleh titik-titik pixel pada gambar). Dengan demikian terdapat
(r − 3) buah titik pada segitiga awal selain verteks v1 , v 2 , v 3 dan (r − 3) buah
titik pada segitiga akhir selain verteks w
1 , w 2 , w 3 . Pada implementasinya nanti,
suatu titik dapat dipastikan berada dalam sebuah segitiga jika titik tersebut meru-
pakan kombinasi cembung dari verteks pada segitiga tersebut (lihat Teorema 3.1).
p jxMisalkan p j = adalah titik yang berada pada segitiga awal selain verteks
pjy
q jx v
1 , v 2 , v 3 dan q j = adalah titik yang berada pada segitiga akhir selain
q jy w , w , w , dimana j = 1, 2, · · · , (r − 3).
1
2
3 Perhatikan bahwa p merupakan kombinasi cembung dari v , v , v . Apabila p j
1
2 3 j
dan q memenuhi transformasi Afin
j
q = a p + a p + b ,
jx 11 jx 12 jy x
(4.6)
q = a p + a p + b ,
jy 21 jx 22 jy y
untuk j = 1, 2, · · · , (r − 3), maka menurut Teorema 3.4, titik q j merupakan kombi-
nasi cembung dari w1 , w 2 , w 3 . Dengan demikian, menurut Teorema 3.1, titik-titik
q
Gabungan dari sistem persamaan (4.6) dengan sistem persamaan (4.5) dapat ditulis dalam bentuk matriks sebagai berikut:
w 1x w 2x w 3x q jx a11 a 12 b x v 1x v 2x v 3x p jx
21 a 22 b y v 1y v 2y v 3y p jy . (4.7)
w 1y w 2y w 3y q jy = a1
1
1 1 0 1
1
1
1
1 Selanjutnya perhatikan bahwa berdasarkan Teorema 3.4, titik q merupakan kom-
binasi cembung dari w , w , dan w . Akibatnya, q terletak di dalam segitiga yang
1
2
3
menghubungkan verteks w , w , dan w (dijamin oleh Teorema 3.1). Berdasarkan
1
2
3
penjelasan di atas, maka sebuah segitiga awal dapat di-warp-kan dengan melakukan
transformasi Afin terhadap setiap titik dalam segitiga tersebut.5. Contoh Misalkan suatu transformasi Afin memetakan vektor-vektor v
1 , v 2 , v 3 berturut-
turut ke vektor-vektor w
1 , w 2 , w 3 dimana v 1 = (1, 1), v 2 = (2, 3), v 3 = (2, 1), w 1 =
(4, 3), w
2 = (9, 5), dan w 3 = (5, 3). Akan ditentukan matriks A dan vektor b yang
memenuhi transformasi Afin dari v i ke w i , i = 1, 2, 3. Kemudian jika diambil titik
p= (2, 2), akan diperiksa apakah titik tersebut berada pada segitiga yang menghu-
bungkan v1 , v 2 , dan v 3 atau tidak. Jika ya, akan dicari titik q yang merupakan peta dari p dan terletak pada segitiga yang menghubungkan w , w , dan w .
1
2
3 Perhatikan bahwa persamaan (4.4) dan (4.5) untuk nilai-nilai vektor v dan w i i
pada contoh menjadi
− −
1
1
a11 1 1 1
4 a
21 1 1 1
3
= dan = . a12 2 3 1
9 a
22 2 3 1
5 b 2 1 1 5 b 2 1 1
3
x y
Jadi diperoleh a = 1, a = 2, a = 0, a = 1, b = 1, b = 2. Oleh karena itu
1
2
3
4
1
2
matriks A dan vektor b yang memenuhi transformasi Afin tersebut adalah 1 2
1 A b = dan = . 0 1
2 Kemudian untuk memeriksa apakah titik p berada di dalam segitiga dengan verteks
v , v , dan v , maka perlu diperiksa terlebih dahulu apakah p merupakan kombinasi
1
2
3
cembung dari v , v , dan v . Dalam hal ini akan dicari nilai k , k , dan k yang
1
2
3
1
2
3
tak-negatif sedemikian sehingga berlaku p = k v +k v +k v dan k k +k = 1
1
1
2
2
3 3 1+
2
3
atau dalam bentuk matriks dapat ditulis
1 2 2 k1
2
1 3 1 k2 = 2 .
1 1 1 k
3
1 Solusi untuk k
1 , k 2 , k 3 diberikan oleh
k1 −1
2
2
k2 = 1/2 −1/2 2 = 1/2 . Dari sistem di atas diperoleh k
1 = 0, k 2 = 1/2, dan k 3 = 1/2 yang bernilai tak-
negatif. Jadi dapat disimpulkan bahwa p merupakan kombinasi cembung dari v
1 , v 2 ,
dan v
3 . Lebih lanjut, berdasarkan Teorema 3.4, p dijamin terletak di dalam segitiga
yang menghubungkan v
1 , v 2 , dan v 3 . Kemudian posisi titik q yang merupakan hasil
transformasi Afin dari p dapat ditentukan berdasarkan persamaan (4.7), yaitu
4 9 5 q 1 2 1 1 2 2 2 4 9 5 7
x
y
3 5 3 q = 0 1 2 1 3 1 2 = 3 5 3 4 .
1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
Jadi titik q = (7, 4).6. Kesimpulan dan Saran Adapun kesimpulan dari makalah ini dapat dijelaskan sebagai berikut.
(1) Warp pada sebuah segitiga dapat dihasilkan dengan menggunakan transformasi
Afin yang memiliki sebuah matriks 2×2 yang dapat dibalik dan sebuah vektor berdimensi 2.(2) Transformasi Afin akan memetakan kombinasi cembung dari vektor-vektor ke
kombinasi cembung yang sama dari peta vektor-vektor tersebut.(3) Setiap pixel yang terdapat pada segitiga yang dibatasi oleh 3 buah verteks
yang saling dihubungkan merupakan kombinasi cembung dari ketiga verteks yang membentuk segitiga tersebut.(4) Sebuah segitiga awal dapat di-warp-kan dengan melakukan transformasi Afin
terhadap setiap titik dalam segitiga tersebut.Saran untuk penelitian selanjutnya yaitu mengembangkan topik ini menjadi
lebih menarik dengan menjadikan konsep warp pada sebuah segitiga sebagai dasar
untuk proses warp pada sebuah gambar.7. Ucapan Terima kasih
Penulis mengucapkan terima kasih kepada Bapak Narwen, M.Si, Ibu Nova Noliza
Bakar, M.Si, dan Ibu Riri Lestari, M.Si yang telah memberikan masukan dan saran
sehingga makalah ini dapat diselesaikan dengan baik.Daftar Pustaka
[1] Anton, H. dan C. Rorres. 2005. Aljabar Linear Elementer Versi Aplikasi. Edisi
Delapan. Erlangga, Jakarta[2] Ryan, P.J. 1992. Euclidean and Non-Euclidean Geometry. Cambridge University
Press, New York