SlideShare a Scribd company logo
1 of 10
Download to read offline
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
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
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
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
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
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
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
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
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
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

More Related Content

More from Masyarah Zulhaida (6)

Th3813 12 kawalan perincian & skrip
Th3813 12 kawalan perincian & skripTh3813 12 kawalan perincian & skrip
Th3813 12 kawalan perincian & skrip
 
Th3813 11 cahaya & persekitaran
Th3813 11 cahaya & persekitaranTh3813 11 cahaya & persekitaran
Th3813 11 cahaya & persekitaran
 
Th3813 05 bentuk & geometri
Th3813 05 bentuk & geometriTh3813 05 bentuk & geometri
Th3813 05 bentuk & geometri
 
Th3813 02 sistem ko ordinat & transformasi
Th3813 02 sistem ko ordinat & transformasiTh3813 02 sistem ko ordinat & transformasi
Th3813 02 sistem ko ordinat & transformasi
 
Th3813 08 geometri (grid & extrusion)
Th3813 08 geometri (grid & extrusion)Th3813 08 geometri (grid & extrusion)
Th3813 08 geometri (grid & extrusion)
 
Realiti Maya: Pengenalan
Realiti Maya: PengenalanRealiti Maya: Pengenalan
Realiti Maya: Pengenalan
 

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