th3813 12 kawalan perincian & skrip

4
TH3813 12 VRML 10 © Dr. Shahrul Azman Mohd Noah [email protected] 1 TH3813 Realiti Maya Kawalan keterperincian & Penskriptan TH3813 12 VRML 10 © Dr. Shahrul Azman Mohd Noah [email protected] 2 Kawalan keterperincian TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd Noah [email protected] 3 Latar belakang Lebih ke dalam pemerhati melihat, lebih banyak yang perlu dilukis Jika bentuk pada jarak yang jauh: Bentuk lebih kecil Pemerhati tidak akan melihat dengan lebih detail Oleh itu … pelukisan tidak terlalu terperinci Variasi dengan jarak – kurangkan masa download, dan tingkatkan kelajuan melukis TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd Noah [email protected] 4 Contoh [prox1.wrl] TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd Noah [email protected] 5 Penghasilan pelbagai versi bentuk Untuk mengawal keterperincian, modelkan bentuk yang sama beberapa kali Keterperincian tinggi – jika pemerhati sangat hampir Keterperincian sederhana – jika pemerhati hampir Keterperincian rendah – jika pemerhati jauh Lazimnya, 3 atau 3 versi berlainan objek sudah memadai TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd Noah [email protected] 6 Pengawalan keterperincian Kumpulkan versi bentuk sebagai paras (level) dalam nod pengumpulan LOD LOD ialah akronim bagi Level of Detail Senaraikan daripada tinggi hingga rendah

Upload: masyarah-zulhaida

Post on 03-Aug-2015

51 views

Category:

Documents


5 download

TRANSCRIPT

1

TH3813 12 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 1

TH3813 Realiti MayaKawalan keterperincian & Penskriptan

TH3813 12 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 2

Kawalan keterperincian

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 3

Latar belakangLebih ke dalam pemerhati melihat, lebih banyak yang perlu dilukisJika bentuk pada jarak yang jauh:

Bentuk lebih kecilPemerhati tidak akan melihat dengan lebih detailOleh itu … pelukisan tidak terlalu terperinci

Variasi dengan jarak – kurangkan masa download, dan tingkatkan kelajuan melukis

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 4

Contoh

[prox1.wrl]

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 5

Penghasilan pelbagai versi bentuk Untuk mengawal keterperincian, modelkan bentuk yang sama beberapa kali

Keterperincian tinggi – jika pemerhati sangat hampirKeterperincian sederhana – jika pemerhati hampir Keterperincian rendah – jika pemerhati jauh

Lazimnya, 3 atau 3 versi berlainan objek sudah memadai

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 6

Pengawalan keterperincianKumpulkan versi bentuk sebagai paras (level) dalam nod pengumpulan LOD

LOD ialah akronim bagi Level of DetailSenaraikan daripada tinggi hingga rendah

2

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 7

Sintaks: LODNod pengumpulan LOD hasilkan sekumpulan bentuk yang mendeskripsikan paras (versi) berbeza untuk bentuk yang sama

center – pusat bentukrange – senarai julat paras switchlevel – senarai paras bentuk

LOD {center 0.0 0.0 0.0range [ . . . ]level [ . . . ]

}

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 8

Pemilihan julat keterperincianGunakan senarai julat untuk paras titik suis

Jika ada 3 paras, perlu 2 julatJulat adalah hint kepada browser

range [ 5.0, 10.0 ]shapecenter 5.0 10.0

Viewer <= 5.0Show 1st level

||

Viewer <= 10.0Show 2nd level

||

Viewer > 10.0Show 3rd level

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 9

Pengoptimuman bentukProsedur yang dicadangkan untuk menghasilkan paras berbeza

Hasilkan bentuk dengan keterperincian yang tinggi dahuluSalinkan untuk menghasilkan bentuk dengan keterperincian yang sederhanaAnjakkan bentuk dengan keterperincian sederhana ke jarak suis yang sesuaiPadamkan bahagian yang tidak dominanUlang semula untuk paras yang lebih rendah

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 10

Contoh paras keteperincian

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 11

Contoh LODLOD {

center 0.0 0.0 0.0range [ 7.0, 10.0 ]level [

Inline { url “torch1.wrl”}Inline {url “torch2.wrl”}Inline {url “torch3.wrl”}

]}

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 12

Contoh LOD

3

TH3813 12 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 13

Pengenalan penggunaan skrip

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 14

Latar belakangBanyak tindakan yang terlalu kompleks dengan menggunakan nod animasi

Laluan animasi berkomputer (cth. Graviti)Bentuk algoritma (cth. Fractal)Persekitaran kolaboratif (cth. Permainan)

Boleh hasilakn pengesan baru, interpolasi, dll, dengan menggunakan program skrip:

JavaJavaScriptVRMLscript

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 15

Sintaks: ScriptNod Script pilih program skrip untuk dilarikan:

url – pilihan program skripDEF Bouncer Script {

url “bouncer.class”atau …..

url “bouncer.js”atau …..

url “javascript: ….. “atau …..

url “vrmlscript: …..”}

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 16

Mendefinisikan antaramuka program skrip

Nod Script juga terangkan antaramuka program skrip

field, eventIn, dan eventOut – input dan outputSetiap satu mempunyai nama dan jenis dataMedan mempunyai nilai awal

DEF Bouncer Script {field SFFloat bounceHeight 3.0eventIn SFFloat set_fractioneventOut SFVec3f value_changed

}

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 17

Jenis Data

Jenis Data MaknaSFBool Boolean, true or false value

SFColor, MFColor RGB color value

SFFloat, MFFloat Floating point value

SFImage Image value

SFInt32, MFInt32 Integer value

SFNode, MFNode Node valueSFRotation, MFRotation Rotation value

SFString, MFString Text string value

SFTime Time value

SFVec2f, MFVec2f XY floating point value

SFVec3f, MFVec3f XYZ floating point value

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 18

Contoh penggunaan program skripDEF Clock TimeSensor { . . . } DEF Ball Transform { . . . } DEF Bouncer Script {

field SFFloat bounceHeight 3.0 eventIn SFFloat set_fraction eventOut SFVec3f value_changed url "vrmlscript: . . ."

}ROUTE Clock.fraction_changed TO Bouncer.set_fractionROUTE Bouncer.value_changed TO Ball.set_translation

4

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 19

Contoh yang menggunakan skrip

[ bounce1.wrl ]

TH3813 11 VRML 10 © Dr. Shahrul Azman Mohd [email protected] 20

Contoh