Th3813 04 membina objek maya

Post on 18-Jul-2015

41 views 8 download

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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 8

Penggunaan komen# A Cylinder

Komen bermula dengan tanda (#) sehingga di akhir baris tersebut

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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

samn@ftsm.ukm.my 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

3

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 15

Contoh

prim.wrl

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 17

Menspesifikasikan appearanceAppearance bentuk dideskripsikan oleh nod appearance

Shape {appearance Appearance {

material Material { }}geometry

}TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 31

Contoh fail dengan pelbagai bentuk

space.wrl

32

Transformasi Bentuk

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 34

Contoh transformasi

towers.wrl

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 36

Gambaran sistem ko-ordinat

bentuk mudah padapaksi XYZ

bentuk kompleks padapaksi XYZ

7

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 39

Sintaks: transformasiTransform {

translation . . .rotation . . .scale . . . children [ . . . ]

}

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 40

Memasukkan childrenmedan children merangkumi senarai satu atau lebih nodTransform {

. . . children [

Shape { . . . }Shape { . . . }Transform { . . . }. . .

]}

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 55

Transformasi (putaran,penskalaan dan translasi)

Bagaimanakah objek iniditransformasikan ?

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd Noahsamn@ftsm.ukm.my 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 Noahsamn@ftsm.ukm.my 57

Contoh transformasi

arch.wrl arches.wrl