Transformasi merupakan suatu metode untuk mengubah lokasi suatu titik pembentukobjek, sehingga objek tersebut mengalami perubahan. Perubahan objek dengan mengubahkoordinat dan ukuran suatu objek disebut dengan transformasi geometri. Dalam Transformasi dasar yang akan dibahas meliputi translasi, skala, dan rotasi..
Transformasi diperlukan untuk mengubah ( transform ) posisi suatu objek dari tempat asal ke posisi elemen
grafik, transformasi juga diperlukan untuk memutarkan posisi suatu objek pada
titik pusat, mengubah ukuran objek dan menarik sebagian objek sehingga tampak
terdistorsi.
Bentuk-bentuk transformasi
tersebut secara umum adalah sebagai berikut :
a. Translation ( mengeser )
b. Scale ( merubah ukuran )
c. Rotation ( memutar )
d.Refleksi
A.
Translation
( mengeser )
Translasi berarti memindahkan objek sepanjang garis
lurus dari suatu lokasi koordinattertentu kelokasi yang lain tanpa mengubah
bentuk objek. Bila suatu objek terbentuk daribeberapa titik maka bila melakukan
translasi akan dikenakan terhadap setiap titikpembentuk objek tersebut.
Sebuah objek merupakan deretan titik-titik yang membangun objek tersebut,
jika dilakukan proses translasi, maka akan mengoperasikan seluruh titik
tersebut dan membutuhkan proses yang komplek dan lama. Untuk mengatasi masalah
tersebut maka perlu ditentukan suatu titik tertentu dari suatu objek yang
menjadi titik orientasi sehingga pergeseran dilakukan terhadap titik orientasi
tersebut dan diikuti offset
vektornya.
Untuk melakukan translasi dapat menggunakan rumus:
x’ = x + tx
y’ = y + ty
|
Contoh: Diketahui
titik-titik pembentuk objek segitiga yaiu A(10,10), B(30,10), C(10,30) dengan
transformasi vector (10,20) lakukan trnslasi terhadap objek segitiga tersebut:
·
Titik A
|
A’(20,30)
·
Titik B
x’B
= xB + tx
|
y’B
= yB + ty
|
=
30 + 10
|
=
10 + 10
|
=
40
|
= 20
|
B’(40,20)
·
Titik C
x’C
= xC + tx
|
y’C = yC + ty
|
=
10 + 10
|
= 30 + 20
|
=
20
|
= 50
|
C‘(20,50)
B.
Strecthing
( merubah lebar )
Prinsip dasar strecthing sama
seperti translasi hanya pada strecthing pergeseran hanya pada satu
titik tertentu hingga objek bertambah besar atau bertambah kecil pada titik
koordinat yang ditentukan.
C. Scale ( merubah
ukuran )
Scale dapat diartikan sebagai suatu perubahan terhadap objek tertentu
sehingga ukuran objek tersebut berubah. Perubahan besar
untuk lingkaran adalah pada radius r menjadi r’ dan perubahan besar pada segi
empat pada P1, P2, P3 dan P4 menjadi
P1’, P2’, P3’ dan P4’.
Skala
digunakan untuk mengubah ukuran suatu objek, bila pada translasi operasi
yangdigunakan adalah penjumlahan sedangkan pada skala operasi yang digunakan
adalah perkalian. Untuk melakukan skala dapat menggunakan rumus:
x’ = x * tx
y’ = y * ty
|
sx dan sy merupakan
nilai dari scaling factor terhadap sumbu x dan sumbu y.
Contoh : Diketahui
objek segitiga dengan titik A(10,10), B(30,10), C(10,30) di skala denganscaling
factor (3,2).
·
Titik
A
x’A
= xA * tx
|
y’A
= yA * ty
|
=
10 * 3
|
=
10 * 2
|
=
30
|
=
20
|
A’(30,20)
·
Titik B
x’B
= xB * tx
|
y’B
= yB * ty
|
=
30 * 3
|
=
10 * 2
|
=
90
|
=
20
|
B’(90,20)
·
Titik C
x’C
= xC * tx
|
y’C
= yC * ty
|
=
10 * 3
|
=
30 * 2
|
=
30
|
=
60
|
C’(30,60)
D. Rotation ( memutar )
Rotation dapat diartikan sebagai aksi pemutaran objek sebesar sudut x dari posisi awalnya pada titik rotasi ( x ).
Rotasi
merupakan pemutaran terhadap suatu objek, rotasi dapat dinyatakan dalam
bentukmatriks. Nilai matriks untuk melakukan rotasi adalah Rotasi suatu titik
terhadap pivot point (xp, yp) menggunakan bentuk trigonometri, secaraumum dapat
ditulis sebagi berikut:
Contoh:
Diketahui titik-titik
pembentuk objek segitiga yaiu A(10,10), B(30,10), C(10,30) dengan sudut rotasi
300 terhadap titik pusat koordinat cartesian (10,10).
X’A = Xp + (XA –
Xp)Cos 300 – (YA- YP)Sin 300
= 10 + (10 -10) * 0.9
– (10-10) * 0.5
= 10
|
·
Titik A
Y’A = YP + (XA –
XP)Sin 300 + (YA – YP)Cos 300
= 10 + (10 – 10) *
0.5 + (10 – 10) * 0.9
= 10
|
A’(10,10)
·
Titik B
X’B
= Xp + (XA – Xp)Cos 300 – (YA- YP)Sin 300
=
10 + (30 -10) * 0.9 – (10-10) * 0.5
=
28
|
|
||
|
Y’B
= YP + (XA – XP)Sin 300 + (YA – YP)Cos 300
= 10 + (30 – 10) * 0.5 + (10 – 10) *
0.9
= 20
|
|
|
|
B’(28,20)
·
Titik C
X’C
= Xp + (XA – Xp)Cos 300 – (YA- YP)Sin 300
=
10 + (10 -10) * 0.9 – (30-10) * 0.5
=
0
|
Y’C
= YP + (XA – XP)Sin 300 + (YA – YP)Cos 300
= 10 + (10 – 10) * 0.5 + (30 – 10) * 0.9
= 28
|
C’(0,28).
Rotasi Terdiri dari 2 macam rotasi, yakni rotasi
berlawanan arah jarum jam (counter-clockwise) dan rotasi searah jarum jam
(clockwise).
Persamaan:
1. Berlawanan arah jarum jam (counter-clockwise)
2. Searah jarum jam (clockwise)
Dalam bentuk matrik ditulis sebagai berikut:
1. Berlawanan arah jarum jam (counter-clockwise)
2. Searah jarum jam (clockwise)
E.
Refleksi
Refleksi adalah
transformasi yang membuat mirror (pencerminan) dari image suatu objek. Image
mirror untuk refleksi 2D dibuat relatif terhadap sumbu dari refleksi dengan
memutar 180 derajat terhadap refleksi. Sumbu refleksi dapat dipilih pada bidang
x,y.
Refleksi terhadap garis y=0, yaitu sumbu x dinyatakan
dengan matriks berlawanan dengan posisi koordinat. Langkah :
– Objek diangkat
– Putar 180 derajat terhadap sumbu x dalam 3D
– Letakkan pada bidang x,y dengan posisi berlawanan
– Refleksi terhadap sumbu y membalikan koordinat
dengan nilai y tetap.
Refleksi terhadap sumbu x dan y sekaligus dilakukan
dengan refleksi pada sumbu x terlebih dahulu, hasilnya kemudia direfleksi
terhadap sumbu y. Transformasi ini dinyatakan dengan :
• Refleksi ini sama dengan rotasi 180 derajat pada
bidang xy dengan koordinat menggunakan titik pusat koordinat sebagai pivot
point. Refleksi suatu objek terhadap garis y=x dinyatakan dengan bentuk matriks
Refleksi terhadap garis y=-x dapat dilakukan dengan tahap :
– Rotasi 45 derajat searah jarum jam
– Refleksi terhadap axis y
– Rotasi 90 derajat berlawanan arah dengan jarum jam.