Teknik Informatika, STMIK IM, Jl.Jakarta No.79 Bandung ch.ruddin@gmail.com
Abstrak
Grafik tiga dimensi sebagai dasar dari simulasi objek, grafik yang menampilkan objek dengan sistem koordinat tiga dimensi sumbu X, Y, dan Z dimana operasi yang digunakan pada grafik tiga dimensi antara lain : pembentukan permukaan (surface generation), transformasi tiga dimensi, penghapusan permukaan tersembunyi (hidden surface elimination), corak warna permukaan (texture).
Simulasi yang digunakan disini adalah simulasi dinamis kontinu (entitas dynamical system) umumnya dipakai untuk mensimulasikan sistem dinamis dimana variabel keadaan berubah setiap saat secara kontinu.
Keyword: grafik komputer, pemodelan, simulasi
1.
Pendahuluan
Simulasi banyak diaplikasikan dalam berbagai bidang kehidupan manusia. Sebagai contoh aplikasi dari simulasi yaitu untuk pelatihan dalam menerbangkan pesawat terbang sebagai latihan sebelum memakai pesawat yang sebenarnya, seperti : lepas landas (take off), mendaratkan pesawat (landing) dan gerakan pesawat di udara (manuver) sehingga akan lebih efektif dan efisien bagi pilot pemula dalam menerbangkan pesawat dan akan meminimalkan kemungkinan terjadinya kecelakaan yang tidak terduga. Aplikasi lainnya yaitu untuk mempelajari prilaku sistem, misalnya simulasi gedung yang terkena gempa bumi sehingga dapat membantu dalam mencari solusi untuk memperbaiki konstruksi bangunan untuk dapat mempertahankan gedung apabila terjadi gempa bumi. Aplikasi yang tidak kalah penting yaitu War Simulator, program simulasi ini bertujuan untuk pelatihan bagi tentara dalam mempersiapkan perang (battle) serta untuk lebih mengenal lagi lokasi pertempuran dan melatih strategi dalam peperangan sehingga sangat efektif dan efisien bagi para tentara untuk mempersiapkan taktik dan strategi dalam menghadapi peperangan (battle) yang sebenarnya. Satu lagi aplikasi simulasi yaitu pada game dunia tiga dimensi (entertainment), seperti DOOM, Wing Commander, F-15, F-19 dan masih banyak lagi game tiga dimensi dimana kita dapat bergerak bebas ke atas, bawah, kiri, kanan, maju, mundur, berputar seakan-akan kita sedang berada di dalam dunia game yang kita mainkan tersebut dengan monitor sebagai mata kita. Bahasan studi yang penulis kaji lebih kepada model dan simulasi objek tiga dimensi.
2. Dasar-Dasar Geometri dan Transformasi Tiga Dimensi
2.1. Coordinate SystemA. Axis Assignment
Axis assignment ialah pemberian label terhadap ketiga sumbu koordinat yaitu sumbu horizontal, sumbu vertikal dan sumbu kedalaman.
Axis assignment standard kita ialah, sumbu X sebagai sumbu horizontal, sumbu Y sebagai sumbu vertikal, sumbu Z sebagai sumbu kedalaman.
Gambar 1 Axis Assignment Standard
Axis assignment standard kita ialah, sumbu X sebagai sumbu horizontal, sumbu Y sebagai sumbu vertikal, sumbu Z sebagai sumbu kedalaman.
B. Axis Polarity Assignment
X yang terletak di belahan kiri dari titik origin ialah sumbu X negatif sedangkan pada bagian kanan ialah sumbu X positif, demikian pula pada sumbu Y dan Z.
Gambar 2 Axis Polarity Standard
2.2. Coordinate Plane
Proyeksi tiga dimensi memiliki tiga buah coordinate plane/bidang.
Pertama ialah XY plane. Bidang ini ialah bidang yang tegak lurus dengan Z axis.
Gambar 3 Xy Plane
Bidang yang kedua ialah XZ plane seperti pada gambar di bawah ini. Bidang ini tegak lurus dengan sumbu Y.
Gambar 5 Yz Plane
2.3. Movement A. Dilatasi
Dilatasi ialah pergeseran/perpindahan tempat sebuah objek dalam dunia tiga dimensi. Dilatasi pada koordinat tiga dimensi adalah sebuah vektor yang memiliki tiga komponen yaitu perpindahan sumbu X, sumbu Y dan sumbu Z.
Gambar 6 Dilatasi
Garis yang berlabelkan m itu adalah vektor perpindahan dari sebuah titik. Vektor m ini memiliki tiga buah komponen yaitu mx, my dan mz yang dapat diproyeksikan terhadap sumbu koordinatnya masing-masing berupa sebuah garis. Dengan kata lain mx ialah perpindahan koordinat X dari objek, my adalah perpindahan koordinat Y dari objek sedangkan mz adalah perpindahan koordinat Z dari objek.
Gambar 7 Dilatasi Sejauh Vektor M
Pada diagram diatas ditunjukan sebuah benda dari posisi awal berpindah sejauh vektor m menuju posisi akhir. Vektor m ini diproyeksikan menjadi tiga komponennya yaitu cx,cy dan cz. Mula-mula dilakukan penambahan pada koordinat Z sejauh cz kemudian dilanjutkan dengan penambahan koordinat X sejauh cx dan terakhir dilakukan penambahan koordinat Y sejauh cy.
B. Rotasi
Jenis perpindahan yang kedua ialah rotasi. Rotasi berarti berputar. Dalam dunia tiga dimensi, kita mengenal tiga jenis rotasi yaitu rotasi terhadap sumbu X, rotasi terhadap sumbu Y dan rotasi terhadap sumbu Z.
Gambar 8 Rotasi Terhadap Sumbu X Sejauh Dx
Gambar 9 Rotasi Terhadap Sumbu Y Sejauh Dy
Gambar 10 Rotasi Terhadap Sumbu Z Sejauh Dz
3. Analisis Proyeksi 3D
Penggambaran tiga dimensi pada layar dua dimensi dibutuhkan suatu teknik proyeksi 3D seperti: parallel projection dan perspective projection. Untuk parallel projection gambar yang bergerak terlihat kurang realistis, karena teknik ini mengabaikan koordinat Z, sedangkan teknik perspective projection menggunakan ketiga koordinat tersebut sehingga gambar yang bergerak terlihat realistis.
Penggunaan teknik wireframe projection untuk menggambar objek yang terdiri dari poligon-poligon akan menyebabkan penggambaran objek terlihat transparan maka untuk mengatasi hal itu digunakan teknik polygon shading projection, teknik ini dilakukan dengan cara mengarsir objek hasil proyeksi.
Rotasi objek dengan teknik global coordinat system transformation rotasi objek akan tidak terlihat hal ini disebabkan karena titik-titik pada objek ditransformasikan berdasarkan sumbu X, Y dan Z dunia tiga dimensi.
3.1. 3D Vector Objek Data Structure
Teknik proyeksi untuk menggambar objek ini ialah teknik Vector. Di sini objek dibentuk dari poligon-poligon yang menghubungkan sejumlah titik. Teknik ini dinamakan wireframe projection. Wireframe projection ini dilakukan dengan cara mendefinisikan sebuah objek sebagai array yang berisi koordinat masing-masing titik yang membentuk objek tersebut disertai dengan data hubungan masing-masing titik dengan titik yang lainnya.
3.2. Local dan Global Coordinate System Transformation
Pada uraian diatas telah dibahas mengenai transformasi. Sebenarnya teknik transformasi yang kita gunakan tersebut masih tergolong global coordinate system transformation. Artinya ialah, titik-titik pada objek kita transformasikan berdasarkan sumbu X, Y dan Z dunia tiga dimensi.
Gambar 11 Global Coordinate System Transformation
Pada dunia tiga dimensi dikenal sebuah teknik transformasi yang lain yaitu local coordinate system transformation. Di sini objek dirotasi terhadap titik pivot/titik putarnya. Pada titik pivot setiap objek terdapat koordinat axis lokal.
Gambar 12 Local Coordinate Axis
Perhatikan gambar diatas. Local coordinate axis dari objek di atas ialah pada titik tengah dari objek tersebut. Pada titik pivot objek tersebut terdapat sumbu X, Y dan Z sendiri. Untuk melengkapi teknik ini, koordinat setiap titik pada vertex Bank ialah koordinat lokal dari objek.
Gambar 13 Rotasi Terhadap Local Coordinate Y Axis
Gambar diatas menunjukkan proses setelah dirotasi terhadap local coordinat Y axis, objek tersebut tidak berpindah tempat. Cara ini digunakan oleh flight simulator untuk memvisualisasikan gerakan pesawat. Jika pesawat hendak berputar ke kiri/ke kanan, sebenarnya pesawat tersebut diputar terhadap sumbu Y local coordinat axis-nya bukannya terhadap sumbu Y dunia.
3.3. Polygon Shading Data Structure
Poligon ialah bangun/kurva tertutup yang dibentuk dari sejumlah titik yang dihubungkan dengan garis. Dengan ditemukannya teknik wireframe projection masih terdapat beberapa kekurangan karena hasil dari wireframe projection ini bisa dibilang jauh dari realistis. Objek terlihat transparan sehingga sulit dikenali. Dengan semakin cepatnya perkembangan processor komputer yaitu 286 dan 386 pada saat itu, dikenali teknik baru yang disebut polygon shading. Teknik ini tidak mungkin dilakukan dengan komputer XT mengingat keterbatasan register yang ada (8 bit) dan juga kecepatan CPU per instruction yang sangat lambat.
Teknik Polygon Shading ini dilakukan dengan mengarsir polygon hasil proyeksi dengan warna sehingga objek hasil proyeksi terlihat lebih reallistis dan tidak terlihat transparan seperti pada wireframe projection.
Gambar 14 Objek Dengan Teknik Polygon Shading
Polygon shading technique ini dilakukan pada saat seluruh titik telah diproyeksikan ke layar monitor.
4. Perancangan Alur Program
4.1. Prosedur Proyeksi ObjekGambar : 4.1. Flow Chart Prosedur Proyeksi Objek ( Model Flow Chart Algoritma dan teknik pemrograman, 1997)
4.2. Prosedur Proyeksi Vertex
Gambar 15 Flow Chart Prosedur Proyeksi Vertex ( Model Flow Chart Algoritma dan teknik pemrograman, 1997)
Gambar 16 Flow Chart Prosedur Menampilkan Objek ( Model Flow Chart Algoritma dan teknik pemrograman, 1997) 4.4. Teknik Persvective Projection
Gambar 17 Flow Chart Teknik Persvective Projection 4.5. Teknik Polygon Shading
4.6. Teknik Back Face Filtering
Gambar 19 Flow Chart prosedur Back Face Filtering
5. Perancangan Input Output Program
Gambar 20 Perancangan Interface Program
6. Hasil Simulasi
tetap sama, hal ini disebabkan karena teknik ini mengabaikan koordinat Z dari suatu benda untuk memproyeksikannya ke layar monitor, maka untuk mengatasi hal ini digunakan teknik perspective projection.
2. Teknik wireframe projection untuk menggambar poligon jauh dari realistis karena objek terlihat transparan sehingga sulit dikenali, maka untuk mengatasi hal ini digunakan teknik Polygon Shading. Teknik Polygon Shading ini dilakukan dengan mengarsir polygon hasil proyeksi dengan warna sehingga objek hasil proyeksi terlihat lebih realistis dan tidak terlihat transparan seperti pada wireframe projection.
8. Daftar Pustaka
[1] Antony Pranata, 2000, Pemrograman Boorland Delphi, Andi Offset, Yogyakarta.
[2] Agustinus Nalwan, 1996, Pemrograman Animasi dan Game Profesional, PT Elexmedia Komputindo, Jakarta.
[3] Budi Sutedjo, S.Kom. dan Michael AN, 1997, Algoritma dan Teknik Pemrograman, Andi Offset, Yogyakarta.
[4] Cornel Pokorny, 1994, “Computer Graphics An Object-Oriented Approach To The Art and Science Implemented In C++”, Franklin, Beedle & Associates Incorporated, Wilsonville, Oregon,
[5] Charles G. Cullen, 1988, .Linier Algebra with Application, Foresman and Company. [6] Kusdian, Miwan, 2003, 3D Object Simulation With Transformation And Filtering Technique,
Bandung
[7] P. Insap Santosa, Ir., M.Sc., 1994, “Grafika Komputer dan Antarmuka Grafis”, Penerbit Andi Offset Yogyakarta, Cetakan Pertama,
[8] http://3Dblackhole.base.org “Mathematics of 3D Graphics”.
[9] http://3Dblackhole.base.org “3D Transformations Second part of The 3D Coding Blackhole Tutorial