Edi, Sistem Transformasi Lukisan Objek Dua … 111
SISTEM TRANSFORMASI LUKISAN OBJEK DUA DIMENSI DAN TIGA DIMENSI PADA GRAFIKA KOMPUTER DENGAN MENGGUNAKAN MATRIKS TRANSFORMASI
Edy Victor Haryanto Sianturi Dosen Teknik Informatika STMIK Potensi Utama STMIK Potensi Utama, Jln. K.L Yos Sudarso Km. 6.5 No.3-A Tanjung Mulia Medan e-mail:
[email protected]
ABSTRACT Transformation is an object changes from one form to another, this paper described how two-dimensional objects be transformed into three-dimensional shapes using a matrix. The process is done in the transformation of the other objects in the input has to be rotated, because unlike 2D 3D rotation and the item is enlarged or reduced to fit the desired size, the object that has been modified scale should be translated, to move the point in the direction of x, y and z then in larger image objects by increasing the resolution by zooming in and zooming the results are dots to be connected to one another. The research was built using Visual Basic 2008 Keywords : Matrix Transformation, rotation, Zoom, Scale, Translation
ABSTRAK Transformasi adalah sebuah perubahan objek dari suatu bentuk ke bentuk yang lain, pada makalah ini dijelaskan bagaimana objek 2 dimensi di transformasikan ke dalam bentuk 3 dimensi dengan menggunakan matriks. Proses yang dilakukan dalam transformasi antara lain objek yang telah di input harus dirotasi, karena rotasi 2D berbeda dengan 3D kemudian objek tersebut diperbesar atau diperkecil sesuai dengan ukuran yang diinginkan, objek yang sudah diubah skalanya harus ditranslasikan, untuk memindahkan titik dalam arah x, y dan z kemudian di perbesar objek gambar dengan menambah resolusi dengan cara di zoom dan hasil zoom tersebut terdapat titik-titik yang akan dihubungkan antara satu dengan yang lain. Penelitian ini dibangun dengan menggunakan Visual Basic 2008 Kata Kunci : Matriks Transformasi, Rotasi, Zoom, Skala, Translasi
PENDAHULUAN Grafika komputer secara umum dianggap sebagai cabang ilmu komputer yang berkaitan dengan teori dan teknologi yang digunakan untuk menyintesa citra berkomputer. Citra dihasilkan komputer dengan cara melukiskan pemindaian mulai dari bersifat paling sederhana seperti renrengan segitiga sampai yang mempunyai latarbelakang seragam dan rumit seindah burung merak di suatu taman, atau semulus rangkaian pulau-pulau Indonesia yang terdapat dalam peta. Sebagai ilmu, bidang grafika komputer memang dikaji dalam disiplin ilmu komputer, namun dalam penerapannya ternyata begitu banyak pihak yang terlibat seni lukis, musik, sinematografi, kriptografi dan lain-lain. Ada suatu pepatah yang mengatakan bahwa “a picture worths thousands words”, sebuah gambar dapat bicara ribuan cerita. Meskipun tampak terlalu dilebihkan namun paling tidak dapat
112. InfoSys Journal, Vol.2 No.1 Februari 2013, hlm. 111 - 120
disetujui makna yang tersirat dalam pepatah tersebut. Informasi yang disajikan secara naratif memang sangat umum dijumpai dan hal itu juga memiliki daya tarik tersendiri. Namun penyajian naratif memerlukan metode pemindaian berurutan, sedangkan dalam bentuk grafis pemindaian ini dapat dilakukan secara serentak. Pernyataan di atas merupakan salah satu manfaat dari visualisasi grafis, sedangkan manfaat dan aplikasi lainnya begitu banyaknya, dari visualisasi hingga perancangan, dari reproduksi gambar hingga animasi, dan sebagainya. Para pakar di bidang ini mengklaim bahwa grafika komputer, begitu diterjemahkan dari computer graphics, merupakan area yang paling menarik dalam bidang ilmu komputer. Pada saat ini industri film dan game adalah yang betul-betul telah merasakan manfaat dari grafika komputer. Saat ini, film yang digemari bukan lagi film-film kartun, tetapi film animasi yang menggunakan teknologi 3D(tiga dimensi). Dengan grafik 3D(tiga dimensi), dapat dihasilkan suatu objek yang menyerupai bentuk aslinya. Hal yang sama terjadi pada industri game. Jika dulu game-game yang digemari masih dalam bentuk dua dimensi (2D), dengan teknologi yang ada sekarang dapat dihasilkan suatu game yang lebih realistis karena sudah dalam bentuk tiga dimensi. Tujuan Tujuan dari penelitian ini adalah : 1. Untuk mempermudah user dalam merancang atau membuat suatu objek lukisan baik dua dimensi maupun tiga dimensi. 2. Untuk menghasilkan suatu objek lukisan yang jauh lebih bagus dan lebih menarik. 3. Dapat mempermudah visualisasi dan penyampaian makna gambar dibandingkan dengan visualisasi secara dua dimensi (2D) dari pada objek tiga dimensi. Tinjauan Pustaka Penelitan yang dilakukan Rahma adalah pendekatan menghasilkan citra 3 dimensi secara otomatis adalah pendekatan pasif yang menggunakan citra 2 dimensi hasil proyeksi ortografik dari sebuah objek geometris 3 dimensi dan pembentukan citra 3 dimensi sebuah objek geometris yang komplek tidak perlu dilakukan dari awal dengan cara memanipulasi objek-objek primitive yang ada melainkan dapat dicapai dengan memberikan hasil proyeksi ortografik objek geometris yang diinginkan pada kertas gambar untuk dipindai dan dikonstruksi oleh komputer. Proyeksi ortografik merupakan kategori dari proyeksi parallel yang memproyeksikan objek berdasarkan bidang proyeksi yang tegak lurus sehingga hasil dari proyeksi merupakan salah satu bidang dua dimensi dengan ukuran yang tetap dan sama hasilnya. Proyeksi ortografik yang umum dilakukan adalah proyeksi front elevation, top elevation (disebut juga plan elevation) dan side elevation. Proyeksi-proyeksi ini memiliki bidang proyeksi yang tegak lurus terhadap sumbu-sumbu utama system kordinat tiga dimensi tiga dimensi. Proyeksi side elevation memiliki bidang proyeksi yang tegak lurus terhadap sumbu x, Proyeksi top elevation memiliki bidang proyeksi yang tegak lurus terhadap sumbu y, Proyeksi front elevation memiliki bidang proyeksi yang tegak lurus terhadap sumbu z. 1.
Rotasi / Putar Rotasi merupakan suatu transformasi memindahkan nilai dari posisi awal menuju ke posisi akhir yang ditentukan melalui nilai variabel. Proses rotasi dapat dilakukan sebagai berikut: X2 = cos(Ө) x (x1 – x0) - sin(Ө) x (y1 – y0) + x0…… (1) Y2 = sin(Ө) x (x1 – x0) + cos(Ө) x (y1 – y0) + y0…… (2) Dimana (x0, y0) adalah kordinat titik pusat dari sumbu putar, sumbu putar umumnya memiliki arah putar searah jarum jam dengan garis horizontal. 2.
Skala Skala adalah sebuah operasi geometri yang memberikan efek memperbesar atau memperkecil ukuran. Proses penskalaan dapat dilakukan dengan rumus sebagai berikut : Po = Sp X Pi………. (3) Lo = Sl X Li……….. (4) Dimana (Pi, Li) adalah ukuran input, (Po, Lo) adalah ukuran output, dan (Sp, Sl) adalah variable penskalaan yang diinginkan. Jika penskalaan bernilai lebih besar dari 1 maka hasil
Edi, Sistem Transformasi Lukisan Objek Dua … 113
penskalaannya akan memperbesar ukuran gambar, sebaliknya apabila variable penskalaannya lebih kecil dari 1 maka hasilnya akan memperkecil ukuran gambar. 3.
Translasi Translasi adalah memindahkan titik/ objek dalam arah x, y, dan z, ini berarti nilainya ditambah atau dikurangi dengan nilai tertentu. Secara umum operasi translasi melakukan perubahan dengan cara menambahkan koordinat awal dengan nilai variable translasi, sebagai berikut: X2 = X1 + p ……….. (5) Y2 = Y1 + p ……….. (6) Grafik Transformasi Dua Dimensi Ada dua cara untuk melakukan transformasi, transformasi objek dan transformasi koordinat. Pada transformasi objek,semua titik di sembarang objek akan di ubah sesuai aturan tertentu, sedangkan system koordinatnya tetap. Objek pada transformasi sistem koordinat tetap. Namun karena system koordinatnya yang diubah, maka kedudukan objek harus disesuaikan dengan kedudukan system koordinat yang baru. Transformasi pada dasarnya adalah mengubah posisi setiap titik, misalnya Py dari sembarang objek ke posisi yang lain. Sebagai contoh adalah Q yang menggunakan persamaan atau algoritma. Hal itu berarti terdapat suatu fungsi T yang memetakan koordinat P menjadi koordinat Q dan bisa Dituliskan Sebagai berikut : T (Px, Py) = (Qx, Qy) Atau bisa juga ditulis : Q = T (P) Dengan P = (Px, Py) dan Q = (Qx, Qy). Dalam transformasi 2D, Fungsi transformasi T akan memetakan P = (Px, Py) menjadi Q = (Qx, Qy). Qx dan Qy berhubungan dengan Px dan Py berdasarkan persamaan berikut : Qx = aPy + cPy + TRx Qy = bPx + dPy + Try Adanya a, b, c, d menjadikan trx dan try sebagai sembarang konstanta.
ANALISIS dan PERANCANGAN Bagaimana menghasilkan gambar dua dimensi dan tiga dimensi dan merotasi objek dua posisi awalnya pada titik rotasi ( ). r dimensi dan tiga dimensi sebesar sudut dari P3' y P4'
P2' P3
P4 P1'
r
P1
P2 x
Gambar 1. Ilustrasi Rotation Pada Dua Dimensi
Keterangan : adalah sudut posisi awal. adalah sudut rotasi. r adalah titik rotasi. Rotasi suatu objek dengan P ( x, y ) dengan sudut mendapatkan hasil titik P’ (x’, y’ ), dengan persamaan.
114. InfoSys Journal, Vol.2 No.1 Februari 2013, hlm. 111 - 120
x' x cos y sin
y' y cos x sin
Rotasi pada objek 3D mengikuti sumbu kordinat pada ketiga sumbu sistem koordinat x,y dan z. Secara umum rotasi di bagi menjadi dua yaitu rotasi yang berlawanan dengan arah jarum jam dan yang searah dengan jarum jam. Biasanya diberikan nilai positif dan negatif. Selajutnya untuk rotasi yang searah jarum jam diberikan nilai negatif dan yang berlawanan arah jarum jam diberikan nilai positif untuk setiap sumbu koordinat x, y dan z. Rotasi tersebut menggunakan sudut rotasi tertentu dari posisi P (x, y, z) menjadi P (x’, y’, z’). a.
Rotasi Pada Sumbu X y
x
z
Gambar 2. Ilustrasi Rotasi Pada Sumbu X Pada Tiga Dimensi
Gambar 2 merupakan ilustrasi rotasi pada sumbu x dengan sudut rotasi ( 00 3600), pada rotasi ini pada sumbu x tidak terjadi perubahan titik koordinat, yang berubah adalah titik koordinat pada sumbu y dan z. Persamaan rotasi pada sumbu x adalah sebagai berikut :
x' x y' y cos( ) z sin( ) z' y sin( ) z cos( )
Dari persamaan tersebut lebih jelas bahwa sumbu x tidak terjadi perubahan titik koordinat. b.
Rotasi Pada Sumbu Y
y
z
x
Gambar 3. Ilustrasi Rotasi Pada Sumbu Y Pada Tiga Dimensi
Gambar 3 merupakan ilustrasi rotasi pada sumbu y dengan sudut rotasi ( 00 3600), pada rotasi ini pada sumbu y tidak terjadi perubahan titik koordinat, yang berubah adalah titik koordinat pada sumbu x dan z. Persamaan rotasi pada sumbu x adalah sebagai berikut :
x' x cos( ) z sin( ) y' y z' x sin( ) z cos( )
Edi, Sistem Transformasi Lukisan Objek Dua … 115
Dari persamaan tersebut lebih jelas bahwa sumbu y tidak terjadi perubahan titik koordinat. c.
Rotasi Pada Sumbu Z y
z
x
Gambar 4. Ilustrasi Rotasi Pada Sumbu Z Pada Tiga Dimensi
Gambar 4 merupakan ilustrasi rotasi pada sumbu z dengan sudut rotasi ( 00 3600), pada rotasi ini pada sumbu z tidak terjadi perubahan titik koordinat, yang berubah adalah titik koordinat pada sumbu x dan y. Persamaan rotasi pada sumbu x adalah sebagai berikut :
x' x cos( ) y sin( ) y' x sin( ) y cos( ) z' z
Dari persamaan tersebut lebih jelas bahwa sumbu z tidak terjadi perubahan titik koordinat.
METODE ANALISIS Ketika membahas masalah transformasi matriks, maka hal utama yang ingin diketahui tentunya adalah bayangan suatu vektor dari transformasi tersebut dan matriks transformasinya. Penentuan matriks transformasi tergantung dari faktor – faktor yang diketahui. Matriks adalah susunan sekelompok bilangan dalam bentuk segi empat siku-siku yang diatur menurut baris dan kolom. Istilah-istilah yang sering digunakan matriks adalah : 1. Baris matriks yaitu susunan bilangan-bilangan yang letaknya mendatar (horizontal) dalam matriks tersebut. 2. Kolom matriks yaitu susunan bilangan-bilangan yang letaknya tegak (vertikal) dalam matriks tersebut. 3. Elemen matriks yaitu bilangan-bilangan yang menyusun matriks tersebut dan letaknya didalam tanda kurung.
1 2 A 3 4
(7)
Yang menjadi data masukan (input) dalam aplikasi ini adalah dengan object 2 dimensi bentuk gambar. Dimana gambar tersebut akan digunakan sebagai bahan untuk transformasi dari 2 dimensi ke 3 dimensi. Selanjutnya dilakukan proses transformasi objek ke 3 dimensi, dengan memasukkan parameter-parameter pendukung transformasi matriks. Adapun langkah-langkah untuk proses transformasi dari 2 dimensi ke 3 dimensi adalah sebagai berikut : 1. input gambar 2. rotasi 3. skala 4. translasi 5. zoom 6. draw style
116. InfoSys Journal, Vol.2 No.1 Februari 2013, hlm. 111 - 120
4.
Flowchart Start
Input Image
Rotasi
Skala
Translasi
Zoom
Draw style
End
Gambar 5. Flowchart Perancangan Aplikasi Tranformasi
Berikut penjelasan dari setiap proses perancangan : 1.
Rotasi/ Putar Berbeda dengan rotasi di 2D yang menggunakan titik pusat (0,0) sebagai pusat perputaran, rotasi 3D menggunakan sumbu koordinat sebagai pusat perputaran. Rotasi merupakan suatu transformasi memindahkan nilai dari posisi awal menuju ke posisi akhir yang ditentukan melalui nilai variabel. Proses rotasi dapat dilakukan sebagai berikut : X2 = cos(Ө) x (x1 – x0) - sin(Ө) x (y1 – y0) + x0…… Y2 = sin(Ө) x (x1 – x0) + cos(Ө) x (y1 – y0) + y0…… Dimana (x0, y0) adalah kordinat titik pusat dari sumbu putar, sumbu putar umunya memiliki arah putar searah jarum jam dengan garis horizontal. 2. Skala Skala adalah sebuah operasi geometri yang memberikan efek memperbesar atau memperkecil ukuran. Proses penskalaan dapat dilakukan dengan rumus sebagai berikut : Po = Sp X Pi Lo = Sl X Li Dimna (Pi, Li) adalah ukuran input, (Po, Lo) adalah ukuran output, dan (Sp, Sl) adalah variable penskalaan yang diinginkan. Jika penskalaan bernilai lebih besar dari 1 maka hasil penskalaannya akan memperbesar ukuran gambar, sebaliknya apabila variabel penskalaannya lebih kecil dari 1 maka hasilnya akan memperkecil ukuran gambar.
Edi, Sistem Transformasi Lukisan Objek Dua … 117
3.
Translasi Translasi adalah memindahkan titik/ objek dalam arah x, y, dan z, ini berarti nilainya ditamabah atau dikurangi dengan nilai tertentu. Secara umum operasi translasi melakukan perubahan dengan cara menambahkan koordinat awal dengan nilai variable translasi, sebagai berikut : X2 = X1 + p ……….. Y2 = Y1 + p ……….. 4.
Zoom Zoom merupakan proses perbesar object gambar dengan cara menambah resolusi gambar dan interpolasi. Interpolasi sebenarnya adalah suatu proses untuk menentukan harga suatu fungsi pada titik-titik posisi antara suatu sampel dengan sampel tetangganya. Hal ini dilakukan dengan menyusun fungsi kontinu melalui sampel-sampel masukan diskrit. Dengan demikian harga fungsi dapat diperoleh untuk setiap sembarang titik, tidak hanya harga fungsi pada titik sampel. 5.
Draw style Dalam transformasi object 2 dimensi ke 3 dimensi terdapat 3 jenis draw style yang digunakan untuk menghubungkan setiap titik martiks antara lain : a. Dots b. Lines c. Spike
Pada form ini terdapat tombol import gambar, tombol untuk export hasil transformasi gambar, parameter transformasi, dan jenis draw style. Berikut rancangan form utama.
Impor Gambar
Gambar
Transformasi Export Hasil Transformasi
Parameter Transofrmasi
Gambar 6. Rancangan Form Utama
Draw Style
118. InfoSys Journal, Vol.2 No.1 Februari 2013, hlm. 111 - 120
HASIL dan UJICOBA Algoritma Algoritma perancangan perangkat lunak Aplikasi transformasi objek 2 dimensi ke 3 dimensi dengan menggunakan matriks dibagi menjadi 5 bagian yaitu : 1. Algoritma Rotasi/ Putar 2. Algoritma Skala 3. Algoritma Translasi 4. Algoritma Zoom 5. Algoritma Draw style Form Transformasi Form transformasi digunakan untuk melakukan proses transformasi 2D ke 3D, pada form terdapat operasi untuk import gambar, ekspor gambar, dan parameter-parameter yang akan digunakan pada proses transformasi. Berikut Tampilan Form Transformasi.
Gambar 7. Form Transformasi
KESIMPULAN Dari penelitian ini dapat disimpulkan beberapa hal mengenai kesimpulan dari Penelitian transformasi dari 2 dimensi ke 3 dimensi, yaitu : 1. 2.
Untuk mempermudah user dalam merancang atau membuat suatu objek lukisan baik dua dimensi maupun tiga dimensi. Dalam penelitian ini dapat mempermudah visualisasi dan penyampaian makna gambar dibandingkan dengan visualisasi secara dua dimensi (2D) dari pada objek tiga dimensi.
Edi, Sistem Transformasi Lukisan Objek Dua … 119
DAFTAR RUJUKAN Broughton, S.A. 2001, Transform Method in Imaging Processing- Lecture 2. Rose- Hulman Institute of Technology Deniau, Laurent. 2003. “Image Processing”. Slide Presentasi. Darma Putra. 2009, Pengolahan Citra Digital, Penerbit Andi, Yogyakarta Debnath Lokenath,2002, Wavelet Transform and Their Application. Boston Birkhauser. Edward angel. 2009, Interactive Computer Graphics, Pearson Internasional Inc Janner Simarmata & Tintin Chandra. 2007, Grafika Komputer. jurtek.akprind.ac.id/sites/default/files/98_103_rahma.pdf Nazrul Effendy. 2010, Grafika Komputer Dengan Borland C++ Builder Profesional.
120. InfoSys Journal, Vol.2 No.1 Februari 2013, hlm. 111 - 120