th3813 12 kawalan perincian & skrip
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