Th3813 04 membina objek maya
-
Upload
masyarah-zulhaida -
Category
Documents
-
view
41 -
download
8
Transcript of Th3813 04 membina objek maya
1
1
TH3813 Realiti MayaMembina Objek
2
Membina Dunia VRML
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 3
Teknik asasuntuk bangunkan sebuah dunia VRML, bina dahulu cebisan- cebisan objek dalam satu fail, seperti dinding, tiang dan syilingkemudian guna nod Inline untuk gabungkan kesemuanya menjadi satu scene yang lengkap
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 4
Struktur asas VRMLFail VRML mengandungi
header failkomen - nota penerangan nod - maklumat tentang scenemedan(field) -attribut bagi nodnilai (values) - nilai bagi attributdan lain-lain
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 5
Contoh fail VRML#VRML V2.0 utf8# A cylinderShape {
appearance Appearance {material Material { }
}geometry Cylinder {
height 2.0radius 1.5
}}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 6
Memahami header#VRML v2.0 utf8
#VRML: Fail mengandungi teks VRMLv2.0: Teks mematuhi sintaks versi 2.0utf8: Teks gunakan set rentetan UTF8
2
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 7
Memahamai utf8utf8 ialah set rentetan piawai antarabangsautf8 merujuk kepada:
UCS (Universal Character Set) Transformation, 8-bit
Kodkan 24,000+ abjad untuk pelbagai bahasaASCII ialah salah satu subset
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 8
Penggunaan komen# A Cylinder
Komen bermula dengan tanda (#) sehingga di akhir baris tersebut
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 9
Penggunaan nodCylinder {
}Nod deskripsikan bentuk (shapes), cahaya (lights), bunyi (sound), dll.Setipa nod mempunyai:
jenis nod (Shape, Cylinder, dll)sepasang { }tiada atau beberapa medan di dalam { }
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 10
Penggunaan name jenis nodNama jenis nod adalah case sensitive
setiap perkataan bermula dengan abjad berhuruf besarabjad berikutnya berhuruf kecil
Contoh:Appearance ElevationGridCylinder FontStyleMaterial ImageTextureShape IndexedFaceSet
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 11
Penggunaan medan dan nilaiCylinder {
height 2.0radius 1.5
}Medan(fields) jelaskan atribut bagi nodSetiap medan mengandungi:
nama medan (height, radius, dll)jenis medan (float, integer, dll)nilai default TH3813 04 VRML 2
Okt/Nov 2000© Dr. Shahrul Azman Mohd Noah
Penggunaan nama medanNama medan adalah case sensitive
perkataan pertama bermula dengan abjad berhuruf kecilsetiap tambahan perkataan bermula dengan abjad berhuruf besarperkataan seterusnya berhuruf kecil
Contoh: appearance coordIndexheight diffuseColormaterial fontStyleradius textureTransform
3
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 13
Penggunaan medan dan nilaiNod berbeza mempunyai medan berbezaMedan adalah optional
nilai default akan diumpukkan jika medan tidak diberikan
Medan boleh disenaraikan dalam sebarang urutan
susunan tidak memberi kesan kepada nod
14
Membina Bentuk Asas
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 15
Contoh
prim.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 16
Sintaks: Bentuk (Shape)Nod Shape membina satu bentuk
appearance - warna dan teksturgeometry - struktur
Shape {appearance …..geometry …..
}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 17
Menspesifikasikan appearanceAppearance bentuk dideskripsikan oleh nod appearance
Shape {appearance Appearance {
material Material { }}geometry
}TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 18
Penspesifikasian geometryBentuk geometry dibina dengan nod geometry
Box {. . . }Cone {. . . }Cylinder {. . . }Sphere {. . . }Text {. . . }
Medan nod geometri mengawal deimensidimensi biasanya dalam meter
4
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 19
Sintaks: BoxNod geometri Box membina sebuah kotak
size - lebar, tinggi dan kedalaman
Shape {appearance Appearance {
material Material { }}geometry Box {
size 2.0 2.0 2.0}
}box.wrlTH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 20
Sintaks: ConeNod geometri Cone bina sebuah kon (upright)
height dan bottomRadius - saiz siliderbottom dan side - bahagian yang boleh ada/tiada
Shape {appearance Appearance {
material Material { }}geometry Cone {
height 2.0bottomRadius 1.0bottom TRUEside TRUE
}}
cone.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 21
Sintaks: CylinderNod geometri Cylinder membina sebua silinder (upright)
height dan radius - saiz silinderbottom, top dan side - bahagian yang boleh ada/tiada Shape {
appearance Appearance {material Material { }
}geometry Cone {
height 2.0bottomRadius 1.0bottom TRUEside TRUE
}}
cyl.wrlTH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 22
Sintaks: SphereNod geometri membina sebuah sfera
radius - jejari bagi sfera
Shape {appearance Appearance {
material Material { }}geometry Sphere {
radius 12.0}
}sphere.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 23
Sintaks: TextNod geometri Text membina teks
string - teks yang hendak dibinafontStyle - kawalan jenis font
Shape {appearance Appearance {
material Material { }}geometry Text {
string [“Text”,“Shape”]
fontStyle FontStyle {style “BOLD”
}}
}text.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 24
Sintaks: FontStyleNod FontStyle deskripsikan jenis font
family - SERIF, SANS atau TYPEWRITERstyle - BOLD, ITALIC, BOLDITALIC, atau PLAIN
Shape {appearance Appearance {
material Material { }}geometry Text {
string ….fontStyle FontStyle {
family “SERIF”style “BOLD”
}}
}textfont.wrl
5
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 25
Lain-lain FontStyle
- justify - FIRST, BEGIN, MIDDLEatau END
Shape {appearance Appearance {
material Material { }}geometry Text {
string ….fontStyle FontStyle {
justify “BEGIN”}
}}
textjust.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 26
Lain-lain FontStyle- horizontal - mendatar atau menegak
- leftToRight dan topToBottom - arah
Shape {appearance Appearance {
material Material { }}geometry Text {
string ….fontStyle FontStyle {
horizontal FALSEleftToRight TRUEtopToBottom TRUE
}}
}
textvert.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 27
Lain-lain FontStyle- size - saiz character
- spacing - jarak baris/lajur
Shape {appearance Appearance {
material Material { }}geometry Text {
string ….fontStyle FontStyle {
size 1.0 spacing 1.0
}}
}
textsize.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 28
Contoh: bentuk asas#VRML V2.0 utf8.# A CylinderShape {
appearance Appearance {material Material { }
}geometry Cylinder {
height 2.0radius 1.5
}}
cylinder.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 29
Membina pelbagai bentukBentuk di bina pada pusat duniaSatu fail VRML boleh megandungi pelbagai bentukBentuk akan bertindih jika di bina pada lokasi yang sama
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 30
Contoh fail VRML dengan pelbagai bentuk#VRML V2.0 utf8 Shape {
appearance Appearance { material Material { }
} geometry Box {
size 1.0 1.0 1.0 }
}
Shape { appearance Appearance {
material Material { } } geometry Sphere {
radius 0.7 }
} . . .
6
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 31
Contoh fail dengan pelbagai bentuk
space.wrl
32
Transformasi Bentuk
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 33
Transformasi bentuksecara default, semua bentuk dibina pada pusat dunia/persekitarantransformasi memebolekan bentuk di:
translasi/anjakan (translation)putar (rotation)skala (scale)
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 34
Contoh transformasi
towers.wrl
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 35
Sistem ko-ordinatfail VRML bina komponen untuk dunia/persekitarankomponen di bina dalam fail sistem ko- ordinat persekitaran/duniasecara default, semua bentuk di bina pada asalan satu sistem ko- ordinat
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 36
Gambaran sistem ko-ordinat
bentuk mudah padapaksi XYZ
bentuk kompleks padapaksi XYZ
7
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 37
Transformasi sistem ko-ordinatsatu transformasi bina satu sistem ko- ordinat yang:
ditranslasidiputardiskala
berdasarkan kepada sistem ko- ordinat asalbentuk yang terbina dalam sistem ko- ordinat baru ditranslasi, diputar dan diskala bersama- sama
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 38
Sintaks: Transformasinod kumpulan Transform bina kumpulan bersama dengan sistem ko- ordinatnya
translation - translasi/anjakanrotation - putaran/orientasiscale - saizchildren - bentuk yang dibina
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 39
Sintaks: transformasiTransform {
translation . . .rotation . . .scale . . . children [ . . . ]
}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 40
Memasukkan childrenmedan children merangkumi senarai satu atau lebih nodTransform {
. . . children [
Shape { . . . }Shape { . . . }Transform { . . . }. . .
]}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 41
Translasitranslasi posisikan satu sistem ko- ordinat dalam X, Y dan Z
Transform {# X Y Ztranslation 2.0 0.0 0.0children [ . . . ]
}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 42
translation (3, 2)
tx = x2 - x1ty = y2 - y1
in VRML: translate -2 1 1
translation (-2, 1, 1)
tx = x2 - x1ty = y2 - y1tz = z2 - z1
x
y
(1,2)(4,4)P1
P2
P1
P2
(1,1,0)
x
y
(-1,2,1)
Translasi
8
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 43
Contoh translasi
sistem ko-ordinat dunia/persekitaran
sistem ko-ordinat baru di translasikan 2 unit pada X
bentuk dibina pada sistem ko-ordinat baru
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 44
Putaran (rotation)putaran orientasikan sistem ko- ordinat pada paksi putaran oleh satu sudut putaransudut putaran dalam bentuk radianradian = darjah /180 * π, di mana π = 3.1415927
Transform {# X Y Z Sudutrotation 0.0 0.0 1.0 0.52children [ . . . ]
}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 45
Penentuan paksi putaranpaksi putaran tentukan kutub untuk berputarputaran lazimnya pada paksi X, Y atau Zputaran dihasilkan berdasarkan kepada paksi
Rx -- putaran di sekitar paksi x (1 0 0)Ry -- putaran di sekitar paksi y (0 1 0)Rz -- putaran di sekitar paksi z (0 0 1)
R - - putaran pada mana- mana paksi ?
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 46
Putaran
x
y
zRx
RRy
Rz
sudut radian
0 0.010 0.17545 0.78590 1.571180 3.142270 4.712360 6.283
dalam VRML
putaran 1 0 0 1.57
paksi x radian
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 47
Contoh putaran
sistem ko-ordinat dunia/persekitaran
sistem ko-ordinat baru diputarkan 300
pada paksi Z
bentuk di bina pada sistem ko-ordinat baru
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 48
Putaranradian = darjah * 3.142 / 180darjah = radian * 180 / 3.142
+ putaran -- mengikut arah lawanputaran jam
-- petua tangan kanan- putaran -- mengikut arah putaran jam
-- petua tangan kiri
9
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 49
PutaranPutaran sentiasa merujuk kepada asalannyaJika satu objek tidak terletak pada kedudukan asalan:
trasnslasikan ke kedudukan asalanputarkan iatranslasikan semula ke kedudukan asalnya
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 50
Penskalaan (scaling)penskalaan besar atau kecilkan satu sistem koordinat dengan faktor penskalaan x, y dan z
Transform {# X Y Zscale 0.5 0.5 0.5children [ . . . ]
}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 51
Penskalaan
Sistem koordinat dunia/persekitaran
Sistem koordinat baru diskalakan menjadi separuh
Bentuk yang dibinadalam sistem ko-ordinat baru
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 52
Penskalaanpenskalaan sentiasa merujuk kepada asalanjika satu objek tidak terletak pada asalan
translasikan ke asalanskalakan iatranslasikan semula ke kedudukan asalnya
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 53
Transformasi (putaran, penskalaan dan translasi)
skala, putar dan translasi sistem ko- ordinat satu demi satu
Transform {translation 2.0 0.0 0.0rotation 0.0 0.0 1.0 0.52scale 0.5 0.5 0.5children [ . . . ]
}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 54
Transformasi (putaran,penskalaan dan translasi)
jujukan transformasijujukan transformasi adalah pentingtransformasi terkini dilaksanakan (children) dahulu kemudian transformasi bapajujukan transformasi dalam satu Transform adalah tetap
skala ---> putar ---> translasi
10
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 55
Transformasi (putaran,penskalaan dan translasi)
Bagaimanakah objek iniditransformasikan ?
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 56
Contoh kumpulan transformasiTransform
translation -2.0 3.0 0.0children [
Shape {appearance Appearance {
material Material { }}geometry Cylinder {
radius 0.3height 6.0top FALSE
}}
]}
TH3813 04 VRML 2Okt/Nov 2000
© Dr. Shahrul Azman Mohd [email protected] 57
Contoh transformasi
arch.wrl arches.wrl