More Related Content
More from Masyarah Zulhaida (6)
Th3813 04 membina objek maya
- 1. TH3813 Realiti Maya
Membina Objek
Membina Dunia VRML
1
Teknik asas
Struktur asas VRML
untuk bangunkan sebuah dunia VRML, bina
dahulu cebisan cebisan objek dalam satu fail,
seperti dinding, tiang dan syiling
kemudian guna nod Inline untuk gabungkan
kesemuanya menjadi satu scene yang lengkap
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
Fail VRML mengandungi
header fail
komen - nota penerangan
nod - maklumat tentang scene
medan(field) -attribut bagi nod
nilai (values) - nilai bagi attribut
dan lain-lain
3
Contoh fail VRML
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
4
Memahami header
#VRML V2.0 utf8
# A cylinder
Shape {
appearance Appearance {
material Material { }
}
geometry Cylinder {
height 2.0
radius 1.5
}
}
TH3813 04 VRML 2
Okt/Nov 2000
2
#VRML v2.0 utf8
#VRML: Fail mengandungi teks VRML
v2.0: Teks mematuhi sintaks versi 2.0
utf8: Teks gunakan set rentetan UTF8
5
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
6
1
- 2. Memahamai utf8
Penggunaan komen
utf8 ialah set rentetan piawai antarabangsa
utf8 merujuk kepada:
# A Cylinder
Komen bermula dengan tanda (#) sehingga di
akhir baris tersebut
UCS (Universal Character Set) Transformation, 8bit
Kodkan 24,000+ abjad untuk pelbagai bahasa
ASCII ialah salah satu subset
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
7
Penggunaan nod
setiap perkataan bermula dengan abjad berhuruf
besar
abjad berikutnya berhuruf kecil
Contoh:
Appearance
Cylinder
Material
Shape
9
Penggunaan medan dan nilai
Okt/Nov 2000
samn@ftsm.ukm.my
TH3813 04 VRML 2
Okt/Nov 2000
ElevationGrid
FontStyle
ImageTexture
IndexedFaceSet
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
10
Penggunaan nama medan
Cylinder {
height
2.0
radius
1.5
}
Medan(fields) jelaskan atribut bagi nod
Setiap medan mengandungi:
nama medan (height, radius, dll)
jenis medan (float, integer, dll)
TH3813 04 nilai2default
VRML
© Dr. Shahrul Azman Mohd Noah
8
Nama jenis nod adalah case sensitive
jenis nod (Shape, Cylinder, dll)
sepasang { }
tiada atau beberapa medan di dalam { }
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
Penggunaan name jenis nod
Cylinder {
}
Nod deskripsikan bentuk (shapes), cahaya
(lights), bunyi (sound), dll.
Setipa nod mempunyai:
TH3813 04 VRML 2
Okt/Nov 2000
TH3813 04 VRML 2
Okt/Nov 2000
Nama medan adalah case sensitive
perkataan pertama bermula dengan abjad berhuruf
kecil
setiap tambahan perkataan bermula dengan abjad
berhuruf besar
perkataan seterusnya berhuruf kecil
Contoh:
11
TH3813 04 VRML 2
Okt/Nov 2000
appearance
coordIndex
height
material
radius
diffuseColor
fontStyle
textureTransform
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
12
2
- 3. Penggunaan medan dan nilai
Nod berbeza mempunyai medan berbeza
Medan adalah optional
nilai default akan diumpukkan jika medan tidak
diberikan
Membina Bentuk Asas
Medan boleh disenaraikan dalam sebarang
urutan
susunan tidak memberi kesan kepada nod
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
14
13
Contoh
Sintaks: Bentuk (Shape)
Nod Shape membina satu bentuk
appearance - warna dan tekstur
geometry - struktur
Shape {
appearance …..
geometry …..
}
prim.wrl
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
15
Menspesifikasikan appearance
16
Bentuk geometry dibina dengan nod geometry
Box
Cone
Cylinder
Sphere
Text
Shape {
appearance Appearance {
material Material { }
}
geometry
}
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
Penspesifikasian geometry
Appearance bentuk dideskripsikan oleh nod
appearance
TH3813 04 VRML 2
Okt/Nov 2000
TH3813 04 VRML 2
Okt/Nov 2000
{. . . }
{. . . }
{. . . }
{. . . }
{. . . }
Medan nod geometri mengawal deimensi
dimensi biasanya dalam meter
17
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
18
3
- 4. Sintaks: Box
Sintaks: Cone
Nod geometri Box membina sebuah kotak
Nod geometri Cone bina sebuah kon (upright)
size - lebar, tinggi dan kedalaman
height dan bottomRadius - saiz silider
bottom dan side - bahagian yang boleh ada/tiada
Shape {
appearance Appearance {
material Material { }
}
geometry Box {
size 2.0 2.0 2.0
}
}
box.wrl
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
cone.wrl
19
Sintaks: Cylinder
TH3813 04 VRML 2
Okt/Nov 2000
Nod geometri membina sebuah sfera
radius - jejari bagi sfera
height dan radius - saiz silinder
bottom, top dan side - bahagian yang boleh
Shape {
ada/tiada
appearance Appearance {
material Material { }
}
geometry Cone {
height 2.0
bottomRadius 1.0
bottom TRUE
side TRUE
© Dr. Shahrul Azman Mohd Noah }
21
samn@ftsm.ukm.my
}
cyl.wrl
Sintaks: Text
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
22
Nod FontStyle deskripsikan jenis font
string - teks yang hendak dibina
fontStyle - kawalan jenis font
text.wrl
sphere.wrl
TH3813 04 VRML 2
Okt/Nov 2000
Shape {
appearance Appearance {
material Material { }
}
geometry Sphere {
radius 12.0
}
}
Sintaks: FontStyle
Nod geometri Text membina teks
TH3813 04 VRML 2
Okt/Nov 2000
20
Sintaks: Sphere
Nod geometri Cylinder membina sebua silinder
(upright)
TH3813 04 VRML 2
Okt/Nov 2000
Shape {
appearance Appearance {
material Material { }
}
geometry Cone {
height 2.0
bottomRadius 1.0
bottom TRUE
side TRUE
}
}
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
Shape {
appearance Appearance {
material Material { }
}
geometry Text {
string [“Text”,
“Shape”]
fontStyle FontStyle {
style “BOLD”
}
}
}
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
family - SERIF, SANS atau TYPEWRITER
style - BOLD, ITALIC, BOLDITALIC, atau PLAIN
textfont.wrl
23
TH3813 04 VRML 2
Okt/Nov 2000
Shape {
appearance Appearance {
material Material { }
}
geometry Text {
string ….
fontStyle FontStyle {
family “SERIF”
style “BOLD”
}
}
}
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
24
4
- 5. Lain-lain FontStyle
Lain-lain FontStyle
- horizontal - mendatar atau menegak
- justify - FIRST, BEGIN, MIDDLE
atau END
textjust.wrl
TH3813 04 VRML 2
Okt/Nov 2000
- leftToRight dan topToBottom - arah
Shape {
appearance Appearance {
material Material { }
}
geometry Text {
string ….
fontStyle FontStyle {
justify “BEGIN”
}
}
}
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
Shape {
appearance Appearance {
material Material { }
}
geometry Text {
string ….
fontStyle FontStyle {
horizontal FALSE
leftToRight TRUE
topToBottom TRUE
}
}
}
textvert.wrl
25
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
26
Lain-lain FontStyle
Contoh: bentuk asas
- size - saiz character
- spacing - jarak baris/lajur
textsize.wrl
TH3813 04 VRML 2
Okt/Nov 2000
Shape {
appearance Appearance {
material Material { }
}
geometry Text {
string ….
fontStyle FontStyle {
size 1.0
spacing 1.0
}
}
}
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
#VRML V2.0 utf8.
# A Cylinder
Shape {
appearance Appearance {
material Material { }
}
geometry Cylinder {
height 2.0
radius 1.5
}
}
27
TH3813 04 VRML 2
Okt/Nov 2000
cylinder.wrl
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
28
Contoh fail VRML dengan pelbagai
bentuk
Membina pelbagai bentuk
#VRML V2.0 utf8
Bentuk di bina pada pusat dunia
Satu fail VRML boleh megandungi pelbagai
bentuk
Bentuk akan bertindih jika di bina pada lokasi
yang sama
Shape {
appearance Appearance {
material Material { }
Shape {
appearance Appearance {
}
material Material { }
geometry Box {
}
size 1.0 1.0 1.0
geometry Sphere {
}
radius 0.7
}
}
}
...
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
29
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
30
5
- 6. Contoh fail dengan pelbagai
bentuk
Transformasi
Bentuk
space.wrl
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
32
31
Transformasi bentuk
Contoh transformasi
secara default, semua bentuk dibina pada pusat
dunia/persekitaran
transformasi memebolekan bentuk di:
translasi/anjakan (translation)
putar (rotation)
skala (scale)
towers.wrl
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
33
Sistem ko-ordinat
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
34
Gambaran sistem ko-ordinat
fail VRML bina komponen untuk dunia/
persekitaran
komponen di bina dalam fail sistem ko o
- rdinat
persekitaran/dunia
secara default, semua bentuk di bina pada asalan
satu sistem ko ordinat
bentuk mudah pada
paksi XYZ
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
35
TH3813 04 VRML 2
Okt/Nov 2000
bentuk kompleks pada
paksi XYZ
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
36
6
- 7. Transformasi sistem ko-ordinat
Sintaks: Transformasi
satu transformasi bina satu sistem ko o
- rdinat
yang:
nod kumpulan Transform bina kumpulan bersama
dengan sistem ko o
- rdinatnya
ditranslasi
diputar
diskala
translation - translasi/anjakan
rotation - putaran/orientasi
scale - saiz
children - bentuk yang dibina
berdasarkan kepada sistem ko ordinat asal
bentuk yang terbina dalam sistem ko o
- rdinat baru
ditranslasi, diputar dan diskala bersama s
- ama
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
37
Sintaks: transformasi
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
38
Memasukkan children
Transform {
translation . . .
rotation . . .
scale . . .
children [ . . . ]
}
TH3813 04 VRML 2
Okt/Nov 2000
TH3813 04 VRML 2
Okt/Nov 2000
medan children merangkumi senarai satu atau
lebih nod
Transform {
...
children [
Shape { . . . }
Shape { . . . }
Transform { . . . }
...
]
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
}
39
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
40
Translasi
Translasi
y
Transform {
#
X
translation 2.0
children [ . . . ]
}
translation (3, 2)
P2
translasi posisikan satu sistem ko o
- rdinat dalam
X, Y dan Z
P1
(1,2)
(4,4)
tx = x2 - x1
ty = y2 - y1
x
Y
0.0
Z
0.0
y
translation (-2, 1, 1)
P2
(-1,2,1)
tx = x2 - x1
ty = y2 - y1
tz = z2 - z1
P1 (1,1,0)
x
in VRML:
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
41
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
translate -2 1 1
42
7
- 8. Contoh translasi
Putaran (rotation)
putaran orientasikan sistem ko- o
rdinat pada paksi
putaran oleh satu sudut putaran
sudut putaran dalam bentuk radian
radian = darjah /180 * π, di mana π = 3.1415927
sistem ko-ordinat
dunia/persekitaran
TH3813 04 VRML 2
Okt/Nov 2000
sistem ko-ordinat
baru di translasikan
2 unit pada X
bentuk dibina pada
sistem ko-ordinat
baru
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
43
Z
1.0
Sudut
0.52
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
44
y
R
dalam VRML
putaran 1 0 0 1.57
Rx
z
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)
x
paksi x
Rz
sudut
0
10
45
90
180
270
360
mna paksi ?
a
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
TH3813 04 VRML 2
Okt/Nov 2000
Ry
paksi putaran tentukan kutub untuk berputar
putaran lazimnya pada paksi X, Y atau Z
putaran dihasilkan berdasarkan kepada paksi
TH3813 04 VRML 2
Okt/Nov 2000
X
Y
0.0
0.0
[...]
Putaran
Penentuan paksi putaran
R- - putaran pada mana
-
Transform {
#
rotation
children
}
45
Contoh putaran
TH3813 04 VRML 2
Okt/Nov 2000
radian
radian
0.0
0.175
0.785
1.571
3.142
4.712
6.283
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
46
Putaran
radian = darjah * 3.142 / 180
darjah = radian * 180 / 3.142
+ putaran -- mengikut arah lawan
putaran jam
-- petua tangan kanan
- putaran -- mengikut arah putaran jam
-- petua tangan kiri
sistem ko-ordinat
dunia/persekitaran
TH3813 04 VRML 2
Okt/Nov 2000
sistem ko-ordinat
baru diputarkan 300
pada paksi Z
bentuk di bina pada
sistem ko-ordinat
baru
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
47
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
48
8
- 9. Putaran
Penskalaan (scaling)
Putaran sentiasa merujuk kepada asalannya
Jika satu objek tidak terletak pada kedudukan
asalan:
penskalaan besar atau kecilkan satu sistem
koordinat dengan faktor penskalaan x, y dan z
trasnslasikan ke kedudukan asalan
putarkan ia
translasikan semula ke kedudukan asalnya
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
Transform {
#
scale
children
}
49
Penskalaan
X
Y
0.5 0.5
[. . . ]
TH3813 04 VRML 2
Okt/Nov 2000
Z
0.5
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
50
Penskalaan
penskalaan sentiasa merujuk kepada asalan
jika satu objek tidak terletak pada asalan
Sistem koordinat baru
diskalakan menjadi separuh
translasikan ke asalan
skalakan ia
translasikan semula ke kedudukan asalnya
Sistem koordinat dunia/
persekitaran
Bentuk yang dibina
dalam sistem koordinat baru
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
51
Transformasi (putaran,
penskalaan dan translasi)
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
52
Transformasi (putaran,
penskalaan dan translasi)
skala, putar dan translasi sistem ko o
- rdinat satu
demi satu
Transform {
translation 2.0 0.0 0.0
rotation 0.0 0.0 1.0 0.52
scale 0.5 0.5 0.5
children [ . . . ]
}
TH3813 04 VRML 2
Okt/Nov 2000
TH3813 04 VRML 2
Okt/Nov 2000
jujukan transformasi
jujukan transformasi adalah penting
transformasi terkini dilaksanakan (children) dahulu
kemudian transformasi bapa
jujukan transformasi dalam satu Transform adalah
tetap
skala ---> putar ---> translasi
53
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
54
9
- 10. Contoh kumpulan transformasi
Transformasi (putaran,
penskalaan dan translasi)
Bagaimanakah objek ini
ditransformasikan ?
TH3813 04 VRML 2
Okt/Nov 2000
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
55
Transform
translation -2.0
3.0
0.0
children [
Shape {
appearance Appearance {
material Material { }
}
geometry Cylinder {
radius 0.3
height 6.0
top FALSE
}
}
]
TH3813 04 VRML 2
© Dr. Shahrul Azman Mohd Noah
}
Okt/Nov 2000
samn@ftsm.ukm.my
56
Contoh transformasi
arch.wrl
TH3813 04 VRML 2
Okt/Nov 2000
arches.wrl
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
57
10