Sabtu, 27 Juni 2015

Tansformasi Geometri

Suatu Pagi yang cerah...angin barat bertiup sangat kencang dan membawa hawa dingin dari benua Australia...

Selamat Pagi rekan-rekan sekalian, bagaimana keadaan kalian, baik? Aku berharap kalian semua dalam keadaan yang sangat baik. Kali ini aku akan bercerita sedikit tentang matematika yang banyak digunakan untuk memanipulasi objek pada program grafik dan game atau bahasa kerennya transformasi geometri.

Ada tiga proses transformasi yang akan aku bahas yaitu translasi, skala dan rotasi. Kita mulai saja ya untuk mempersingkat waktu.

Translasi
Translasi adalah memindahkan sebuah titik koordinat atau vertex ke tempat baru sesuai dengan kebutuhan. Translasi dapat dilakukan pada sistem koordinat Cartesius 2D dan 3D.

Contoh:
Sebuah titik A(2,1) ditranslasi sejauh dx=2 dan dy=1, hitung lokasi akhir titik A.

Titik A setelah ditranslasi dapat dihitung dengan rumus:

X'a = Xa + dx
Y'a = Ya + dy

sehingga:

X'a = 2 + 2
Y'a = 1 + 1

Titik A setelah translasi adalah (4, 2).


Untuk translasi pada sistem koordinat Cartesius 3D Anda dapat menggunakan rumus di bawah ini:

X' = X + dx
Y' = Y + dy
Z' = Z + dz

Skala
Skala dipakai untuk mengubah ukuran dari sebuah objek yang dibuat dari sejumlah titik koordinat pada sistem koordinat Cartesius 2D atau 3D.

Contoh:
Sebuah bujursangkar dengan empat titik koordinatnya A(1,1), B(2,1), C(2,2) dan D(1,2) di-skala sebesar dua kali, tentukan empat titik koordinat baru dari bujursangkar tersebut.


Untuk melakukan proses penskalaan pergunakan rumus berikut:

X' = X * skala
Y' = Y * skala

(tanda ‘*’ berarti perkalian)

sehingga:

X'a = 1 * 2
Y'a = 1 * 2

X'b = 2 * 2
Y'b = 1 * 2

X'c = 2 * 2
Y'c = 2 * 2

X'd = 1 * 2
Y'd = 2 * 2

Titik koordinat baru untuk bujursangkar adalah A(2,2), B(4,2), C(4,4), D(2,4).


Pada sistem koordinat Cartesius 3D rumus yang dapat dipakai untuk mengubah ukuran objek adalah:

X' = X * skala
Y' = Y * skala
Z' = Z * skala

(tanda ‘*’ berarti perkalian)

Objek 3D yang di-skala dua kali.


Rotasi
Rotasi berarti diputar dengan poros di titik pusat sumbu.


Pada gambar di atas dapat dilihat titik A dirotasi sebesar Ө˚ sehingga titik A berubah posisi menjadi titik A'.

Sudut Ө˚ bernilai positif jika arah rotasi berlawanan dengan arah jarum jam, dan pada sistem koordinat Cartesius 2D rotasi hanya ada satu jenis yang dapat dihitung dengan rumus:

X'    =    X cos Ө˚ - Y sin Ө˚
Y'    =    X sin Ө˚ + Y cos Ө˚

Contoh:
Sebuah titik A(1,0) diputar dengan sudut 90˚, buktikan bahwa titik akhir A' adalah (0,1).

Jawab:

X'a = 1.cos 90˚ - 0.sin 90˚
    = 1.0 – 0.1
    = 0

Y'a = 1.sin 90˚ + 0.cos 90˚
    = 1.1 + 0.0
    = 1

Titik A'(0,1).

Rotasi pada sistem koordinat Cartesius 3D lebih sedikit rumit, karena rotasi dapat dilakukan pada sumbu X, Y dan Z.

Untuk lebih memperjelas perhatikan ketiga gambar di bawah.

Rotasi pada sumbu X.


Rotasi pada sumbu Y.

Rotasi pada sumbu Z.

Ketiga gambar di atas memberikan ilustrasi tentang proses rotasi yang berpusat pada sumbu X, Y dan Z, rumus yang dipakai untuk ketiga rotasi di atas juga berbeda.

Rumus untuk rotasi pada sumbu X:

X' = X
Y' = Y cos Ө˚ – Z sin Ө˚
Z' = Y sin Ө˚ + Z cos Ө˚

Rumus untuk rotasi pada sumbu Y:

X' = X cos Ө˚ + Z sin Ө˚
Y' = Y
Z' = X -sin Ө˚ + Z cos Ө˚

Rumus untuk rotasi pada sumbu Z:

X' = X cos Ө˚ – Y sin Ө˚
Y' = X sin Ө˚ + Y cos Ө˚
Z' = Z

Rumus rotasi dengan sumbu Z hampir sama dengan rumus rotasi pada sistem koordinat Cartesius 2D, kenapa hal ini terjadi, karena rotasi pada sistem koordinat Cartesius 2D sebenarnya berpusat pada sumbu Z, tetapi karena sistem koordinat ini untuk objek dua dimensi maka sumbu Z tidak disertakan.

Ok rekan-rekan sampai disini dulu pembahasan tentang transformasi geometri, bagi rekan-rekan yang ingin menyumbangkan artikel, ide atau program akan diterima dengan senang hati. Nama Anda akan ditulis dengan jelas tanpa di edit-edit dan artikel juga tidak akan di edit, asalkan karya Anda sendiri bukan jiplakan.

Salam Hangat


Heriady
heriady.yoh@gmail.com


Artikel terkait

Matematika Rotasi untuk Animasi 2D

I Love Math, Bola 3D

I Love Math, Donat 3D

I Love Math, Botol 3D