Th3813 04 membina objek maya

10
1 TH3813 Realiti Maya Membina Objek 2 Membina Dunia VRML TH3813 04 VRML 2 Okt/Nov 2000 © Dr. Shahrul Azman Mohd Noah [email protected] 3 Teknik asas 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 [email protected] 4 Struktur asas VRML 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 TH3813 04 VRML 2 Okt/Nov 2000 © Dr. Shahrul Azman Mohd Noah [email protected] 5 Contoh fail VRML #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 © Dr. Shahrul Azman Mohd Noah [email protected] 6 Memahami header #VRML v2.0 utf8 #VRML: Fail mengandungi teks VRML v2.0: Teks mematuhi sintaks versi 2.0 utf8: Teks gunakan set rentetan UTF8

Transcript of Th3813 04 membina objek maya

Page 1: 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

Page 2: Th3813 04 membina objek maya

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

[email protected] 12

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

Page 3: Th3813 04 membina objek maya

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

Page 4: Th3813 04 membina objek maya

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

Page 5: Th3813 04 membina objek maya

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 }

} . . .

Page 6: Th3813 04 membina objek maya

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

Page 7: Th3813 04 membina objek maya

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

Page 8: Th3813 04 membina objek maya

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

Page 9: Th3813 04 membina objek maya

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

Page 10: Th3813 04 membina objek maya

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