Virtual Sculpting Dengan Menggunakan Tool Berbasis Vector ...

96
Tesis Judul: Virtual Sculpting Dengan Menggunakan Tool Berbasis Vector Pada Triangle Mesh Oleh: I Ketut Purnamawan 5109201021 Pembimbing: Prof. Ir. Handayani Tjandrasa, M.Sc., Ph.D.

Transcript of Virtual Sculpting Dengan Menggunakan Tool Berbasis Vector ...

TesisJudul: Virtual Sculpting Dengan

Menggunakan Tool BerbasisVector Pada Triangle Mesh

Oleh: I Ketut Purnamawan5109201021

Pembimbing: Prof. Ir. Handayani Tjandrasa, M.Sc., Ph.D.

Latar Belakang (1)

• Secara garis besar, pemodelan 3D dapat dikategorikan menjadi dua yaitu:– Functional modeling– Geometric modeling

• Virtual Sculpting merupakan suatugeometric modeling.

Latar Belakang (2)• Bill dan Lodha (Bill dan Lodha, 1994)

memberikan definisi virtual sculpting sebagai pemodelan geometrik yang interaktif dimana tujuan dan cara-cara sculpture tradisional diemulasikan.

• Tujuan yang dimaksud adalah mendesain objek 3D yang free-form.

• Cara-cara yang dimaksud adalah manipulasi secara langsung terhadap bahan dengan menggunakan tangan atau manipulasi secara tidak langsung dengan menggunakan peralatan sculpting (sculpting tools).

Latar Belakang (3)

• Kriteria-kriteria virtual sculpting menurutBill dan Lodha:– Fokus pada pemodelan bentuk yang free-

form.– Karakteristik model yang intuitif, mirip dengan

bahan sculpting pada kehidupan nyata.– Interaktif, real-time.– Manipulasi dan deformasi model

menggunakan virtual tools.

Latar Belakang (4)• Jadi:

– Representasi objek 3D yang digunakan haruslah memiliki karakteristik yang semirip-miripnya dengan bahan-bahan pada kehidupan nyata, dan bisa membentuk bentuk yang sebebas-bebasnya.

– Representasi objek yang digunakan memungkinkan objek dapat dirender dengan cepat, agar tidak menjadi hambatan dalam proses sculpting yang real-time.

– Desain dan mekanisme kerja tool harus seintuitif mungkin dan dapat digunakan untuk melakukan manipulasi bentuk serumit mungkin.

– Komputasi yang dilakukan untuk proses sculpting tidak terlalu komplek, sehingga proses sculpting bisa dilakukan secara real-time.

Latar Belakang (4)• Contoh suatu proses Virtual Sculpting:

– Objek gelas berukir dibentuk dari objek berbentuk tabung.– Objek berwarna hijau adalah tool yang digunakan

Sumber: (Gain dan Marais, 2005)

Latar Belakang (5)

• Model tool yang digunakan menjadi suatuyang tidak terpisahkan dari algoritma yang digunakan.

• Berbagai model tool dan algoritma yang menyertainya telah dikembangkan.

• Sebagian besar interaksi antara tool dengan objek ditentukan dengan menggunakan collision detection.

Latar Belakang (6)

• Contoh penggunaan tool untuk mendeformasipermukaan objek:

Sumber: (Bill dan Lodha, 1994)

Latar Belakang (7)

• Free-Form Deformation (FFD)– Objek dimasukkan ke dalam array titik kontrol B-

Spline tiga dimensi.– Vertex-vertex pada objek diperlakukan sebagai titik-

titik B-Spline.– Ketika satu titik kontrol dipindahkan, maka vertex-

vertex objek yang kena pengaruh titik kontrol tersebut akan ikut berpindah mengikuti persamaan B-Spline.

– Hasil deformasi halus.– Proses deformasi tidak intuitif.– Penggunaan tool sulit dilakukan.

Latar Belakang (8)

• Direct Manipulation FFD (DM-FFD)– Beberapa vertex objek ditransformasi secara

langsung.– Titik-titik kontrol B-Spline ditransformasi berdasarkan

transformasi vertex-vertex yang di transformasisecara langsung.

– Vertex-vertex yang berada di sekitar vertex yang ditransformasi secara langsung ditransformasikanberdasarkan posisi titik-titik kontrol yang baru.

– Karena vertex objek bisa ditransformasi secaralangsung, penggunaan tool menjadi lebih mudah.

– Komputasi yang diperlukan besar.

Latar Belakang (9)

• Tool berbasis vector field– Tool dibentuk dari vector field yang berada di dalam

wilayah suatu bentuk sederhana (seperti bola dankotak)

– Jika vertex-vertex objek berada di dalam wilayah tool, maka vertex-vertex objek tersebut ditransformasikanberdasarkan fungsi vector field di posisi vertex tersebut.

– Agar vertex-vertex objek dapat diketahui apakahberada didalam wilayah tool atau tidak, maka tool harus berbentuk sederhana.

Latar Belakang (10)

• SAM-IAM– Tool dibentuk dari persamaan superelipsoid.– Posisi vertex objek terhadap tool dapat diketahui dengan

memasukkan posisi vertex ke persamaan superelipsoidpembentuk tool.

– Vertex-vertex objex ditransformasikan secara proporsionalberdasarkan transformasi tool.

– Vertex-vertex yang berada didalam tool ditransformasikandengan proporsi penuh (persis sama dengan transformasi tool).

– Vertex-vertex yang berada diluar tool ditransformasikan secaraproporsional menggunakan decay function.

– Semakin dekat terhadap tool semakin besar transformasinya.– Bentuk tool yang dapat dibuat terbatas.

Latar Belakang (11)• SAM-IAM

– Contoh hasil sculpting menggunakan SAM-IAM.

Sumber: (Bill dan Lodha, 1994)

Latar Belakang (12)

• Warp Sculpting– Memanfaatkan distance field untuk

melakukan collision detection.– Jarak vertex-vertex objek ke tool ditentukan

dengan menggunakan distance field.– Vertex-vertex objex ditransformasikan secara

proporsional berdasarkan transformasi tool (sama dengan SAM-IAM).

Latar Belakang (13)• Warp Sculpting

– Contoh proses sculpting dengan menggunakan Warp Sculpting:

Sumber: (Gain dan Marais, 2005)

Latar Belakang (14)• Cara transformasi pada SAM-IAM dan Warp Sculpting

sangat beresiko terhadap terjadinya deformasi tidaksesuai perkiraan.

• Pada SAM-IAM masalah ini berusaha dipecahkandengan cara membagi transformasi besar menjadibagian-bagian kecil.

• Namun menurut Zhang dan Leu (Zhang and Leu, 2009)belum ada hasil penelitian yang dapat menentukan ukuran pembagian transformasi dengan tepat.

• Jika pembagiannya terlalu sedikit, deformasi yang tidak sesuai perkiraan akan tetap terjadi.

• Jika pembagiannya terlalu banyak maka komputasi yang diperlukan akan besar dan melambatkan proses, yang ada akhirnya mengurangi keinteraktifan sistem.

Latar Belakang (15)

• Zhang dan Leu (Zhang and Leu, 2009) menerapkan metode yang hampir sama dengan Warp Sculpting pada implicit object, dengan menambahkan level-set method untuk menentukan deformasi.

• Permasalahan self-intersection yang terdapat pada Warp Scultping bisa terpecahkan. Namun, model yang dihasilkan kasar.

Latar Belakang (14)• Pada penelitian ini diusulkan suatu desain dan

mekanisme tool berbasis vector yang diterapkan pada triangle mesh.

Latar Belakang (15)

• Tool dibentuk dari sekumpulan vector-vector searah.

Latar Belakang (14)• Mekanisme collision detection memanfaatkan fungsi ray-

triangle intersection yang terdapat pada Graphics Processing Unit (GPU).

Rumusan Masalah

• Menentukan desain tool yang dapat mendukung komputasi yang minimal, dan dapat digunakan secara intuitif.

• Menentukan mekanisme collision detection yang memerlukan komputasi sesedikit mungkin.

• Menentukan mekanisme deformasi sehingga mekanisme deformasi yang dihasilkan dapat digunakan untuk melakukan manipulasi-manipulasi yang komplek.

Tujuan dan Manfaat Penelitian• Tujuan

– Mengajukan satu metode untuk melakukan virtual sculpting.

• Manfaat– Metode yang diusulkan diharapkan nantinya bisa ditambahkan

pada aplikasi pemodelan 3D, untuk dikombinasikan penggunaannya bersama metode-metode lain yang sesuai, yang mana masing-masing metode mempunyai kelebihannya sendiri-sendiri.

• Kontribusi– Suatu metode virtual sculpting baru.

Triangle Mesh (1)• Triangle mesh merupakan polygon mesh yang mana semua face

pembentuk mesh merupakan polygon berbentuk segitiga.• Polygon mesh merupakan sekumpulan vertex dan edge yang

tersusun sedemikian rupa sehingga membentuk suatu bentuk objek 3D.

• Vertex-vertex dihubungkan oleh edge-edge sehingga membentuk polygon-polygon convex yang disebut face.

• Rangkaian face akan membentuk suatu bentuk objek 3D yang disebut polygon mesh.

Triangle Mesh (2)• Satu contoh triangle mesh berbentuk bola, dan kerangka

pembentuknya.

Model Struktur Data Polygon Mesh (1)

• Face-vertex meshes (FV meshes)

Model Struktur Data Polygon Mesh (2)

• Winged-edge meshes

Model Struktur Data Polygon Mesh (3)

• Render dynamic meshes– Render dynamic meshes merupakan kombinasi

antara FV meshes dan winged-edge meshes.– Render dynamic meshes berisi vertex list dan face list

seperti pada FV meshes, dan edge list seperti pada winged-edge. Namun informasi empat edge yang terhubung ke edge bersangkutan tidak disertakan, sehingga menghemat ruang penyimpanan.

– Dengan face list seperti pada FV meshes, Render dynamic meshes menjadi mudah untuk dirender.

– Dengan informasi edge seperti pada winged-edge, maka perubahan geometri dapat dilakukan dengan lebih mudah.

Ray-Triangle Intersection (1)(Moller dan Trumbore, 1997)

• Suatu sinar dinyatakan dengan dua komponen penting, yaitu letak sumber sinar dan arah sinar.

• Persamaan titik suatu sinar:

tDOtR +=)(– Dimana O adalah vector posisi sumber sinar, D

adalah vector satuan arah sinar, dan t adalahbilangan real positif.

Ray-Triangle Intersection (2)(Moller dan Trumbore, 1997)

• Suatu bidang segitiga dinyatakan sebagai fungsi dari tiga titik sudutnya.

321)1(),( vVuVVvuvuT ++−−=

– dimana V1, V2, dan V3 adalah titik-titik sudut segitiga, dan (u,v) adalah koordinat barisentrik, yang harus memenuhi u ≥ 0, v ≥0, dan u + v ≤ 1

Ray-Triangle Intersection (3)(Moller dan Trumbore, 1997)

• Suatu sinar akan memotong suatu segitigajika ada nilai t, u, dan v yang memenuhipersamaan berikut.

321)1( vVuVVvutDO ++−−=+

Ray-Triangle Intersection (4)(Moller dan Trumbore, 1997)

• Persamaan diselesaikan sebagai berikut.

⎥⎥⎥

⎢⎢⎢

•−×−−•−×

−•−×−

−•−×=

⎥⎥⎥

⎢⎢⎢

DVVVOVOVVD

VVVVVO

VVVVDvut

))()(()())((

)())()((

)())((1

122

113

13121

1213

Jadi:

)())(()())()((

1213

13121

VVVVDVVVVVOt

−•−×−•−×−

=

)())(()())((

1213

113

VVVVDVOVVDu−•−×−•−×

=

)())(())()((

1213

122

VVVVDDVVVOv

−•−ו−×−

=

Decay Function (1)• Decay function digunakan untuk

mentransformasikan vertex-vertex yang berada di sekitar vertex-vertex yang ditransforamsikan secara langsung.

• Decay function dimanfaatkan untuk beberapakeperluan, diantaranya:– untuk menentukan bentuk deformasi (pada SAM-IAM)– untuk membentuk lengkungan halus pada pinggiran

area deformasi (pada Warp Sculpting).

Decay Function (2)• Decay function merupakan fungsi jarak yang

menghasilkan nilai antara 0 sampai 1.• Decay function memberikan proporsi

transformasi tertentu kepada vertex-vertex yang berada disekitar titik transformasi berdasarkan jaraknya ke titik transformasi.

• Setiap decay function mempunyai nilai radius yang dapat ditentukan, yang menentukan berapa jarak terjauh dari titik transformasi yang masih terkena pengaruh transformasi.

Decay Function (3)• Decay function yang digunakan pada SAM-IAM:

⎩⎨⎧

≤→−+=

otherwiserdif

dw rd

02/))sin(1(

)( 2 ππ

⎩⎨⎧

≤→−=

otherwiserdif

dw rd

0)(1

)(2

⎩⎨⎧

≤→−=

otherwiserdif

dw rd

0)1(

)(2

⎩⎨⎧

≤→−=

otherwiserdif

dw rd

01

)(

⎩⎨⎧

→≤→

=otherwise

rdifdw

01

)(

(Goo)

(Bell)

(Cusp)

(Cone)

(Flat)

Decay Function (4)• Decay function yang digunakan pada Warp

Sculpting:

⎩⎨⎧

≤→−=

otherwiserdif

dw rd

0)1)((

)(22

Ide Dasar (1)

• Tool ditusukkan pada objek

Ide Dasar (2)• Sinar dipancarkan dari pangkal vector-vector tool, dengan arah

searah dengan arah tool.• Sinar lalu dipotongkan pada face-face objek.

– Sinar memotong face objek di titik P, yaitu padakoordinat barisentrik (u,v) pada face tersebut.

– Untuk mendapatkan titik P dalam bentuk koordinatkartesian, dibandingdengan menterjemahkan(u, v) menjadi koordinatkartesian (x,y,z), makaakan lebih cepat jika P didapatkan daripersamaan sinar.

tDOP +=

Ide Dasar (3)

• Vector transformasi didapatkan dari potonganvector-vector tool yang berada didalam objek.

)( OPVpVt −−=

– Vt adalah vector transformasi, Vp adalah vector tool, P adalah titik potong sinar dengan face objek, dan Oadalah titik sumber sinar.

Ide Dasar (4)• Vertex-vertex objek yang face nya tertembus vector tool

ditransformasikan dengan menggunakan vector transformasi.

• Untuk menjaga kehalusan lengkungan pingiran area terdeformasi, maka vertex-vertex yang berada di sekitarvertex yang mengalami transformasi ikutditransformasikan dengan menggunakan decay function.

Ide Dasar (5)

• Perhitungan ray-triangle intersection akan dilakukan sebanyak p x l, dimana p adalah jumlah vector tool, dan l adalah jumlah face objek. Jumlah yang besar.

• Kualitas hasil deformasi sangat tergantungdari kerapatan vector-vector tool.

Algoritma Yang Dioptimasi (1)• Pada pangkal tool akan diisi dengan triangular mesh

yang berbentuk segi empat, yang dibentuk dari dua buah face, dimana semua pangkal vector-vector tool berada di dalam wilayahnya.

• Pada bidang segiempat akan dibuat suatu grid, dengan panjang sisi grid merupakan jarak antar vector tool.

• Pada daerah yang merupakan daerah vector tool, satu sel grid mewakili satu vector tool.

• Pada daerah yang bukan merupakan daerah vector tool, setiap selnya akan berisi informasi jarak ke vector tool terdekat, dan vector tool yang mana yang terdekat.

• Informasi jarak ini akan dipergunakan untuk perhitungan decay function.

Algoritma Yang Dioptimasi (2)

– Grid yang terdapat di pangkal tool. Grid berada di dalam area segiempat yang dibentuk dari dua segitiga. Sel yang berwarna hitam adalah sel yang berisi vector tool. Sel yang berwarna putih adalah sel yang tidak berisi vector tool, dan berisi informasi jarak ke vector tool terdekat.

Algoritma Yang Dioptimasi (3)

• Tool ditusukkan ke dalam objek.

Algoritma Yang Dioptimasi (4)• Sinar dipancarkan dari vertex-vertex objek yang berada pada region

of influence (ROI), dengan arah berlawanan dengan arah tool. Sinarlalu dipotongkan dengan segiempat yang berada di pangkal tool.

Algoritma Yang Dioptimasi (5)

• Vector transformasi didapatkan dari potonganvector-vector tool yang berada didalam objek.

)( POVpVt −−=

Algoritma Yang Dioptimasi (6)• Vertex-vertex objek tempat asal sinar yang menembus

grid pada sel yang berisi vector tool ditransformasikandengan menggunakan vector transformasi.

• Vertex-vertex objek tempat asal sinar yang menembusgrid pada sel yang tidak berisi vector tool ditransformasikan dengan menggunakan decay function.

• Nilai decay function dihitung berdasarkan nilai jarak yang tersimpan pada masing-masing sel.

Algoritma Yang Dioptimasi (7)

• Perhitungan ray-triangle intersection akan dilakukan sebanyak 2m, dimana m adalah jumlah vertex objek.

• Dengan penerapan ROI, perhitungan ray-triangle intersection menjadi sebanyak 2n, dimana n adalah jumlah vertex objek yang berada di dalam ROI, dan n ≤ m.

Model Struktur Data (1)• Recursive longest-edge bisection dilakukan tepat setelah

dilakukan transformasi pada vertex-vertex.• Winged-edge meshes sangat mendukung agar proses

ini dapat dilakukan dengan cepat.• Namun face list pada winged-edge meshes tidak

diperlukan, karena pada triangle mesh, informasi semua edge yang membentuk face sudah tersedia pada edge list, mengingat face-face pada triangle mesh hanya dibentuk oleh tiga buah edge.

• Untuk tetap menjaga agar proses perenderan tetap bisa dilakukan dengan efisien, maka face list seperti yang terdapat pada FV meshes harus ada.

Model Struktur Data (2)

Skenario Deformasi(Pushing dan Pulling )

• Operasi Pulling

OPVpVVt −+−= max2

)))max(2()(( VpVVpOPVt −+−−−=

dimana Vmax adalah vector tool terpanjang

Skenario Deformasi(Pushing dan Pulling )

• Jika panjang (P-O) lebih kecil atau samadengan panjang Vp+2(Vmax-Vp), makavertex tidak akan ditransformasikan. Sehingga persamaannya menjadi sebagaiberikut.

⎩⎨⎧

−<−+→−+−=

otherwiseOPVpVVpifOPVpV

Vt0

)max(2max2

Skenario Deformasi(Pushing dan Pulling )

• Pada operasi pulling, dimungkinkan permukaan yang jauh, atau permukaan yang membelakangi tool, yang tidak dimaksudkan oleh pengguna untuk ditransformasi, ikut tertransformasi.

• Hal ini ditanggulangi dengan memanfaatkan ROI, dan dengan tidakmentransformasikan permukaan objekyang membelakangi tool.

Skenario Deformasi(Pushing dan Pulling )

• Permukaan yang membelakangi tool adalahpermukaan yang vector normal vertex-vertex nya membentuk sudut 90<θ<270.

• Dengan kata lain cos(θ)<0.• Cos(θ) dapat dengan cepat dihitung dengan

memanfaatkan fungsi-fungsi vector yang terdapat pada GPU.

VnVpVnVp •

=θcos dimana Vn adalah vector normal vertex.

Skenario Deformasi(Deformasi real-time dan tidak real-time )

• Proses deformasi tidak real-time yang dimaksud di sini adalah, proses deformasi sebenarnya yang dilakukan pada objek,dilakukan setelah pengguna men-submit deformasi.

• Pada proses secara real-time, setiap toolbergerak deformasi langsung dilakukan pada objek.

Skenario Deformasi(Deformasi berdasarkan arah vector normal)

• Pada deformasi berdasarkan arah vector normal vertex, arah vector transformasi ditentukan oleh arah vector normal vertex-vertex objek.

VnVnVt

Vtn =dimana Vtn adalah vector transformasi berdasarkan vector normal vertex objek, dan Vnadalah vector normal vertex objek.

Skenario Deformasi(Pembentukan sudut tajam )

• Disini diajukan suatu cara untuk membentuk sudut yang tajam pada hasil sculpting.

• Sudut tajam pada hasil sculpting di sini didapatkan dengan cara memindahkan vertex yang terdekat dengan titik lintasan tool, ke titik lintasan tersebut.

• Titik lintsan tool ditentukan oleh vector tool terpanjang, atau disebut dengan puncak tool.

• Titik lintasan tool didapatkan dengan cara memotongkan vector tool terpanjang dengan segitiga-segitiga pembentuk permukaan objek. Tempat terjadinya perpotongan antara vector tool terpanjang dengan permukaan objek merupakan titik lintasan tool.

Penanganan undo• Proses undo dilakukan dengan dua cara.• Pertama adalah pembatalan deformasi yang yang

dilakukan terakhir kali.• Proses ini dilakukan dengan cara membuat duplikat

objek sebelum objek dideformasi.• Jika pengguna membatalkan deformasi, maka objek

akan dikembalikan seperti sebelum dilakukan deformasi dengan cara menjadikan duplikat objek menjadi objek.

• Duplikat objek tidak dapat dibuat dengan banyak, karena akan menghabiskan memori.

• Karena itu, proses pembatalan untuk beberapa langkah ke belakang tidak dapat dilakukan dengan cara ini.

Penanganan undo• Pembatalan untuk beberapa langkah ke

belakang dilakukan dengan cara kedua.• Salinan-salinan objek disimpan pada media

penyimpanan dalam bentuk file.• Proses penyimpanan dalam bentuk file cukup

memakan waktu.• Penyimpanan tidak dilakukan pada setiap

dilakukannya deformasi.• Penyimpanan dilakukan pada setiap beberapa

deformasi, atau pada saat user ingin melakukannya.

Implementasi

• Sistem dibangun dengan menggunakan compiler Microsoft Visual C++ 6.0, dangraphics library Microsoft Direct3D.

Blok Diagram Sistem• Objek 3D yang diolah

melalui proses sculptingbisa berupa objek 3D yang sudah ada, atau berupa objek 3D sederhana yang dibuat oleh sistem.

• Hasil dari proses sculptingadalah objek 3D denganbentuk baru.

• Tool yang digunakan pada proses sculptingbisa dibuat dari objek 3D, gambar sketsa, dan formula.

Proses Sculpting

Proses deformasi

Collision detection menggunakan fungsi Ray-

Triangle Intersection

Mendapatkan vector transformasi dari potongan vector tool yang berada di

dalam objek

Transformasi vertex-vertex berdasarkan vector-vector transformasi dan Decay

Function

Penyesuaian kerapatan vertex

Menggunakan Recursicve Longest-Edge Bisection dan

Shortest-Edge Colapse

Penentuan ROI

Formula(Persamaan

bentuk sederhana,

seperti persamaan

elipsoid, bola, dan kotak)

Gambar Sketsa

Objek 3D

Pembuatan Tool

Pembuatan tool dari formula. Panjang vector-vector tool didapatkan dengan

menggunakan formula.

Pembuatan tool dari gambar sketsa. Panjang vector-vector tool didapatkan dari

nilai gray scale image.

Pembuatan tool dari objek 3D dengan cara memancarkan sampel sinar dari

sebuah bidang datar ke permukaan objek. Panjang vector-vector tool didapatkan dari

jarak sumber sinar ke titik potong sinar dengan permukaan objek

Tool Berbasis Vector

Objek 3D bahan sculpting

Open Object(membuka objek 3D yang sudah

ada)

Create Object(membuat objek 3D sederhana seperti bola,

kotak dan bidang datar)

Objek 3D hasil sculpting

Implementasi(Penyimpanan objek)

• Sistem memberikan fasilitas untuk menyimpan objek dalam bentuk file .x dan file .ply.

• File .x merupakan format standar penyimpanan mesh yang digunakan pada Direct3D.

• File .ply merupakan format penyimpanan triangle mesh yang dikembangkan oleh Stanford University.

Implementasi(Pembuatan objek dasar )

• Objek dasar yang dapat dibuat : bidang segi empat, kotak, bola, silinder dan torus (bentuk donat).

• Sistem memberikan fasilitas untuk membuka objek dari file dengan format .x dan .ply.

Implementasi(Manipulasi tool )

• Menu untuk melakukan manipulasi tool:

Implementasi(Penyimpanan tool)

• Tool disimpan dengan cara menyimpandata-data utama tool ke dalam file binary.

• Data-data yang dapat di-generate daridata utama tidak ikut disimpan.

• Pada awal file, diberi suatu penanda untukmanandai bahwa file tersebut adalah file tool untuk aplikasi virtual sculpting ini.

Implementasi(Penanganan pergerakan tool )

• Ada dua cara yang dipakai untuk mengontrolpergerakan tool.

• Cara pertama dengan menggerakkan tool secara langsung berdasarkan pergerakanmouse. (Memanfaatkan class CD3DarcBall yang disediakan DirectX 9.0 SDK)

• Cara kedua dengan menggerakkan tool berdasarkan titik sentuh cursor mouse padaobjek.

Implementasi(Skenario deformasi )

• Ada sembilan tipe sekenario deformasi.

Implementasi(Skenario deformasi )

• Tipe 1 dan 2 adalah untuk melakukan deformasi secara tidak real-time.

• Tipe 1 untuk operasi pushing dan tipe 2 untuk operasi pulling.

• Tipe 3 dan 4 adalah untuk melakukan deformasi secara real-time.

• Tipe 3 untuk operasi pushing, dan tipe 4 untuk operasi pulling.

• Tipe 5 sampai 8 adalah melakukan hal yang sama dengan tipe 1 sampai 4, namun deformasinya berdasarkan vector normal vertex-vertex objek.

• Tipe 9 untuk membentuk sudut tajam pada permukaan objek.

Hasil(Pembentukan tool )

• Tool yang dibuat dengan menggunakan formulayaitu bentuk kotak, elipsoid, dan vector tunggal.

Hasil(Pembentukan tool )

• Tool yang dibuat dengan menggunakan gambar sketsa.

Hasil(Pembentukan tool )

• Tool yang dibuat dengan menggunakan gambar sketsa. Bentuk yang sederhana dan bentuk yang rumit.

Hasil(Pembentukan tool )

• Tool yang dibuat dengan menggunakan gambar sketsa. Nilai grayscale pixel menentukan bentuk tool.

Hasil(Pembentukan tool )

• Tool yang dibentuk dari objek 3D.

Hasil(Pembentukan tool )

• Tool yang dibentuk dari objek 3D. Perbedaan posisi grid terhadap objek, menghasilkan bentuk tool yang berbeda.

Hasil(Penerapan decay function )

• Pada dasarnya, decay function digunakan untuk membuat lengkungan halus pada pinggiran wilayah terdeformasi.

• Namun pada penggunaan tool vector tunggal, yaitu tool yang hanya dibentuk oleh sebuah vector, decay function menentukan bentuk hasil deformasi.

Hasil(Penerapan decay function)

• Berbagai bentuk lengkungan halus pada pinggirandaerah terdeformasi yang dihasilkan oleh decay function berbeda.

Hasil(Skenario deformasi)

• Pushing

Hasil(Skenario deformasi)

• Pushing

Hasil(Skenario deformasi)

• Pulling

Hasil(Skenario deformasi)

• Pulling

Hasil(Skenario deformasi)

• Deformasi real-time:Ketika tool bergerak, permukaan objek yang dilintasi tool semuanya terdeformasi.

Hasil(Skenario deformasi)

• Deformasi tidak real-time:Ketika tool bergerak, deformasi berdasarkan posisi tool sebelumnyadibatalkan. Selanjutnya, deformasi kembali dilakukan berdasarkanposisi tool terakhir. Ketika pengguna men-submit deformasi, barulahdeformasi dibuat permanen.

Hasil(Skenario deformasi )

• Deformasi berdasarkan arah vector normal.Perbedaan hasil deformasi tidak berdasarkan arah vector normal dengan hasil deformasi berdasarkan arah vector normal.(a): Hasil deformasi tidak berdasarkan arah vector normal.(b): Hasil deformasi berdasarkan arah vector normal. Terlihat deformasiyang dihasilkan mengikuti lengkungan permukaan objek.

(a) (b)

Hasil(Skenario deformasi)

• Pembentukan sudut tajam.Terlihat sudut tajam yang dihasilkan di beberapa bagian masih kurang rapi. Ini menandakan bahwa algoritma untuk membentuk sudut tajam yang diajukan di sini masih kurang baik.

Hasil(Skenario deformasi)

• Pembentukan sudut tajam.Gambar memperlihatkan kerangka objek. Terlihat terdapat face-face yangtumpang tindih. Hal ini menunjukkan terjadinya self-intersection.Algoritma untuk membentuk sudut tajam yang diajukan masih perludiperbaiki.

Hasil(Kecepatan deformasi )

• Kecepatan deformasi diukur pada lingkungan notebook dengan sistem operasi Microsoft Windows XP, proccessor Pentium DualCore 2.0GHz, RAM 1GB, dan GPU Intel GMA4500 dengan memori share.Tabel menunjukkan waktu dan kecepatan deformasi berdasarkan jumlah vertex yang berada di dalam ROI.

4.57 – 8.00125 – 21950000

5.85 – 9.09110 – 17140000

7.09 – 12.82 78 – 14130000

16.13 – 21.2815 – 3220000

31.25 – 66.6715 – 3210000

62.50 – >1000< 1 – 16< 5000

Rentang kecepatan deformasi (kali/detik)

Rentang waktu deformasi

(milidetik)

Jumlah vertex objek di dalam ROI

Hasil(Kemampuan Pemodelan Sistem )

• Objek berbentuk relief dinding. Objek dihasilkan dari bentuk dasar berupa bidang segiempat. Relief dibentuk dengan menggunakan beberapa tooldengan berbagai bentuk, yang dihasilkan dari gambar. Objek dapat dibuat dalam waktu sekitar 10 menit.

Hasil(Kemampuan Pemodelan Sistem )

• Objek berbentuk kepala, yang dihasilkan dari objek dasar berbentuk bola. Objek dibuat dalam waktu kurang dari satu jam oleh tester yang belum berpengalaman menggunakan sistem.

Hasil(Kemampuan Pemodelan Sistem )

Hasil(Kemampuan Pemodelan Sistem )

• Objek berbentuk burung yang dihasilkan dari objek dasar berbentuk bola.

Hasil(Kemampuan Pemodelan Sistem )

Kesimpulan• Suatu sistem virtual sculpting telah dibangun dengan

menggunakan metode yang diajukan. Penggunaan fungsi ray-triangle intersection yang terdapat pada GPU memungkinkan komputasi dapat dilakukan dengan cepat. Desain tool yang diajukan memungkinkan dibentuknya tool dengan berbagai bentuk. Dari model –model yang telah dihasilkan sistem, dapat dilihat bahwa kemampuan pemodelan sistem cukup menjanjikan. Dengan kecepatan deformasi yang dihasilkan, pemodelan dapat dilakukan secara real-time. Karakteristik tool yang mirip dengan karakteristik toolpada kehidupan nyata, menyebabkan pemodelan dapat dilakukan secara intuitif.

Saran• Penggunaan mouse standar dengan 2 degree of freedom (DOF)

cukup menyulitkan dalam pemodelan 3D. Kesulitan ini cukup membatasi kreatifitas pengguna. Untuk mengetahui kemampuan pemodelan sistem dengan lebih jelas, kedepannya dirasa perlu untuk melakukan uji coba sistem dengan menggunakan alat input 6DOF, pada sistem komputer yang memang diperuntukkan untuk melakukan komputasi grafis.

Saran• Model tool yang diajukan, dengan operasi pushing-nya memiliki

karakterisitik yang mirip dengan mata bor pada carving machine. Sehingga kedepannya, dimungkinkan untuk melakukan koneksi sistem dengan suatu carving machine. Dengan begitu, akan tercipta suatu sistem pemodelan yang mempunyai kemampuan untuk mencetak model dengan bahan dari kayu.

Daftar Pustaka(1)

• Sederberg, T. dan Parry, S. (1986), Free-Form Deformation of Solid Geometric Models, Computer Graphics (Proc. ACM SIGGRAPH ’86), vol. 20, no 4, hal.161-171.

• Hsu, W.M., Huges, J.F., dan Kaufman, H. (1992), Direct Manipulation of Free-Form Deformation, Computer Graphics (Proc. ACM SIGGRAPH 92), vol. 26, no. 2, hal. 177-184.

• Hilton, T.L. dan Egbert, P.K. (1994), Vector Fields: An Interactive Tool for Animation, Modeling and Simulation with Physically Based 3D Particle System and Soft Objects, Computer Graphics Forum (Proc. Eurographics 94), vol. 13, no. 3, hal. 329-338.

• Bill, J.R dan Lodha, S. (1994), Computer Sculpting of Polygonal Models using Virtual Tools, Technical Report UCSC-CRL-94-27, Baskin Center for Computer Engineering and Information Sciences,University of California, Santa Cruz, US.

• Moller, T. dan Trumbore, B. (1997), Fast, Minimum Storage Ray-Triangle Intersection, Journal of Graphics Tools, vol.2, No. 1, hal. 21-28.

Daftar Pustaka(2)

• Duchaineau, M. Dkk. (1997), ROAMing Terrain: Real-time Optimally Adapting Meshes, IEEE visualization ’97. hal. 81-88

• Singh, K. dan Fiume, E. (1998), Wires: A Geometric Deformation Technique, Proc. ACM SIGGRAPH ‘98, hal. 405-414.

• Gain, J. dan Marais, P. (2005), Warp Sculpting, IEEE Transaction on Visualitation and Computer Graphics, vol. 11, no. 2, hal. 217-227.

• Kil, Y.J., dkk. (2006), 3D Warp Brush Modeling, Computer & Graphics 30, hal. 610-618.

• Zhang, W. and Leu, M.C. (2009), A Spatial Warping Method for Freeform Modeling Based on a Level-set Method, Computer-Aided Design, 41, p. 765-771.

Sekian dan Terima Kasih