TRANSFORMASI 3 DIMENSI

MODUL VI TRANSFORMASI 3 DIMENSI

Setelah membaca modul ini, mahasiswa akan memiliki pengetahuan dan mampu menjelaskan (i) apa yang dimaksud dengan transformasi 3 dimensi pada objek grafik (ii) proses transformasi dasar dan melakukan proses komputasi transformasi dasar (iii) Konsep sistem koordinat berganda dan transformasi majemuk secara global

VI.1 Pengertian Transformasi 3D

Dalam ruang dua dimensi suatu titik akan berada pada suatu posisi yang dinyatakan oleh dua sumbu. Umumnya kita sebut sumbu x dan sumbu y. Dalam ruang tiga dimensi terdapat sumbu ketiga yang biasanya kita sebut sumbu z. Terdapat dua konvensi dalam merepresentasikan suatu titik: kaidah tangan kanan dan kaidah tangan kiri. Dalam kaidah tangan kanan jika sumbu x positif mengarah ke kanan dan sumbu y positif mengarah ke atas maka sumbu z positif mengarah mendekati kita sementara dalam kaidah lengan kiri sumbu z positif mengarah menjauhi kita.

Gambar 6.1 Sumbu Koordinat 3 Dimensi

Transformasi-transformasi geometris yang dasar di ruang tiga dimensi sama halnya dengan di ruang dua dimensi kecuali

• rotasi kita perlu membedakan rotasi terhadap masing-masing sumbu • refleksi adalah terhadap bidang-bidang xy, yz, atau zx, dan • shear adalah terhadap dua sumbu, misalnya x dan z.

Demikian pula kita dapat memanfaatkan sistem koordinat homogen untuk suatu titik (x, y, z) dalam ruang tiga dimensi direpresentasikan sebagai matriks kolom [x y z h]. Selanjutnya setiap transformasi dasar dapat dinyatakan sebagai perkalian matriks:

VI.2 Operasi Dasar Transformasi 3D

Matriks transformasi umum 3D dinyatakan sebagai matriks 4x4 sebagai berikut:

Dimana a, b, c, d, e, f, g, h, i adalah elemen yang berpengaruh terhadap transformasi linier; p, q, r adalah elemen yang untuk proyeksi dan perspektif l, m, n adalah elemen untuk translasi pada sumbu x, y dan z s adalah elemen untuk overall scaling.

Translasi

Transformasi translasi 3 dimensi dinyatakan sebagai

Komposisi perkalian matriksnya adalah sebagai berikut:  1 0 0 0 

][  = x y z 1 ]

Gambar 6.2 Translasi 3 Dimensi

Penskalaan

Dalam domain 3 dimensi, terdapat dua jenis penskalaan atau scaling yaitu local scaling dan overall scaling atau global scaling. Dalam local scaling penskalaan bisa dilakukan terhadap salah satu atau semua sumbu (x, y dan z). Sedangkan dalam overall scaling dilakukan secara seragam untuk semua sumbu.

Elemen matriks transformasi umum yang mempengaruhi local scaling adalah elemen diagonal yaitu elemen a, e dan i. Sedangkan elemen yang mempengaruhi overall scaling adalah elemen s. Formulasi transformasi untuk global scaling dan local scaling adalah sebagai berikut:

[  x ' y ' z ' 1 ][ = x y z 1 ]  0 0 1 0 

x ' y ' z ' 1 ][ = x y z 1 ] 

Operasi transformasi scaling pada elemen matriksnya adalah operasi perkalian sebagia berikut.

Gambar 6.3 Skala 3 Dimensi

Rotasi

Berbeda dengan transformasi rotasi 2D dimana yang menjadi sumbu adalah sebuah titik , dalam transformasi 3D, yang menjadi sumbu adalah garis atau sumbu. Formula untuk rotasi dapat dilihat pada tabel di bawah ini.

Gambar 6.4 Rotasi 3 Dimensi

Dalam rotasi 3D perlu diperhatikan bahwa urutan proses rotasi tidaklah komutatif. Gambar berikut mengilustrasikan keadaan ini. Digambarkan bahwa hasil akhir antara urutan proses rotasi pada sumbu x dilanjutkan rotasi sumbu z TIDAK SAMA HASILNYA dengan rotasi pada sumbu z dilanjutkan dengan rotasi pada sumbu x.

Gambar 6.5 Rotasi 3 Dimensi Tidak Komutatif

Rotasi pada Sumbu yang Paralel dengan Sumbu Utama

Langkah-langkah yang harus dilalui adalah (i) translasikan objek sedemikian rupa sehingga berimpit dengan salah satu sumbu utama (ii) lakukan rotasi (iii) lakukan re-translasi. Ilustrasinya ditunjukkan pada gambar di bawah ini.

Gambar 6.6 Rotasi Pada Sumbu Sembarang yang Sejajar Sumbu Utama

Rotasi pada Sumbu Sembarang

Proses ini cukup kompleks dan dilakukan sebanyak 5 langkah. Formulasi perkalian matriksnya adalah sebagai berikut:

[ T R ] ARB = [ T TR ] [ T R ] x [ T R ] y [ T R ] z [ T R ] y [ T R ] x [ T TR ]

Gambar 6.7 Rotasi 3 Dimensi Pada Sumbu Sembarang

Langkah-langkah yang dilakukan adalah

1. Translasikan (x1, y1, z1) ke origin

2. Rotasikan (x’2, y’2, z’2) pada sumbu Z

3. Rotasikan objek pada sumbu Z

4. Re-rotasi sumbu ke orientasi semula

5. Re-translasi

Langkah 1: Translasi

Langkah 2: Rotasi

Langkah 3: Rotasi

Langkah 4: Re-Rotasi

Langkah 5: Re-translasi

Contoh

Tentukan koordinat baru dari kuus yang dirotasikan 90º pada sebuah sumbu putar yang dibentuk oleh garis yang melalui A(2,1,0) dan B(3,3,1).

Penyelesaian: Langkah 1: Translasi ke origin

Langkah 2: Rotasi

Langkah 3: Rotasi Inti

Langkah 4 dan 5: Lakukan Re-rotasi dan Re-translasi  1 0 0 0   30 6 

5 5   0 1 0 0  − 1 0 0 0 [ T R ] ARB =

Refleksi

VI.3 Sistem Koordinat Berganda

Latihan Penskalaan

Diketahui sebuah objek P dengan koordinat sebagai berikut : {(0,0,1,1), (2,0,1,1), (2,3,1,1), (0,3,1,1), (0,0,0,1), (2,0,0,1), (2,3,0,1), (0,3,0,1)}.

1. Gambarkan objek tersebut !

2. Lakukan local scaling terhadap objek P dengan faktor skala xyz={1/2, 1/3 dan 1}.

a. Tentukan koordinat baru

b. Gambarkan hasilnya

3. Lakukan overal scaling terhadap objek asli dengan faktor 2.

a. Tentukan koordinat baru

b. Gambarkan hasilnya

Latihan Rotasi

Diketahui sebuah objek Q dengan koordinat sebagai berikut : {(0,0,1,1), (3,0,1,1), (3,2,1,1), (0,2,1,1), (0,0,0,1), (3,0,0,1), (3,2,0,1), (0,2,0,1)}.

1. Gambarkan objek tersebut !

a. Lakukan rotasi terhadap Q sebesar θ = −90 ° pada x

b. Tentukan koordinat baru b. Tentukan koordinat baru

2. Lakukan rotasi terhadap objek Q sebesar ϕ = 90° pada sumbu y

a. Tentukan koordinat baru

b. Gambarkan hasilnya

Latihan Refleksi

Diketahui sebuah objek Q dengan koordinat sebagai berikut : {(1,0,-1,1), (2,0,-1,1), (2,1,- 1,1), (1,1,-1,1), (1,0,-2,1), (2,0,-2,1), (2,1,-2,1), (1,1,-2,1)}.

1. Gambarkan objek tersebut !

2. Lakukan refleksi pada bidang xy

a. Tentukan koordinat baru

b. Gambarkan hasilnya

Latihan Transformasi Gabungan

1. Tentukan Matriks Transformasi Umum untuk transformasi berurutan berikut ini:

1. Translasi sebesar -1, -1, -1 pada sumbu x, y, z

2. Rotasi sebesar +30° pada sumbu x

3. Rotasi sebesar + 45° pada sumbu y

2. Tentukan koordinat objek baru untuk vektor posisi homogen (3 2 1 1) yang ditransformasikan dengan MTU yang dihasilkan

Daftar Pustaka

1. David F. Rogers, Alan J. Adams , Mathematical Elements for Computer Graphics (2nd edition), McGraw-Hill, 1989

2. John F. Hughes, Andries Van Dam, Morgan Mcguire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley, Computer Graphics: Principles and Practice

(3 rd edition), Addison-Wesley, 2014

3. Ollie Cornes, Jay Glynn, Burton Harvey, Craig McQueen, Jerod Moemeka, Christian Nagel, Simon Robinson, Morgan Skinner, Karli Watson, Professional C# - Graphics with GDI+, Wrox, 2001