Ờ Ả Ơ L I C M  N

ỏ ế ơ ấ ớ ầ ầ Em xin bày t lòng bi ắ t  n sâu s c nh t t ậ   ứ i th y giáo Vũ Đ c Huy, th y đã t n

ươ ậ ớ ớ ự ẫ ỡ ố tình h ỉ ả   ng d n và giúp đ  em trong su t quá trình làm bài t p l n. V i s  ch  b o

ữ ầ ị ướ ố ự ệ ể ệ ủ c a th y, em đã có nh ng đ nh h ng t t trong vi c tri n khai và th c hi n các yêu

ậ ớ ầ c u trong quá trình làm bài t p l n.

ớ Nhóm 22 ­ L p KTPM2­K7

ả ơ Em xin chân thành c m  n !

GV: Vũ Đ c Huy

1

Ụ Ụ M C L C

Ờ Ả Ơ    L I C M  N

1                                                                                                                .......................................................................................................

2        M C L C .............................................................................................................

Ờ Ở Ầ  4        L I M  Đ U .......................................................................................................

ƯƠ

CH

NG  1. T ng quan v  th c t

ề ự ạ ả i  o

5                                                                    ...........................................................

ự ế ả

1.1 Th c t

5         o là gì ? ..........................................................................................

ệ ự ế ả

ể ủ   1.2 L ch s  phát tri n c a công ngh  th c t

6         o ...............................................

6       1.3 Các đ c tính chính c a VR ............................................................................

ộ ệ ố

1.4 Các thành ph n m t h  th ng VR

7                                                                         ................................................................

ầ ứ

1.4.1 Ph n c ng (Hardware)

7                                                                                    ...........................................................................

ề   1.4.2 Ph n m m (Software)

8                                                                                     ............................................................................

1.5 Các thi

ế ị ơ ả  8       t b  c  b n ........................................................................................

ế ị

ướ

1.5.1 Thi

ị t b  đ nh h

8       ng và chuy n đ ng ....................................................

1.5.2 Thi

ế ị ươ t b  t

ồ  12        ng tác và ph n h i ............................................................

ộ ố ứ

ụ  13        1.6 M t s   ng d ng chính c a VR .................................................................

1.6.1 Quân sự  13        .................................................................................................

1.6.2 Giáo d cụ  14        ................................................................................................

1.6.3 Xây d ngự

15                                                                                                         ...............................................................................................

1.6.4 Y h cọ  15        .....................................................................................................

ƯƠ

CH

NG  2. Ngôn ng  VRML

16                                                                                   .........................................................................

2.1 Gi

ề i thi u v  VRML

16                                                                                             ...................................................................................

16        2.1.1 VRML là gì ? ........................................................................................

16        2.1.2 Đ nh nghĩa v  VRML ...........................................................................

ể ủ

17        2.1.3 L ch s  ra đ i và phát tri n c a VRML ..............................................

ơ ả ủ

2.1.4 Đ c đi m c  b n c a VRML

18                                                                        ..............................................................

ề ơ ả ủ

19        2.2 Các v n đ  c  b n c a VRML ...................................................................

ầ ơ ả ủ

2.2.1 Các thành ph n c  b n c a VRML

19                                                               .....................................................

ụ ể  19        2.2.2 Công c  hi n th  VRML ......................................................................

2.2.3 T p tin c a VRML

20                                                                                         ...............................................................................

ớ Nhóm 22 ­ L p KTPM2­K7

GV: Vũ Đ c Huy

2

ế ề

2.3 Tìm hi u chi ti

t v  VRML

21                                                                                  ........................................................................

ố ượ

ọ ơ ả

ự   2.3.1 Xây d ng các đ i t

21        ng hình h c c  b n ...........................................

ứ ạ

ộ ố

23        2.3.2 Xây d ng m t s  hình ph c t p ..........................................................

ế  29        2.3.3 Các phép bi n đ i trong VRML ...........................................................

2.3.4 Màu s c trong VRML

32                                                                                     ...........................................................................

33        2.3.5 Nhóm node ............................................................................................

ộ ố ươ

2.3.6 M t s  ph

ng pháp v  trong VRML

35                                                          ................................................

2.3.7 Texture Mapping

36                                                                                             ...................................................................................

37        2.3.8 Script .....................................................................................................

ƯƠ

CH

NG     3.   ng   d ng   VRML   trong   vi c   xây   d ng   xóm   tr   Hoàng

Tr

ngườ

39                                                                                                                            ..................................................................................................................

39        3.1 Bài toán .........................................................................................................

ướ

3.2 Yêu c u đ t ra và h

ng gi

ế  39        i quy t ..........................................................

ự   3.2.1 Xây d ng xóm tr

ọ  39        .................................................................................

3.2.2 Trang trí xóm trọ  40        ...................................................................................

ố ượ

ự   3.2.3 Xây d ng các đ i t

ng bên trong xóm tr

ọ  41        ........................................

3.2.4 Di chuy n bên trong xóm tr

ọ  41        ...............................................................

ố ượ

ọ   3.2.5 Ch n đ i t

ng

42                                                                                              ....................................................................................

3.2.6 Ánh sáng

43                                                                                                          ................................................................................................

ở ử   3.2.7 Đóng m  c a

43                                                                                                  ........................................................................................

ố ư

44        3.2.8 T i  u khung hình ................................................................................

ả ạ ượ

ế

ướ

3.3 K t qu  đ t đ

c và h

44        ng phát tri n ......................................................

3.3.1 K t quế

ả  44        .................................................................................................

Ế  47         PH N K T LU N .............................................................................................

TÀI LI U THAM KH O

48                                                                                            ..................................................................................

ớ Nhóm 22 ­ L p KTPM2­K7

GV: Vũ Đ c Huy

3

Ờ Ở Ầ L I M  Đ U

ự ế ả ữ ớ ư ấ ả ầ ậ ậ ộ ỷ Th c t ệ   o là m t thu t ng  m i xu t hi n kho ng đ u th p k  90, nh ng ở

ỹ ệ ở ộ M  và châu Âu th c t ự ế ả  (Virtual Reality) đã và đang tr  thành m t công ngh  mũi o

ụ ứ ự ứ ả ờ ọ ộ ọ ệ   nh n nh  kh  năng  ng d ng r ng rãi trong m i lĩnh v c (nghiên c u và công nghi p,

ụ ạ ươ ả ề ế ư giáo d c và đào t o, th ạ ng m i và gi i trí,..) và ti m năng kinh t , cũng nh  tính

ự ủ ụ ụ ạ ệ ộ ưỡ l ng d ng (trong dân d ng và quân s ) c a nó. T i Vi ự   t Nam, tuy là m t lĩnh v c

ấ ữ ệ ạ ư ữ ư ớ m i nh ng đã có nh ng công trình r t h u ích nh : tái hi n l ộ   i con Sao La hay m t

ử ế ể ả ố ạ ầ Văn Mi u Qu c T  Giám  o mà ta có th  đi l i quan sát trong đó. Chính vì t m quan

ứ ề ự ạ ả ư ả ứ ụ ệ ọ ớ tr ng cũng nh  kh  năng  ng d ng to l n đó nên vi c nghiên c u v  th c t i  o là vô

ế ơ ở ộ ứ ự ạ ả ự ụ ể ầ cùng c n thi t. Và trên c  s  đó có th  xây d ng m t  ng d ng th c t i  o hoàn

ỉ ch nh.

ề ậ ọ ố ệ Chính vì v y mà em đã ch n đ  tài t ể t nghi p: ” Tìm hi u công ngh  th c t ệ ự ế

ả ở ầ ứ ụ ế ầ ậ ồ ồ ộ o và  ng d ng”. Đ  án này g m có ph n m  đ u, k t lu n và n i dung:

ươ ổ Ch ng 1: T ng quan v  th c t ề ự ạ ả i  o

ươ ữ Ch ng 2: Ngôn ng  VRML

ớ Nhóm 22 ­ L p KTPM2­K7

ươ Ứ ụ ự ệ ọ ườ Ch ng 3:  ng d ng VRML trong vi c xây d ng xóm tr  Hoàng tr ng

GV: Vũ Đ c Huy

4

ề ự ạ ả ổ

ƯƠ

T ng quan v  th c t i  o

CH

NG  1.

ự ế ả o là gì ?

1.1 Th c t

ự ế ả ỏ Th c t ồ ọ   ộ ệ ố   o­Virtual Reality( VR ) là m t h  th ng mô ph ng trong đó đ  h a

ượ ử ụ ể ạ ế ớ ộ ư ậ ế ớ ữ máy tính đ c s  d ng đ  t o ra m t th  gi ơ i "nh  th t". H n n a, th  gi i "nhân

ạ ạ ả ứ ệ ổ ố ạ t o" này không tĩnh t i, mà l ủ   i ph n  ng, thay đ i theo ý mu n (tín hi u vào) c a

ườ ử ụ ộ ờ ộ ặ ề ị ng ờ i s  d ng (nh  hành đ ng, l ủ   i nói,..). Đi u này xác đ nh m t đ c tính chính c a

ươ ự ở ự ờ ờ VR, đó là t ng tác th i gian th c (real­time interactivity). Th i gian th c đây có

ậ ả ủ ệ ườ ử ụ nghĩa là máy tính có kh  năng nh n bi ế ượ t đ c tín hi u vào c a ng i s  d ng và thay

ậ ứ ế ớ ả ườ ử ụ ấ ự ậ ổ ổ đ i ngay l p t c th  gi i  o. Ng i s  d ng nhìn th y s  v t thay đ i trên màn hình

ố ủ ọ ở ự ỏ ị ngay theo ý mu n c a h  và b  thu hút b i s  mô ph ng này.

ỏ ơ ể ẻ ề ậ ấ Đi u này chúng ta có th  nh n th y ngay khi quan sát tr  nh  ch i video game.

ỏ ở ẻ ả ơ ị ứ Theo báo Bild (Đ c), có hai tr  nh ế    Anh b  thu hút và m i mê ch i Nintendo đ n

ề ả ị ế ươ ỗ n i ngay c  khi nhà chúng đang b  cháy cũng không h  hay bi t! T ng tác và kh ả

ầ ớ ủ ắ ả ả năng thu hút c a VR góp ph n l n vào c m giác đ m chìm (immersion), c m giác tr ở

ủ ầ ộ ộ ườ ử ụ ả thành m t ph n c a hành đ ng trên màn hình mà ng ệ   i s  d ng đang tr i nghi m.

ư ữ ậ ẩ ả ơ ờ ộ ấ ả Nh ng VR còn đ y c m giác này "th t" h n n a nh  tác đ ng lên t t c  các kênh

ủ ườ ự ế ườ ấ ả c m  giác  c a  con ng i.  Trong  th c  t ,  ng ố   ữ i  dùng  không  nh ng nhìn th y  đ i

ồ ọ ổ ở ư ố ọ ướ ượ t ổ ng đ  h a 3D n i (nh  hình n i trang cu i báo Hoa h c trò đã đăng tr c kia),

ề ể ể ượ ố ượ ư đi u khi n (xoay, di chuy n,..) đ c đ i t ng trên màn hình (nh  trong game), mà

ư ả ậ ả ấ ờ ị còn s  và c m th y chúng nh  có th t. Ngoài kh  năng nhìn (th  giác), nghe (thính

ể ạ ứ ứ ả ờ giác), s  (xúc giác), các nhà nghiên c u cũng đã nghiên c u đ  t o các c m giác khác

ử ư ứ ế ệ ả ị nh  ng i (kh u giác), n m (v  giác). Tuy nhiên hi n nay trong VR các c m giác này

ượ ử ụ ế cũng ít đ c s  d ng đ n.

ừ ủ ị ể ấ T  các phân tích trên, chúng ta có th  th y đ nh nghĩa sau đây c a C. Burdea và

ề ươ ộ ệ ố ự ố P. Coiffet v  VR là t ệ   ế Ả ng đ i chính xác: VR­ Th c T   o là m t h  th ng giao di n

ữ ườ ử ụ ệ ố ự ậ ỏ ấ c p cao gi a Ng ệ   i s  d ng và Máy tính. H  th ng này mô ph ng các s  v t và hi n

ự ờ ươ ớ ườ ử ụ ợ ổ ượ t ng theo th i gian th c và t ng tác v i ng ả   i s  d ng qua t ng h p các kênh c m

ớ Nhóm 22 ­ L p KTPM2­K7

ứ ồ ị ị giác. Đó là ngũ giác g m: th  giác, thính giác, xúc giác, kh u giác, v  giác.

GV: Vũ Đ c Huy

5

ử ị ể ủ 1.2 L ch s  phát tri n c a công ngh  th c t ệ ự ế ả   o

ự ế ả ư ề ậ ệ Khái ni m th c t o đã có trong nhi u th p niên nh ng nó ch  th c s  đ ỉ ự ự ượ   c

ứ ữ ữ ữ ậ ầ ỹ nh n th c vào đ u nh ng năm 90. Vào gi a nh ng năm 50 Morton Heilig (M ) đã

ế ị ỏ ế ị ề ể phát minh ra thi t b  mô ph ng SENSORAMA. Đó là 1 thi t b  đi u khi n 1 ng ườ ử  i s

ự ể ạ ạ ộ ồ ụ d ng g m có : m t màn hình th c th  kính, qu t, máy t o mùi, loa âm thanh và 1

ế ế ể ể ượ ề chi c gh  có th  di chuy n đ c. Ông cũng phát minh ra màn hình truy n hình đ ượ   c

ụ ụ ữ ể ể ả ẩ ầ ệ ả   ắ g n vào đ u đ  có th  xem phim 3D. Tuy là nh ng s n ph m ph c v  cho đi n  nh

ủ ư ữ ệ ề ề ở nh ng nh ng khái ni m c a Heilig đã tr  thành ti n đ  cho VR sau này.

ỹ ư ủ ữ ữ ườ ầ ể Nh ng k  s  c a Công ty Philco là nh ng ng i đ u tiên phát tri n HMD vào

ệ ố ắ ả ọ ộ ồ 1961, g i là Headsight. Cái mũ s t bao g m m t màn  nh và h  th ng theo dõi video

ế ớ ữ ộ ệ ố ọ ự ị ạ ỹ ư đã nh ng k  s  liên k t t ử ụ   i m t h  th ng camêra m ch đóng. H  d  đ nh s  d ng

ể ộ ườ ể ộ ố HMD trong các tình hu ng nguy hi m ­ m t ng i có th  quan sát m t môi tr ườ   ng

ự ự ừ ề ằ ầ ỉ th c s  t xa, đi u ch nh góc quay camera b ng cách quay đ u. Bell Laboratories đã

ữ ự ế ọ ớ   ử ụ s  d ng HMD cho nh ng phi công lai máy bay tr c thăng. H  liên k t HMD v i

ạ ắ ữ ể ồ nh ng camera h ng ngo i g n bên ngoài máy bay giúp phi công có th  nhìn rõ ngay

ườ ế ả c  trong môi tr ng thi u ánh sáng.

ề ộ ọ Vào 1965, m t nhà khoa h c máy tính có tên Ivan Sutherland hình dung đi u mà

ử ụ ể ọ ộ ị ườ ông ta g i là "Ultimate Display". S  d ng hi n th  này, m t ng ộ   ể ấ i có th  th y m t

ế ớ ả ư ế ớ ậ ệ ậ ị ướ th  gi i  o hi n ra nh  th  gi ề i v t lý th t. Đi u này đã đ nh h ộ ầ   ng toàn b  t m

ề ệ ồ ủ nhìn v  VR. Khái ni m c a Suntherland bao g m :

ế ớ ả ể ộ ộ  M t th  gi i  o mà ta có th  quan sát thông qua m t HMD

ể ộ ờ ự  M t máy tính đ  duy trì các mô hình trong th i gian th c

 Các kh  năng cho ng

ả ườ ử ụ ố ượ ữ ể i s  d ng đ  thao tác nh ng đ i t ng th c t ự ế ộ    m t

ự ấ cách tr c quan nh t.

ủ ặ 1.3 Các đ c tính chính c a VR

ư ủ ươ ặ Nh  trên đã trình bày, 2 đ c tính chính c a VR là T ắ ng tác và Đ m chìm, đây

ớ Nhóm 22 ­ L p KTPM2­K7

ề ườ ế ầ là hai "I" (Interactive, Immersion) mà nhi u ng i đã bi ặ   t. Tuy nhiên VR c n có 1 đ c

GV: Vũ Đ c Huy

6

ứ ườ ể ớ ộ ệ ố ỉ ươ ườ tính th  3 mà ít ng i đ  ý t i. VR không ch  là m t h  th ng t ng tác Ng i­ Máy

ứ ụ ủ ớ ả ề ậ ế tính, mà các  ng d ng c a nó còn liên quan t ệ i vi c gi ấ i quy t các v n đ  th t trong

ự ứ ể ậ ọ ế ế ụ ỹ k  thu t, y h c, quân s ,...Các  ng d ng này do các nhà phát tri n VR thi ề   t k , đi u

ộ ấ ụ ề ả ưở ượ ủ ườ này ph  thu c r t nhi u vào kh  năng T ng t ng c a con ng ặ   i, đó chính là đ c

ợ ủ ứ ủ ể ổ tính "I" (Imagination) th  3 c a VR. Do đó có th  coi VR là t ng h p c a 3 y u t ế ố   :

ươ ưở ượ ế T ắ ng tác­ Đ m chìm­ T ng t ng, (3 I trong ti ng Anh: Interactive­ Immersion­

Imagination)

ộ ệ ố ầ 1.4 Các thành ph n m t h  th ng VR

ữ ầ ổ ộ ồ T ng quát m t VR bao g m nh ng thành ph n sau

ầ ủ ộ ệ Hình 1.1 Các thành ph n c a m t h  thông VR

ầ ứ 1.4.1 Ph n c ng (Hardware)

ầ ứ ủ ộ ồ Ph n c ng c a m t VR bao g m:

 Máy tính (PC hay Workstation v i c u hình đ  h a m nh).

ớ ấ ồ ọ ạ

 Các thi

ế ị ầ ể ộ ị ị t b  đ u vào (Input devices): B  dò v  trí (position tracking) đ  xác đ nh

ớ Nhóm 22 ­ L p KTPM2­K7

ể ể ệ ộ ị ị ị ị v  trí quan sát. B  giao di n đ nh v  (Navigation interfaces) đ  di chuy n v  trí

GV: Vũ Đ c Huy

7

ườ ử ụ ệ ử ỉ ư ộ ng ữ ệ   i s  d ng. B  giao di n c  ch  (Gesture interfaces) nh  găng tay d  li u

ể ườ ử ụ ố ượ ể (data glove) đ  ng ể ề i s  d ng có th  đi u khi n đ i t ng.

 Các thi

ế ị ầ ị ồ ọ ư ể ồ t b  đ u ra (Output devices): g m hi n th   đ  h a  (nh  màn hình,

ể ổ ế ị ể HDM,..) đ  nhìn đ ượ ố ượ c đ i t ng 3D n i. Thi t b  âm thanh (loa) đ  nghe đ ượ   c

ồ ả ư ả ộ âm thanh vòm (nh  Hi­Fi, Surround,..). B  ph n h i c m giác (Haptic feedback

ờ ắ ể ạ ố ượ ư ả ộ ồ nh  găng tay,..) đ  t o xúc giác khi s , n m đ i t ự   ng. B  ph n h i xung l c

ể ạ ự ư ạ ộ ườ (Force Feedback) đ  t o l c tác đ ng nh  khi đ p xe, đi đ ng xóc,...

ầ ề 1.4.2 Ph n m m (Software)

ủ ề ầ ồ ư ố ớ ấ ứ ộ ệ ố   Ph n m m luôn là linh h n c a VR cũng nh  đ i v i b t c  m t h  th ng

ề ặ ấ ứ ữ ậ ệ ể ắ ạ máy tính hi n đ i nào. V  m t nguyên t c có th  dùng b t c  ngôn ng  l p trình hay

ồ ọ ề ể ầ ỏ ố   ph n m m đ  h a nào đ  mô hình hóa (modelling) và mô ph ng (simulation) các đ i

ụ ư ủ ữ ể ễ ượ t ng c a VR. Ví d  nh  các ngôn ng  (có th  tìm mi n phí) OpenGL, C++, Java3D,

ề ầ ươ ư ạ VRML,  X3D,. ..hay các ph n m m th ng m i nh  WorldToolKit,  PeopleShop,...

ủ ấ ỳ ụ ề ả ạ ầ ả ả Ph n m m c a b t k  VR nào cũng ph i b o đ m 2 công d ng chính: T o hình vào

ố ượ ỏ ủ ượ ề ầ ờ Mô ph ng. Các đ i t ng c a VR đ c mô hình hóa nh  chính ph n m m này hay

ể ừ ế ế ề ầ ờ chuy n   sang   t các   mô   hình   3D   (thi t   k   nh   các   ph n   m m   CAD   khác   nh ư

ề ả ầ ả ộ ỏ ọ   AutoCAD, 3D Studio,..). Sau đó ph n m m VR ph i có kh  năng mô ph ng đ ng h c,

ử ủ ố ượ ỏ ứ ự ọ ộ đ ng l c h c, và mô ph ng  ng x  c a đ i t ng.

ế ị ơ ả 1.5 Các thi t b  c  b n

ế ị ướ ể ộ 1.5.1 Thi ị t b  đ nh h ng và chuy n đ ng

DataGloves

ế ị ườ ả ả ậ ượ ả ộ Thi t b  đo l ng bàn tay ph i c m nh n đ ủ c c  đ  cong c a các ngón tay và

ự ị ướ ủ ổ ự ờ ạ ầ ị v  trí, s  đ nh h ng c a c  tay trong th i gian th c. Thi ế ị ươ t b  th ng m i đ u tiên là

ừ ệ ứ ẹ ồ DataGloves t vi n nghiên c u VPL. DataGloves bao g m 1 găng tay nylon nh  có các

ớ Nhóm 22 ­ L p KTPM2­K7

ọ ượ ắ ở ế ả c m bi n quang h c đ c g n các ngón tay.

GV: Vũ Đ c Huy

8

Hình 1.2 DataGloves

3D Mouse and SpaceBall

Hình 1.3 3D Mouse và SpaceBall

ự ế ả ộ ộ ị Chu t Logitech 3D d a trên m t m ng các v  trí siêu âm tham chi u, đó là 1 cái

ặ ở ề ồ ệ ki ng g m 3 loa siêu âm đ t 3 góc tam giác phát ra tín hi u siêu thanh. Nó đ ượ ử  c s

ể ế ị ị ướ ể ộ ị ụ d ng đ  theo dõi thi t b  thu, đ nh h ầ   ng và chuy n đ ng. Nó qui đ nh thành ph n

ớ Nhóm 22 ­ L p KTPM2­K7

ấ ả ứ ự ủ ỷ ệ ử c a t  l g i ra trong t t c  6. m c t do: X, Y, Z, Pitch, Yaw, và Roll.

GV: Vũ Đ c Huy

9

Hình 1.4 Mouse

Shutter glasses

Hình 1.5 Shutter glasses

ớ Nhóm 22 ­ L p KTPM2­K7

Head­Mounted Displays

GV: Vũ Đ c Huy

10

Hình 1.6 Head­Mounted Displays

Cave

ướ ượ ặ CAVE là 1 nhà hát có kích th c 10 X 10 X 9 đ ớ   c đ t bên trong 1 phòng l n

ướ ả ượ ế ơ h n có kích th c 35 X 25 X 13. Phòng bên ngoài ph i đ ố   c chi u sáng trong su t

ử ụ ứ ườ ủ ượ ạ ế ở quá trình s  d ng CAVE. Các b c t ng c a CAVE đ c t o b i các màn chi u và

ứ ế ế ộ ộ ả ị ẳ sàn nhà cũng là m t màn chi u th ng đ ng. Máy chi u đ  phân gi ể i cao hi n th  hình

ả ứ ấ ằ ả ộ ươ ế ả ườ nh lên toàn b  nh ng màn  nh khác b ng các t m g ng ph n chi u. Ng i dùng

ặ ệ ể ể ấ ẽ s  đi vào bên trong CAVE và đeo 1 chiêc kinh đ c bi ữ   t đ  có th  nhìn th y nh ng

ữ ề ế ể ả ớ ị ườ hình  nh 3 chi u mà CAVE hi n th . V i nh ng chi c kính này ng i dùng có th ể

ố ượ ấ ự ự ổ ể ạ th y các đ i t ng th c s  n i trong không khí và có th  đi l i xung quanh chúng.

ệ ử ế ề ả ả ớ ượ Đi u này la hoàn toàn kh  dĩ v i các c m bi n đi n t ủ . Khung c a CAVE đ c làm

ừ ệ ể ể ộ ố ế ấ ả ừ t i­nox không t tính đ  có th  can thi p m t cách t ệ   t nh t vào các c m bi n đi n

ộ ườ ạ ọ ượ ủ ể ộ ở ừ t . Khi m t ng i đi l i trong CAVE, chuy n đ ng c a h  đ c theo dõi b i các

ẽ ề ẽ ể ế ệ ợ ỉ ả c m bi n này và video s  đi u ch nh cho phù h p. Máy tính s  ki m soát vi c này

ư ả ữ ề ấ ạ ượ ặ ủ c a CAVE cũng nh  c  khía c nh âm thanh n a. Có r t nhi u loa đ c đ t trong

ướ ề ề ả ả ộ ỉ CAVE d i nhi u góc đ  giúp cho không ch  có hình  nh 3 chi u mà có c  âm thanh

ớ Nhóm 22 ­ L p KTPM2­K7

ề ữ 3 chi u n a.

GV: Vũ Đ c Huy

11

Hình 1.7 Cave

1.5.2 Thi ế ị ươ t b  t ả ồ ng tác và ph n h i

ế ị ộ ố ả ố ế ị Các thi ậ t b  này c m nh n m t s  nhân t ủ  sau c a thi t b  khác gây ra: nhi ệ   t

ạ ự ự ự ể ể ộ ộ ậ ố đ , v n t c di chuy n, s  chuy n đ ng, áp l c và các ngo i l c khác.

CyberTouch

ớ Nhóm 22 ­ L p KTPM2­K7

Hình 1.8 CyberTouch

GV: Vũ Đ c Huy

12

CyberGrasp

Hình 1.9 CyberGrasp

ộ ố ứ ụ ủ 1.6 M t s   ng d ng chính c a VR

ạ ướ ể ể ấ ậ ượ ứ T i các n c phát tri n, chúng ta có th  nh n th y VR đ ụ c  ng d ng trong

ự ự ế ậ ọ ọ ỹ ả ứ ọ m i lĩnh v c: Khoa h c k  thu t, ki n trúc, quân s , gi i trí,... và đáp  ng m i nhu

ụ ươ ụ ề ạ ọ ứ ầ c u: Nghiên c u­ Giáo d c­ Th ố   ự ứ ng m i. Y h c là lĩnh v c  ng d ng truy n th ng

ượ ứ ụ ụ ệ ậ ả ạ ủ c a VR. Bên c nh đó VR cũng đ c  ng d ng trong giáo d c, ngh  thu t, gi i trí.

ự ự ượ ứ ề ở ụ ấ ướ Trong lĩnh v c quân s , VR cũng đ c  ng d ng r t nhi u các n ể   c phát tri n.

ứ ụ ề ạ ố ở ộ ố ứ ớ ổ ụ Bên c nh các  ng d ng truy n th ng trên, cũng có m t s   ng d ng m i n i lên

ứ ứ ụ ủ ư ấ ả ầ ờ ụ   trong th i gian g n đây c a VR nh : VR  ng d ng trong s n xu t, VR  ng d ng

ụ ứ ể ầ ố ỏ ị ể trong ngành rôb t, VR  ng d ng trong hi n th  thông tin (thăm dò d u m , hi n th ị

ứ ụ ề ể ố ớ ạ thông tin kh i,....) VR có ti m năng  ng d ng vô cùng l n. Có th  nói tóm l ộ   i m t

ộ ố ự ế ả ể ứ ự ụ ề ề ậ ọ đi u: M i lĩnh v c "có th t " trong cu c s ng đ u có th   ng d ng "th c t o" đ ể

ứ ệ ể ơ nghiên c u và phát tri n hoàn thi n h n.

1.6.1 Quân sự

ẽ ượ ệ ể ớ ự ệ ấ ủ V i vi c phát tri n c a VR, các binh sĩ s  đ c hu n luy n 1 cách tr c quan

ớ Nhóm 22 ­ L p KTPM2­K7

ấ ế ư ướ nh t các kĩ năng cân thi t nh  : lái máy bay, lai xe tăng, . .. tr c khi tham gia công

GV: Vũ Đ c Huy

13

ự ế ệ ừ ả ừ ề ả ế ượ vi c th c t . Đi u này v a b o đ m an toàn cho binh sĩ, v a ti ệ t ki m đ c chi phí

ẽ ầ ư ế ị ệ ầ ấ cho các khoa hu n luy n th c t ừ ư ự ế L u Năm Góc v a đ a ra quy t đ nh s  đ u t . 36

ệ ể ặ ộ ộ ệ ệ ằ ấ ỹ ể tri u USD cho quân đ i M  đ  phát tri n m t game đ c bi t nh m hu n luy n binh

ạ ố ướ ạ ớ ệ ố ủ ế ậ ố sĩ ch ng l i kh ng b  d i d ng chi n thu t th c t o ơ ặ   ự ế ả .V i h  th ng trò ch i đ c

ệ ậ ủ ể ậ ữ ữ ạ bi ệ t này, nh ng binh sĩ có th  t p luy n nh ng bài t p c a mình ngay t ằ   i nhà nh m

ạ ự ế ữ ố ẽ ộ ố ch ng l ể i nh ng tình hu ng có th  phát sinh ra trong th c t ấ   . Đây s  là m t game r t

ộ ộ ớ ườ ố ả ớ ố s ng đ ng, có tình hành đ ng cao v i môi tr ng và b i c nh bám sát v i th c t ự ế   .

ữ ườ ả ậ ụ ẽ ấ ả ữ ỹ ượ Nh ng ng i lính s  ph i v n d ng t t c  nh ng k  năng đã đ c rèn giũa trong

quân đ i.ộ

ự ế ả ả ằ ọ Hình 1.10 Binh lính h c nh y dù b ng th c t o

1.6.2 Giáo d cụ

Ở ướ ươ ệ ở ề ọ ớ các n c ph ng Tây vi c nhà h c qua Internet không còn là đi u m i m ẻ

ị ơ ấ ệ ẽ ệ ề ở ố ữ n a. Và công ngh  VR s  làm cho vi c này tr  nên thú v  h n r t nhi u. Gi ng nh ư

ậ ạ ề ệ ạ ạ ộ ạ ể m t game MMORPG b n đi u khi n 1 nhân v t đ i di n cho b n đi l i trong 1

ườ ượ ấ ứ ớ ự ể ạ tr ọ ả ng h c  o đ ọ   c xây d ng trên máy tính. B n có th  tham gia vào b t c  l p h c

ớ Nhóm 22 ­ L p KTPM2­K7

ả ư ệ ạ ớ ớ o nào mà b n thích, nói chuy n v i nh ng thành viên khác trong l p.

GV: Vũ Đ c Huy

14

ộ ớ ả ọ ả Hình 1.11 C nh trong m t l p h c  o

1.6.3 Xây d ngự

ư ế ạ ạ ố ộ ế ế ươ B n mu n xây nhà. B n thuê m t ki n trúc s  thi t k  cho ngôi nhà t ng lai

ể ưở ệ ẽ ả ạ ượ ủ ạ c a b n. Anh ta hoàn thành nó trên b n v  và li u b n có th  t ng t ng ra nó th ế

ư ể ể ượ ắ nào không ?Có th  nh ng ch c là không th  chính xác đ c. Và khi hoàn thành thì

ủ ạ ư ắ ờ ượ ự ch a ch c nó đã đúng ý c a b n. Gi đây ngôi nhà đó đ c xây d ng trên máy tinh,

ể ạ ư ấ ắ ơ ỏ ạ b n có th  đi l i kh p n i trong nhà, xem xét t ng ngõ ngách nh  nh t.

1.6.4 Y h cọ

ự ạ ả ả ế ượ ấ ề ề ấ ấ ọ Th c t i  o gi i quy t đ c r t nhi u v n đ  trong y h c: cung c p môi

ườ ấ ữ ọ ậ ự ứ ệ ỏ tr ng th c hành cho nghiên c u và h c t p, r t h u ích trong vi c mô ph ng các ca

ự ế ủ ẫ ậ ph u thu t tránh gây r i ro trong th c t

ư ậ ự ạ ả ự ủ ộ ố ụ ứ ầ Nh  v y th c t ế i  o có  ng d ng trong h u h t các lĩnh v c c a cu c s ng.

ậ ấ ượ ệ ứ ự ạ ả ụ ủ ớ Qua đó cũng nh n th y đ c ý nghĩa to l n c a vi c  ng d ng th c t ở   i  o, b i

ự ạ ả ữ ế ề ấ ả ế ặ nh ng v n đ  khó khăn mà n u không có th c t ấ i  o thì r t khó gi ể   i quy t ho c hi u

ớ Nhóm 22 ­ L p KTPM2­K7

ả ố qu  không cao mà chi phí t n kém.

GV: Vũ Đ c Huy

15

ƯƠ CH NG  2. ữ Ngôn ng  VRML

ớ ệ ề 2.1 Gi i thi u v  VRML

2.1.1 VRML là gì ?

ữ VRML (Virtual Reality Modeling Language) là ngôn ng  mô hình hóa th c t ự ế

ả ộ ị ậ ượ ử ụ ệ ả ế ớ ạ o, m t đ nh d ng t p tin đ c s  d ng trong vi c mô t các th  gi ố   i và các đ i

ồ ọ ươ ượ ế ế ượ t ng   đ   h a   t ề ng   tác   ba   chi u.   VRML   đ c   thi t   k   dùng   trong   môi   tr ườ   ng

ụ ộ ệ ố Internet, Intranet và các h  th ng máy khách c c b  (local client). VRML còn đ ượ ự  c d

ồ ọ ề ề ẩ ổ ộ ở ợ trù tr  thành m t chu n trao d i đa năng cho đ  h a ba chi u tích h p và truy n thông

ươ ể ượ ử ụ ự ứ ệ ề ấ đa ph ng ti n. VRML có th  đ ụ   c s  d ng trong r t nhi u lĩnh v c  ng d ng

ư ự ệ ễ ậ ẳ ạ ọ ỹ ch ng h n nh  tr c quan hóa các khái ni m khoa h c và k  thu t, trình di n đa

ươ ả ỗ ợ ế ớ ả ụ ẻ ph ệ ng ti n, gi i trí và giáo d c, h  tr  web và chia s  các th  gi i  o.

ế ả ầ ờ Ra đ i phiên b n đ u tiên vào tháng 10 năm 1994 (VRML 1.0), cho đ n nay

ể ớ ứ ẽ ả ạ ớ VRML đã phát tri n t i phiên b n 2.0 v i các ch c năng m nh m , nhanh chóng tr ở

ể ề ẩ ươ ồ ọ ữ thành chu n phát tri n cho nhi u ch ng trình đ  h a. VRML là ngôn ng  Interner

ẽ ớ ồ ọ ể ể ấ ặ ả ạ   3D dùng đ  phát tri n đ  h a 3D trên Web, có c u trúc ch t ch , v i kh  năng m nh

ự ụ ứ ẽ ệ ộ ự   m , giúp cho vi c xây d ng các  ng d ng 3D m t cách nhanh chóng và chân th c

nh t.ấ

ề ị 2.1.2 Đ nh nghĩa v  VRML

ữ ử ụ ữ ệ ấ ể ệ   Ngôn ng  VRML là ngôn ng  s  d ng mô hình phân c p trong vi c th  hi n

ươ ố ượ ủ ượ ử ụ các t ớ ng tác v i các đ i t ng c a mô hình, VRML đ ể   ể c s  d ng đ  phát tri n

ữ ứ ả ả ỏ nh ng hình  nh 3D và qung c nh trên Web. Các file VRML có kích th c nh , th ườ   ng

không quá 1Mb.

ự ạ ả ứ ữ ộ Ngôn ng  mô hình hóa th c t ẩ i  o VRML là m t chu n không chính th c đ ể

ệ ề ụ ộ mô t ả ự ế ả  th c t ỉ ớ     o mà không ph  thu c vào h  đi u hành thông qua Internet. Ch  v i

ể ộ ế ớ ả ề ể ộ ạ m t file text b n có th  mô t ả ươ , t ng tác, đi u khi n m t th  gi i  o mà không b ị

ớ Nhóm 22 ­ L p KTPM2­K7

ề ế ạ h n ch  nhi u.

GV: Vũ Đ c Huy

16

ữ ề ả ớ ướ ạ VRML cho phép truy n đi trong m ng nh ng hình  nh 3D. V i kích th c kh ả

ầ ớ ớ ỏ ớ ạ ả nh  so v i băng thông, ph n l n gi i h n trong kho ng 100 ­ 200Kb nên các file

ượ ề ễ ế ạ ả ộ ị VRML đ c truy n đi m t cách khá d  dàng. N u HTML là đ nh d ng văn b n thì

ố ượ ạ ệ ợ ự ơ ế ả ị VRML là đ nh d ng đ i t ng 3D. Hi n nay VRML có l i th  là s  đ n gi n, h  tr ỗ ợ

ụ ị d ch v  web3D.

ể ủ ử ờ ị

2.1.3 L ch s  ra đ i và phát tri n c a VRML

ữ ệ ẩ ộ ở ỏ ươ VRML đã tr  thành m t ngôn ng  chu n cho vi c mô ph ng t ng tác th  gi ế ớ   i

ụ ạ ẩ ớ ị ự 3D tren Web. V i m c đích xây d ng đ nh d ng chu n cho phép mô t ả ế ớ  th  gi ự   i th c

ạ ườ ẩ ở trên máy tính mà cho phép ch y trên môi tr ng web, VRML đã tr  thành chu n ISO

ừ t năm 1997.

ờ ở ộ ượ ổ ứ ầ VRML ra đ i vào mùa xuân năm 1994 ị  h i ngh  WWW đ ch c đ u tiên c t

ụ ổ ứ ọ ạ t i Gieneva, Th y Sĩ. Tim Berners­Lee và Dave Raggett đã t ch c ra phiên h p có tên

ể ả ự ế ả ề là Birds of a Feather (BOF) đ  mô t ệ  giao di n th c t o trên WWW. Nhi u thành

ự ọ ả ự ự ự ệ ệ ề viên tham d  phiên h p BOF đã mô t nhi u d  án th c hi n vi c xây d ng các công

ị ồ ọ ữ ữ ề ụ ể c  hi n th  đ  h a 3D cho phép có nhi u thao tác h u ích trên Web. Nh ng thành viên

ự ầ ấ ế ụ ữ ộ ồ này đã nh t trí đ ng ý s  c n thi t cho các công c  này có m t ngôn ng  chung, ph ổ

ế ệ ạ ạ ị ế bi n cho đ nh d ng, xác đ nh vi c mô t ả ế ớ  th  gi i 3D và các siêu liên k t WWW. Vì

ừ ờ ừ ế ụ th  c m t “the Virtual Reality Markup Language” ra đ i, t Markup sau đó đã đ ượ   c

ấ ự ả ả ể ổ đ i thành Modelling đ  ph n ánh b n ch t t ủ  nhiên c a VRML.

ắ ọ ờ ổ ứ ộ Sau phiên h p BOF m t th i gian ng n thì t ch c www­vrml mailing list đ ượ   c

ể ậ ự ưở ự ả ầ ậ thành l p đ  t p trung vào xây d ng phiên b n VRML đ u tien. S  h ứ ng  ng l ờ   i

ờ ủ ổ ứ ế ầ ộ ộ ờ m i c a t ự    ch c này kéo dài đ n m t tu n và có trên m t nghìn khách m i tham d .

ế ủ ổ ọ ủ ị ư ạ ả   T i bu i h p ch  t ch Mark Pesce đã thông báo ý ki n c a mình là đ a ra phiên b n

ẵ ở ộ ự ả ị phác th o xây d ng VRML đã có s n h i ngh  mùa xuân năm 1994 đ ượ ổ c t ứ    ch c

ả ủ ả ớ ượ ự ồ m i cách đó 5 tháng. B n phác th o c a Mark Pesce đã có đ c s  đ ng ý chung.

ả ộ ậ Vào tháng 3/ 1995 thì có m t th o lu n trên www­vrml mailing list liên quan

ệ ạ ữ ươ ủ ườ ử ụ ạ ả ớ ế đ n vi c t o ra nh ng t ng tác c a ng i s  d ng v i ho t c nh và t ấ ả ọ   t c  m i

ớ Nhóm 22 ­ L p KTPM2­K7

ườ ề ứ ớ ư ự ự ầ ữ ế ế ấ ố ế ng i đ u đi đ n th ng nh t ý ki n nh ng th  m i đ a ra đó th c s  c n thi t cho

GV: Vũ Đ c Huy

17

ể ư ộ ớ VRML. Công ty Silicon Graphics c ng tác v i hãng Sony Research và Mitra đ  đ a ra

ệ ả ả ớ ủ phiên b n m i cho VRML. B n đ  trình c a Silicon Graphics có tên là Moving Worlds

ự ệ ả ả ớ ế ổ ứ đ n t ch c Request for Proposals cho vi c xây d ng phiên b n m i VRML, b n đ ệ

ự ộ ủ ấ ả ứ ộ trình này là m t minh ch ng cho s  c ng tác thành công c a t ủ   t c  các thành viên c a

ạ ầ ả Silicon Graphics, Sony và Mitra. Năm 1996 t ủ   i New Orleans, phiên b n đ u tiên c a

ượ ư VRML 2.0 đ c đ a ra.

ổ ứ ố ế ề ẩ ế ấ Vào tháng 7/1996 t ch c ti u chu n qu c t (ISO) đã thông nh t ý ki n phiên

ộ ề ẽ ượ ủ ư ấ ư ả b n năm 1996 c a VRML 2.0 nh  là m t đ  xu t mà s  đ c đ a ra xem xet vào

ề ế ẩ ỏ ượ ư thang 4/1997. Sau khi b  phi u v  chu n ISO thì VRML97 đ ư ộ   c đ a ra nh  m t

ẩ chu n ISO vào năm 1997.

ơ ả ủ ể ặ 2.1.4 Đ c đi m c  b n c a VRML

ố ượ ệ ế ẩ ị ự ế ả Ti u chu n cho vi c xác đ nh đ i t ng 3D, quang c nh và cho s  liên k t các

ớ mô hình v i nhau là:

ụ ứ ạ ầ ộ ả   ể  Không ph  thu c ph n c ng: có th  ch y trên các máy tính do các nhà s n

ế ạ ấ xu t khác nhau ch  t o.

 Có th  m  r ng: có th  ch p nh n các l nh m i do ng

ể ở ộ ệ ể ấ ậ ớ ườ ử ụ i s  d ng thêm vào

ặ ị ho c quy đ nh.

 Thao tác đ

ượ ế ớ ả ườ ấ c th  gi i  o thông qua môi tr ng Internet có băng thông th p.

ể ớ Cùng v i VRML thì có th  xem thông tin trong mô hình 3D trên Internet. VRML

ượ ế ế ị ế ớ ể ệ đ c thi t k  dành riêng cho vi c hi n th  th  gi ự ở ộ   ả i 3D và không ph i là s  m  r ng

ố ượ ể ị ả ủ c a HTML. HTML có kh  năng hi n th  các đ i t ộ ng tĩnh và đ ng, các đ i t ố ượ   ng

ư ế ế ả ớ multimedia cùng v i các siêu liên k t khác đ n các media khác nh  là văn b n, âm

ớ Nhóm 22 ­ L p KTPM2­K7

thanh, phim và hình  nh.ả

GV: Vũ Đ c Huy

18

ề ơ ả ủ ấ 2.2 Các v n đ  c  b n c a VRML

ầ ơ ả ủ 2.2.1 Các thành ph n c  b n c a VRML

ệ ả ạ ồ ộ G m   các   trình   duy t  (Browses)   và   b   so n  th o  dành   riêng   cho   ngôn   ng ữ

ể ọ ế ệ ố ệ ỉ VRML. Các file ch  có th  đ c n u h  th ng có trình duy t VRML.

ư ệ ệ ố Trình duy t VRML cũng gi ng nh  trình duy t Internet( Internet Explorer hay

ượ ệ ợ Fire Fox) và đ c tích h p trong các trình duy t này.

ộ ạ ả ườ ệ B  so n th o VRML cho phép ng ề   i dùng gõ mã VRML. Hi n nay có nhi u

ư ự ụ ế ể ả ế   ộ ạ b  so n th o nh ng VRML Pad là khá thông d ng khi có th  cho xem tr c ti p k t

ệ ả ầ qu  mà không c n qua trình duy t Internet.

ị ụ ể 2.2.2 Công c  hi n th  VRML

ể ể ử ụ ị ươ Đ  hi n th  các file VRML thì ta s  d ng ch ng trình Cortona VRML Client

ươ ẽ ệ ạ ậ ắ ơ ủ c a hãng Parallrl Graphics. Ch ng trình s  giúp b n thu n ti n h n khi xem c c mô

ự ả ộ ộ hình  o trên máy tính m t cách tr c quan sinh đ ng.

ầ ướ ặ Yêu c u tr c khi cài đ t Cortona VRML Client:

ệ ề ­ H  đi u hành Microsoft® Windows® ME/2000/XP

ệ ở ở ­ Trình duy t Web Internet Explorer 6.0 tr  lên, Netscape Navigator 8.0 tr  lên,

ở ở Mozilla Firefox 1.5 tr  lên, Opera 8.5 tr  lên

ở ­ CPU Pentium® II 300 MHz tr  lên.

ố ể ­ RAM t i thi u 64 MB.

ộ ả ố ể ­ Đ  phân gi i màn hình t i thi u 1024x768.

ồ ọ ỗ ợ ặ ­ Card đ  h a h  tr  3D và cài đ t DirectX 9

ươ ớ ầ ư ế ệ Cortona VRML Client t ng thích v i h u h t các trình duy t nh  Internet

ụ Explorer, Netscape Browser, Mozilla, Mozilla Firefox và các công c  văn phòng nh ư

ớ Nhóm 22 ­ L p KTPM2­K7

Word, PowerPoint...

GV: Vũ Đ c Huy

19

ủ ẽ ễ Tính năng c a Cortona VRML ClientCortona VRML Client s  trình di n toàn

ư ả ộ ườ ạ ứ ộ b  mô hình 3D trên máy tính m t cách hoàn h o nh  khi ng ụ   i t o ra đó.  ng d ng

ộ ệ ứ ệ ố ư ỉ ề hoàn ch nh trên toàn b  hi u  ng trên nhi u h  th ng nh  Flash, DirectX9, MPEG4...

ộ ứ ẽ ượ ụ ạ ấ ộ ỏ Khi b n truy xu t vào m t  ng d ng VRML, toàn b  hình mô ph ng s  đ c trình

ễ ươ ở ấ ấ ượ ề ạ ắ di n t ng tác trên n n 3D d ng m . R t  n t ắ ng và b t m t.

ủ ậ 2.2.3 T p tin c a VRML

ể ạ ủ ậ ừ ề ạ ả T p tin c a VRML có th  t o ra t ộ  nhi u cách: dùng m t trình so n th o văn

ể ạ ở ộ ư ư ầ ặ ả ớ ả b n nh  Nopepad đ  so n th o, sau đó l u file v i ph n m  r ng là. wrl. Ho c ta co

ể ạ ư ả ả ạ ộ ạ   th  so n th o trên m t trình so n th o dành riêng cho VRML nh  VRML Pad và ch y

ự ế ứ ụ tr c ti p  ng d ng.

ư ầ ồ ộ M t file VRML g m có các ph n nh : header, scene graph, prototype và event

routing.

 Header: dùng đ  nh n d ng t p tin VRML và cách mã hóa. Header c a file

ủ ể ạ ậ ậ

ắ ầ ệ ầ ấ ấ ấ ằ ầ VRML b t đ u b ng d u #. Ngoài l n xu t hi n đ u tiên ra thì d u # đánh

ề ủ ữ ầ ạ ấ d u nh ng gì theo sau nó là ph n chú thích. File tiêu đ  c a VRML có d ng:

ả #VRML V1.0 ascii dành riêng cho phiên b n VRML 1.0 và #VRML V2.0 utf­8

ả dành cho phiên b n 2.0.

ữ ả ố ượ các đ i t ộ ng và các thu c tính đi kèm. ứ  Scene Graph: ch a nh ng node mô t

ả ệ ồ ư ộ ố ượ ầ Nó g n nh  m t cây ph  h  g m các nhóm đ i t ng.

 Prototype: cho phép m t t p các nút ki u VRML đ

ộ ậ ể ượ ở ộ ở c m  r ng b i ng ườ ử  i s

ể ượ ể ị ụ d ng. Các đ nh danh ki u này có th  đ c bao hàm trong file (mà chúng đ ượ   c

ị ở ử ụ s  d ng) hay đ nh nghĩa bên ngoài (file đó).

 Event routing: m t s  nút có th  phát sinh nh ng s  ki n đáp tr  nh ng thay

ự ệ ộ ố ữ ữ ể ả

ườ ươ ườ ổ đ i môi tr ng do t ng tác phía ng i dùng. “Event routing” cho phép m t s ộ ự

ệ ượ ệ ố ữ ế ề ừ ki n phát sinh đ c truy n đ n các “đích”­ nh ng nút trong h  th ng, t đó

ớ Nhóm 22 ­ L p KTPM2­K7

ệ ố ữ ổ gây ra nh ng thay đ i cho riêng nút đó và h  th ng

GV: Vũ Đ c Huy

20

ể ế ề 2.3 Tìm hi u chi ti t v  VRML

ố ượ ọ ơ ả ự 2.3.1 Xây d ng các đ i t ng hình h c c  b n

ế ớ ộ ượ ấ ạ ừ ố ượ ư M t th  gi i VRML đ c c u t o nên t các đ i t ọ ng hình h c nh : hình

ụ ả ầ ộ h p, hình tr , hình nón, hình c u, văn b n.

ố ượ ế ượ ể ị ẻ Shape là th  mà các đ i t ng trong nó đ u đ c hi n th . Trong node Shape

ọ ượ ạ ỉ ẽ ế có node con là geometry ch  rõ d ng hình h c đ c v  ra th  nào. Node geometry co

 Box ­ hình h pộ

ộ các thu c tính:

Ví d  :ụ

Shape{

geometry Box{ size 2.0 2.0 2.0 }

}

Các tham số

ề ộ ề ề

 size X Y Z (chi u r ng, chi u cao, chi u sâu)

 Cone ­ hình nón

Ví d  :ụ

Shape{

Geometry Cone{

height 2.0

bottomRadius 1.0

bottom TRUE

side TRUE

}

}

Các tham số

ủ ề

 height X

: chi u cao c a hình nón

 bottomRadius Y    : bán kính c a đáy

ớ Nhóm 22 ­ L p KTPM2­K7

GV: Vũ Đ c Huy

21

ệ ẩ  bottom TRUE / FALSE : hi n /  n đáy

ệ ặ ẩ

 side TRUE / FALSE  : hi n /  n m t bên

 Cylinder : v  hình tr

ẽ ụ

Ví d  :ụ

Shape{

Geometry Cylinder{

height 2.0

radius 1.0

bottom TRUE

top TRUE

side TRUE

}

}

Các tham số

ề  height X : chi u cao

ặ  radius Y : bán kính m t đáy

ệ ặ ẩ  bottom TRUE / FALSE : hi n /  n m t đáy

ệ ẩ  top TRUE / FALSE : hi n /  n m t n p ặ ắ

ệ ẩ ặ  side TRUE / FALSE : hi n /  n các m t bên

ẽ ầ  Sphere : v  hình c u

Ví d  :ụ

Shape{

Geometry Cylinder{

Radius 1.0

}

}

Các tham số

ớ Nhóm 22 ­ L p KTPM2­K7

 Radius X : bán kính

GV: Vũ Đ c Huy

22

 Text : văn b nả

ứ ạ ộ ố ự 2.3.2 Xây d ng m t s  hình ph c t p

Cú pháp

Shape{

Geometry Text{

String [“Text”,”Shape”]

fontStyle FontStyle{

family “SERIF”

style “BOLD”}

}

}

Các tham số

ả ộ  string [“N i dung văn b n”]

 family SERIP / SANS / TYPEWRITER

 style BOLD / ITALIC / BOLDITALIC / PLAIN

ủ ữ  size X : chi u cao c a ch ề

 spacing Y :

 justify FIRST / BEGIN / MIDDLE / END

 horizontal TRUE / FALSE : trình bày ngang / d c màn hình

ừ ả

 leftToRight TRUE / FALSE : trình bày t

ph i / trái sang

 topToBottom TRUE / FALSE : trình bày t

trên / d ướ i

Ví dụ

Shape{

Geometry Text{

String [“Hi all, Today is fine.”]

fontStyle FontStyle{

family “TYPEWRITER”

style “plain”

ớ Nhóm 22 ­ L p KTPM2­K7

horizontal TRUE

GV: Vũ Đ c Huy

23

justify “MIDDLE”

leftToRight TRUE

size 0.9

spacing 1.0

topToBottom TRUE

}

Lenght [6]

maxExtent 6

}

}

ườ ệ ọ ộ ề ẳ ự  Xây d ng các đ ng th ng trong h  t a đ  ba chi u

ộ ậ ẻ ợ ị ườ ệ ọ ẳ Th  IndexedLineSet xác đ nh m t t p h p các đ ng th ng trong h  t a đ ộ

ế ớ ủ ề ậ ợ ươ ứ không gian ba chi u c a th  gi i VRML và t p h p các màu t ng  ng cho các

ườ đ ẳ ng th ng đó.

ẻ ộ Th  này có các thu c tính:

ầ ấ

ố ớ ườ ườ ả   ế ng color không nh t thi t ph i ạ ẳ   ng   coord.   Ch ng   h n   khi

 Coord và color: s  thành ph n trong tr ố ầ   thành   ph n   trong   tr ị

ằ b ng   v i   s ậ colorPerVexter nh n giá tr  là FALSE.

ộ ỉ ố ứ ự ạ

 CoordIndex: bao g m m t dãy ch  s  th  t ồ ụ

ẳ ể ấ ố ớ

ườ ố ớ ẻ ể ả ứ ị ượ

ở ng th ng: m t đ

ẳ ộ ườ ể ả  cho các đi m  nh t o nên   ượ   ẳ c ng th ng đ ứ  ứ ứ   c xác đ nh trong th  Coordinate. ệ ế t hình  dãy kí hi u ­1 cho bi   ạ   ẳ ộ ườ ng th ng t o ạ   ẳ ng th ng khác t o

ấ ố ớ ố ớ ườ đ ng th ng. Ví d  colorIndex [0 1 2 3] có nghĩa là đ ể ứ ạ ở t o b i đi m th  nh t n i v i đi m th  hai,th  hai n i v i th  ba, th ố ớ ứ ư ba n i v i th  t , các đi m  nh đ ụ ộ M t ví d  khác coordIndex [0 1 ­1 2 3]  ườ ượ ạ ả c t o trong VRML g m hai đ nh đ ứ ể ứ ở b i đi m th  nh t n i v i đi m th  hai và m t đ ứ ể ở b i đi m th  ba n i v i th  t ồ ể ứ ư .

ượ ử ụ ậ

 ColorIndex: đ

ườ ậ ẻ

ể ả ế ậ ầ ả ắ ỗ ị c s  d ng khi colorPerVexter nh n giá tr  FALSE, khi ể ỏ ậ ng colorINdex colorPerIndex nh n giá tr  TRUE thì có th  b  qua tr ị ế ở trong th  IndexedLineSet b i vì n u colorPerIndex nh n giá tr  TRUE ộ thì b t bu c ph i thi t l p m u cho m i đi m  nh.

ạ ả

 ColorPerVexter:  có   giá   tr   boolean.   Khi   colorPerVexter   nh n   giá   tr ị  ẽ   i hai

n th ng s  là màu trung bình c  hai màu t

ủ ườ ườ ể ả ạ TRUE thì màu c a đ đi m  nh t o nên đ ị ẳ ẳ ng th ng.

ớ Nhóm 22 ­ L p KTPM2­K7

Cú pháp

GV: Vũ Đ c Huy

24

IndexedLineSet{

Coord coordinate[]

coordIndex

color Color[]

colorIndex[]

colorPerVexter TRUE

}

Ví dụ

Shape{

Appearance Appearance{}

Geometry IndexedLineSet{

Coord Coordinate{

Point[

0.0 0.0 0.0,0.0 4.0 0.0, 2.0 0.0 0.0,]

}

Color Color{

Color[

1.0 1.0 1.0,1.0 0.0 0.0,0.0 0.0 1.0

]

}

coordIndex[

0 1 2 0

]

colorPerVexter TRUE

}

}

 Xây d ng khung b  m t trong không gian

ề ặ ự

ề ặ ằ ế ợ ẽ ạ ể ẻ ớ Th  IndexedFaceSet s  t o lên b  m t b ng cách k t h p các đi m v i nhau.

Cú pháp

ớ Nhóm 22 ­ L p KTPM2­K7

IndexedFaceSet

GV: Vũ Đ c Huy

25

{

Coord Color[]

coordIndex[]

color color[]

colorIndex[]

colorPerVexter TRUE

convex TRUE

solid TRUE

}

ở ị

ượ ể ế ả ầ ỉ ẳ  Coord, coordIndex, color, colorIndex, colorPerVexter có đ c đi m t ươ   ể ng ở c xác đ nh b i các   ộ   ạ i m t ư ề ặ  trên. Chú ý là b  m t luôn luôn đ ng th ng khép kín vì th  không ph i ch  ra đi m đ u tiên l

ườ ự  nh  đã nói  t ườ đ ầ ữ l n n a trong tr ng coord.

Ví dụ

Coord Coordinate

{

Point [0 0 0,1 0 0,1 1 0,0 1 0]

}

ẽ ạ ể ế ể ố ị ằ   Đã có b n đi m xác đ nh, khi liên k t các đi m này s  t o ra hình vuông b ng

ử ụ ứ ể ằ ộ ấ   cách s  d ng thu c tính coordIndex[] và coordIndex[0 1 2 3] nói r ng đi m th  nh t

ố ớ ố ớ ứ ứ ứ ứ ể ể ể ể ể   ố ớ n i v i đi m th  hai, đi m th  hai n i v i đi m th  ba, đi m th  ba n i v i đi m

ứ ư ứ ư ố ớ ứ ấ th  t ể  và đi m th  t ể  n i v i đi m th  nh t.

ị ồ  Convex đ nh nghĩa b  m t là l

ườ i hay lõm, tr ỉ ẽ ề ặ ồ ề ặ ệ ộ

ị ể   ề ặ ng này có giá tr  ki u ẽ  ợ ườ ệ ng h p v i, trong tr boolean. B  trình duy t VRML ch  v  b  m t l ơ   ề ặ ồ ề ặ b  m t lõm, b  trình duy t chia b  m t đó thành các b  m t l i bé h n ể ẽ đ  v .

Ví dụ

Shape

{

Appearance appearance{}

Geometry IndexedFaceSet

ớ Nhóm 22 ­ L p KTPM2­K7

{

GV: Vũ Đ c Huy

26

Coord coordinate

{

Point[0 0 0,1 1 0,0 1 0,1 1 0,1 0 0,1 0 1]

}

coordIndex[0 1 2 3 ­1 4 5 6]

color Color

{

Color[1 1 1,1 0 0]

}

colorIndex [0 1]

colorPerVexter FALSE

convex FALSE

solid FALSE

}

}

ướ ả ồ ự  Xây d ng khung l i và b n đ  trong không gian

ự ẻ ướ ượ ạ ể ở Th  ElevationGrip cho phép xây d ng khung l c t o b i các đi m có đ i đ ộ

ấ ữ ự ệ ẻ ạ ị cao xác đ nh trong không gian. Th  này r t h u ích cho vi c xây d ng các m ng l ướ   i

ặ ị ho c đ a hình.

ự ả ượ ủ ặ ặ ẳ Hình  nh xây d ng đ ể   c đ t trong không gian c a m t ph ng OXYZ. Đi m

ố ọ ể ộ ạ ạ ướ ả ằ ướ ắ ầ b t đ u là g c t a đ , các đi m còn l i t o nên l i ph i n m theo h ng d ươ   ng

ụ ủ c a các tr c OX avf OZ.

Cú pháp

ElevationGrid

{

xDimension 0

xSpacing 0.0

zDimension 0

zSpacing 0.0

ớ Nhóm 22 ­ L p KTPM2­K7

height[]

GV: Vũ Đ c Huy

27

color color[]

colorPerVexter TRUE

convex TRUE

solid TRUE

}

Tham số

ấ ươ ự ư  Color, colorPerVexter, convex, solid có tính ch t t ng t nh  đã nói ở

ầ ph n trên.

ứ ố ể ướ ằ ụ  xDimension ch a s  đi m bên trong l i n m trên tr c X.

ứ ố ể ướ ằ ụ  zDimension ch a s  đi m bên trong l i n m trên tr c Z.

ủ ể ế ả ướ  xSpacing là kho ng cách c a hai đi m liên ti p nhau theo h ủ   ng c a

ụ tr c X.

ủ ế ể ả ướ  zSpacing là kho ng cách c a hai đi m liên ti p nhau theo h ủ   ng c a

ụ tr c Z.

ị ộ ứ ủ ể ộ ỗ ướ  height ch a m t danh sách các giá tr  đ  cao c a m i đi m trong l i.

ượ ứ ự ừ ả ừ ố ướ ể Các đi m này đ c tính theo th  t t trái sang ph i t trên xu ng d i.

Ví dụ

Shape {

appearance Appearance {

material Material { }

}

geometry ElevationGrid {

xDimension  9

zDimension  9

xSpacing    1.0

zSpacing    1.0

solid       FALSE

height [

0.0, 0.0, 0.5, 1.0, 0.5, 0.0, 0.0, 0.0, 0.0,

0.0, 0.0, 0.0, 0.0, 2.5, 0.5, 0.0, 0.0, 0.0,

ớ Nhóm 22 ­ L p KTPM2­K7

0.0, 0.0, 0.5, 0.5, 3.0, 1.0, 0.5, 0.0, 1.0,

GV: Vũ Đ c Huy

28

0.0, 0.0, 0.5, 2.0, 4.5, 2.5, 1.0, 1.5, 0.5,

1.0, 2.5, 3.0, 4.5, 5.5, 3.5, 3.0, 1.0, 0.0,

0.5, 2.0, 2.0, 2.5, 3.5, 4.0, 2.0, 0.5, 0.0,

0.0, 0.0, 0.5, 1.5, 1.0, 2.0, 3.0, 1.5, 0.0,

0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.5, 0.5,

0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0,

]

}

}

ả K t quế

ụ ề ự ướ ồ Hình 2.1  Ví d  v  xây d ng khung l ả i và b n đ

ế ổ

2.3.3 Các phép bi n đ i trong VRML

ầ ủ ế ớ ả ự ặ ọ ộ M t file VRML xây d ng các thành ph n c a th  gi ị i  o. M c đ nh m i hình

ả ượ ự ề ượ ặ ở ọ ộ ố ế ạ ổ nh đ c xây d ng trong VRML đ u đ c đ t ộ    t a đ  g c. Bi n đ i là t o ra m t

ệ ụ ọ ộ ớ ệ ị ươ ố ệ ố h  th ng h  tr c t a đ  m i mà h  truc này có v  trí t ớ ệ ọ ộ ặ   ng đ i so v i h  t a đ  m c

ớ Nhóm 22 ­ L p KTPM2­K7

ư ể ế ổ ị đ nh. Có các phép bi n đ i nh : di chuy n, co giãn, xoay.

GV: Vũ Đ c Huy

29

ứ ạ ơ ả ụ ớ Hình 2.2 Tr c XYZ v i 1 hình c  b n và 1 hình ph c t p

ư ế ả ổ ị Nhóm Node  Transform  qu n lý các phép bi n đ i trong VRML nh  : d ch

ể ồ chuy n, co dãn, xoay. Node transform g m có các node con: translation,  rotation,

scale, children.

ể  Phép di chuy n ( Translation )

Ví d  :ụ

Transform {

translation 2.0 0.0 0.0

children [. . . ]

}

Tham s  :ố

 Phép xoay ( Rotation )

 translation X Y Z

Ví d  :ụ

Transform {

rotation 0.0 0.0 1.0 0.52

children [. . . ]

}

Tham s  :ố

rotation X Y Z Góc

ớ Nhóm 22 ­ L p KTPM2­K7

 Góc = radians = degrees / 180.0 * 3.141

GV: Vũ Đ c Huy

30

ể ẽ ố ượ ư ệ ắ L u ý: đ  d  dàng trong vi c xoay đ i t ề ng theo đúng chi u ta có quy t c

bàn tay ph i.ả

ụ Hình 2.3 Quay theo tr c X, Y, Z

ả ạ ắ ẽ N m bàn tay ph i l ỉ ư i, choãi ngón cái ra theo nh  hình v . Ngón tay cái ch

ươ ề ừ ổ ề ươ ủ ụ ế ph ng c a tr c quay thì chi u t c  tay đ n các ngón tay chi chi u d ng

ố ượ khi quay đ i t ng.

 Scale : co dãn đ i t

ố ượ ng

Ví d  :ụ

Transform {

scale 0.5 0.5 0.5

children [. . . ]

}

Tham s  :ố

scale X Y Z

 Children : Các đ i t

ố ượ ướ ị ả ẽ ẽ ưở ủ ng đ c v  trong này s  ch u  nh h ng c a các phép

ế ổ bi n đ i trong node Transform.

Vi d  :ụ

Transform {

translation ­2.0 ­1.0 0.0

children [

Shape {

appearance Appearance {

ớ Nhóm 22 ­ L p KTPM2­K7

material Material { }

GV: Vũ Đ c Huy

31

}

geometry Cylinder {

radius 0.3

height 6.0

top FALSE

}

}

]

}

Shape {

Geometry Box { size 1.0 1.0 1.0}

}

ớ ọ ộ ố ụ ẽ ị ư ụ ụ ể Nh  ví d  trên thì hình tr  s  d ch chuy n so v i t a đ  g c theo tr c X là

ụ ằ ộ ­2.0 và theo tr c Y là ­1.0, còn hinh h p thì n m t ạ ọ ộ ố i t a đ  g c

ắ 2.3.4 Màu s c trong VRML

ố ượ ể ể ặ ị ẽ ẽ ắ ạ Các đ i t ng khi v  s  có m c đ nh là màu tr ng và b n có th  ki m soát các

ư ứ th  nh  : Shading color, Glow color, Transparency, Shininess, Ambient intensity. Màu

ượ ể ệ ố ớ ắ s c trong VRML đ c th  hi n qua 3 thông s  là R G B( red­green­blue) v i giá tr ị

ả ừ ằ n m trong kho ng t ế  0.0 đ n 1.0.

ằ ệ ả Node material n m trong node appearance qu n lý vi c này. Node material có

các node con là :

 diffuseColor : màu s c khuy t tán

ế ắ

 emissiveColor : màu s c c a ánh sáng phát ra t

ắ ủ ừ ố ượ  đ i t ng

 transparency : đ  trong su t ( 0 : t

ộ ố ố ờ i m , 1 : nét )

 ambientIntensity : xác đ nh hàm l

ị ượ ố ượ ế ng ánh sáng mà đ i t ả ng ph n chi u

 specularColor : cho bi

ế ề ặ ủ ố ượ ắ ủ t màu s c c a các pixel trên b  m t c a đ i t ng

 shininess : c

ớ Nhóm 22 ­ L p KTPM2­K7

ườ ộ ng đ  sáng

GV: Vũ Đ c Huy

32

Ví d  : ụ not

Shape {

appearance Appearance {

material Material {

diffuseColor 0.8 0.8 0.8

emissiveColor 0.0 0.0 0.0

transparency 0.0

specularColor 0.71 0.70 0.56

shininess 0.16

ambientIntensity 0.4

}

}

geometry. . .

}

2.3.5 Nhóm node

ố ượ ể ơ ẻ ố ượ Ta có th  nhóm các đ i t ng đ n l ữ  thành nh ng đ i t ệ   ứ ạ ng ph c t p. Vi c

ộ ượ ạ ộ ồ ấ ộ ặ đ t m t nhóm này vào nhóm kia t o thành m t l c đ  c u trúc các node. M t node

ể ặ ấ ườ trong nhóm có th  có b t kì các node con nào đ t bên trong tr ng children.

ượ ỗ ợ Có các node nhóm sau đ c h  tr  trong VRML: Anchor, Billboard, Group,

Switch, Transform, Inline

ộ ậ ố ượ ợ ế ế   ng và cách liên k t đ n ị  Anchor: cho phép xác đ nh m t t p h p các đ i t

ế ế ế ớ ư ạ ẳ ộ ộ ế m t url, ch ng h n nh  là m t siêu liên k t đ n th  gi ộ   i VRML khác, đ n m t

ộ ữ ệ ệ ế ặ ộ ể ọ   trang HTML ho c đ n m t d  li u nào đó mà toàn b  trình duy t có th  đ c

ố ượ ượ đ ộ c. Khi kích vào m t trong các đ i t ng bên trong node Anchor thì toàn b ộ

ệ ẽ ư ố ượ ư ế ộ ị ỉ trình duy t s  đ a đ n đ a ch  url. Khi đ a chu t qua đ i t ứ   ng nào đó ch a

ấ ượ ị ủ ể ỉ trong node thì có th  nhìn th y đ c đ a ch  url c a nó.

Ví dụ

Anchor{

ớ Nhóm 22 ­ L p KTPM2­K7

Children[

GV: Vũ Đ c Huy

33

Shape{

Geometry Sphere{}}]

url http://www.cuasoit.com

description “Toi trang web cua lop CT 901”

}

ộ Các thu c tính

ứ ấ ả t c  các node bên trong nhóm

 children: ch a t

ề ặ

 url: cho bi

ỉ ế ị t đ a ch  url đ ộ ể ữ ệ ượ ệ ẽ ị ị

ứ ự ư ầ ả ế c tìm ki m. Có th  có nhi u v  trí đ t trong ế url, khi đó b  trình duy t s  tìm ki m d  li u trong các v  trí này theo th  t u tiên gi m d n.

ệ ấ ộ ụ

 parameter: cung c p thông tin thêm vào cho b  trình duy t. Cho ví d

ử ổ ầ ể ỉ ể ị có th  ch  rõ là c a s  c n xem mà url hi n th  vào đó.

ẽ ể ị ườ i dùng di

 description: đ a ra m t xâu, xâu này s  hi n th  khi ng

ộ ộ ứ ư ố ượ chu t qua đ i t ng ch a trong node Anchor.

ữ ậ ộ ị

ấ ả ị ủ ộ

 bboxCenter: xác đ nh trung tâm c a m t hình h p ch  nh t mà nó bao ủ   ể   ng này là m t đi m

ộ ườ t c  các node trong nhóm. Giá tr  c a tr

quanh t trong không gian.

ậ ộ

ườ

ườ ị

ặ ơ

ườ ế

 bboxSize: xác đ nh kích th ữ ướ ủ ị ấ ả  c c a hình h p ch  nh t bao quanh t t c ặ ị ị các node trong nhóm. M c đ nh tr   ng này có giá tr  ­1 ­1 ­1 nghĩa là ấ ả ộ ầ ủ không có hình h p nào. T t c  các giá tr  thành ph n c a tr   ng này là ế ấ ả ằ ằ ớ   l n h n ho c b ng 0.N u t t c  các node con không n m trong hình ị ả ộ h p thì k t qu  không xác đ nh. Hai tr   ng bboxCenter và bboxSize là tùy ch n.ọ

ộ ậ ể ơ ư ự ậ ạ ộ ợ ể  Group: t o ra m t t p h p các v t th  nh  là m t th c th  đ n. Node này có

ườ ườ ươ ự các tr ng: ng này t ng t nh ư children,  bboxCenter,  bboxSize. Các tr

ể ấ ả ủ c a node Anchor. T t c  các node con trong ị ề Group đ u hi n th .

Ví d :ụ

Group{

Children[]

bboxCenter 0 0 0

bboxSize ­1 ­1 ­1

ớ Nhóm 22 ­ L p KTPM2­K7

}

GV: Vũ Đ c Huy

34

ể ạ ộ ộ ỉ ượ   c ổ  Switch: t o ra m t nhóm chuy n đ i. Ch  có m t node con trong nhóm đ

ể ị ườ ự ọ hi n th . Và node này là do ng i dùng l a ch n. Node con tuy t đ i đ ệ ố ượ   c

ố ừ ự ọ đánh s  t 0, không l a ch n đánh là ­1.

Ví d :ụ

ộ Các thu c tính:

 whichChoice

 choice

 Transform: xác đ nh h  tr c t a đ  m i cho các đ i t

ệ ụ ọ ộ ớ ố ượ ị ộ   ng trong cùng m t

ượ ở nhóm. Node này đã đ c trình bày trên.

 Billboard: node này t o ra m t nhóm v i h  t a đ  d c bi

ớ ệ ọ ộ ặ ạ ộ ệ ấ ả t. T t c  các node

ề ượ ể ị ượ ệ trong nhóm đ u đ ệ ọ ộ c hi n th . H  t a đ  này luôn đ ớ   ề ố c quay v  đ i di n v i

ườ ng i dùng.

Vi d :ụ

Billboard{

axisOfRotation 0.0 1.0 0.0

children [....]

}

ộ Các thu c tính:

 axisOfRotationbboxCenter

 bboxSize

 Inline: node này s  đ

ẽ ượ ở c trình bày ầ  ph n sau

ộ ố ươ ẽ 2.3.6 M t s  ph ng pháp v  trong VRML

ể ẽ ự ố ượ ế Trong VRML chúng ta có th  v  tr c ti p đ i t ề   ng. Tuy nhiên trong nhi u

ườ ố ượ ợ ượ ử ụ ế ẽ ấ ề ầ ẽ ự ệ ấ tr ng h p, đ i t ng đ ờ   c s  d ng nhi u l n thì vi c v  tr c ti p s  r t m t th i

ứ ượ gian, công s c và tăng dung l ể ng file lên đáng k .

ớ Nhóm 22 ­ L p KTPM2­K7

ấ ể ả ụ ế Có 2 cách thông d ng nh t đ  gi ệ i quy t vi c này đó là:

GV: Vũ Đ c Huy

35

 Inline: hàm Inline cho phép ta g i tr c ti p m t đ i t

ộ ố ượ ọ ự ế ng bên ngoài file vào

ệ ạ file hi n t i.

Cú pháp:

ườ Inline {url ”Tên đ ẫ ng d n”}

Vi d :ụ

Inline {url ”robo.wrl”}

 DEF ( DEFine ): cho phép ta đ nh nghĩa m t đ i t

ộ ố ượ ị ộ ộ ể ng hay m t ki u thu c tính

Vi dụ

Shape {

appearance Appearance {

material DEF RedColor Material {

diffuseColor 1.0 0.0 0.0

}

}

geometry. . .

}

Shape {

appearance Appearance {

material USE RedColor

}

geometry. . .

}

ố ượ ư ụ ị ể ố Nh  ví d  trên ta đ nh nghĩa đ i t ng RedColor ki u Material. Sau đó mu n

ạ ằ ọ ừ ử ụ s  d ng l i ta g i hàm b ng t khóa USE.

2.3.7 Texture Mapping

ể ỗ ế ế ấ ộ ố ượ ủ ỏ Ta có th  mô hình m i chi ti t k t c u nh  bé c a m t đ i t ả   ng. Thay vì ph i

ề ặ ế ấ ể ẽ ể ấ ư ấ ờ ộ ứ ả m t th i gian đ  v  ta có th  l y m t b c  nh dán lên b  m t k t c u nh  là dán

ớ Nhóm 22 ­ L p KTPM2­K7

ậ ượ ọ ạ ế ấ decal. Kĩ thu t này đ c g i là ánh x  k t c u.

GV: Vũ Đ c Huy

36

ể ử ụ ạ ả ị ộ Trong VRML có th  s  d ng m t trong các đ nh d ng  nh sau đây:

 GIF: 8bit, có h  tr  trong su t, không là s  l a chon t

ỗ ợ ự ự ố ố t cho texture mapping.

 JPEG: t

ừ ỗ ợ ự ự ọ ố ố 8­16 bit, không h  tr trong su t, là s  l a ch n t t cho texture

mapping.

 PNG: t

ừ ể ả ỗ ợ ự ự ừ ố ố 8­16 bit, h  tr  trong su t trên t ng đi m  nh, là s  l a chon t ấ   t nh t

cho texture mapping.

2.3.8 Script

ể ở ộ ư ư ẻ ẻ ề ầ ạ ả ạ   Th  script  đ a ra kh  năng linh ho t, m m d o đ  m  r ng g n nh  vô h n

ủ ư ả ầ ộ ộ ợ các yêu c u hành đ ng c a chúng ta cũng nh  hành đ ng mong đ i ph n h i t ồ ừ ế th

ớ ả ủ ẻ ị ươ ớ gi i  o c a chúng ta. Th  script cho phép chúng ta xác đ nh cách t ng tác v i th ế

ớ ả ệ ử ụ ữ ậ ư ặ ằ gi i  o b ng vi c s  d ng các ngôn ng  l p trình nh  Java, Javascript ho c VRML

ượ ư ở ớ script m i đây đ c đ a ra b i Silicon Graphics, Inc.

ể ể ộ ườ ư ộ Trong m t th  Script có th  có các tr ng hay các thu c tính, nh ng không

ự ệ ẻ ể ẻ ớ ố ị gi ng v i các th  khác, trong th  script chúng ta có th  xác đ nh các s  ki n mà th ẻ

ử ự ệ ể ẽ ẻ ậ ộ ộ ộ ị ỗ   này có th  nh n và g i s  ki n. M t th  script s  xác đ nh m t hành đ ng nào đó m i

ộ ự ệ ể ạ ẻ ậ ỗ ề ự ệ   ộ lúc nó nh n m t s  ki n, trong m i hành đ ng th  script có th  t o ra nhi u s  ki n.

ể ượ ụ ở ạ ủ ụ ữ ự ể ẻ ơ H n n a th  script có th  đ c d ng đ  xây d ng các th  t c kh i t o (initiazation

ừ ắ procedures) và d ng, t t (shutdown procedures).

ự ệ ự ệ ấ ỳ ẻ ể ậ ộ ị M t th  script có th  nh n b t k  các s  ki n, các giá tr  mà các s  ki n này có

ượ ự ệ ủ ủ ế ế ạ ộ đ c là các bi n thu c lo i eventIn. Tên c a các bi n này là tên c a các s  ki n mà

ậ ự ệ ể ọ ẻ ế ỉ th  script nh n s  ki n đó. Các bi n này là ch  có th  đ c nghĩa là chúng ta không th ể

ế ậ ấ ỳ ế ị ự ế ẻ ạ ộ ộ thi ạ   t l p giá tr  tr c ti p cho b t k  bi n nào thu c lo i này. M t th  script cũng t o

ự ệ ự ệ ấ ỳ ị ượ ế ra b t k  các s  ki n nào, các giá tr  mà các s  ki n này có đ ộ   c là các bi n thu c

ạ lo i eventOut.

Cú pháp

Script

ớ Nhóm 22 ­ L p KTPM2­K7

{

GV: Vũ Đ c Huy

37

url[]

directOutput FALSE

mustEvaluate FALSE

eventIn Datatype EventName

eventOut Datatype EventName

field Datatype FieldName InitialValue

}

ươ ượ ữ ầ ử t ch c x  lí. Các ngôn ng  g n đây h

 url cho bi ợ

ế ệ ng trình script đ ự ươ ỗ    ng trình script này là: JAVA, JavaScript,

tr  cho vi c xây d ng các ch VRMLScript.

ể ệ ử ụ ế ớ ả ổ

 Có hai cách mà có th  thay đ i th  gi

ằ ặ ự ệ ế ế ẻ ấ ộ

ứ ứ ẻ ả

ế ệ ề i  o b ng vi c s  d ng script: ử ụ th  nh t là s  d ng m t bi n eventOut và đ t s  ki n đ n th  khác, ủ ườ ự ậ ng c a th  khác, chú ý là c  hai th  hai là truy c p tr c ti p các tr ự ả cách này đ u ph i th c hi n trong ther script.

ả ẽ ế ớ ả ộ ả   ừ i  o v a ph i

ớ Nhóm 22 ­ L p KTPM2­K7

 Đi u khó khăn cho b  trình duy t là v a ph i v  th  gi ộ ự ệ ở ệ ờ ừ  cùng m t th i gian. ề ử x  lý các s  ki n

GV: Vũ Đ c Huy

38

Ứ ụ ự ọ ệ

ƯƠ

ng d ng VRML trong vi c xây d ng xóm tr  Hoàng

CH

NG  3.

Tr ngườ

3.1 Bài toán

ờ ơ ậ ị ớ ườ ạ ọ ẳ Bây gi trên các thành th  l n, n i t p trung các tr ọ   ng đ i h c cao đ ng m c

ọ ủ ự ề ấ ấ ầ ợ ế lên r t nhi u, nhu c u thuê tr  c a sinh viên là r t cao nên d a vào l i th  đó các h ộ

ườ ọ ế ứ ự ữ ộ ầ dân g n các tr ng đã xây d ng lên nh ng xóm tr  h t s c khang trang và r ng rãi,

ầ ủ ế ị ứ ề ậ ọ đáp  ng đúng nhu c u c a sinh viên. Chính vì v y chúng em quy t đ nh ch n đ  tài

ệ ự ạ ả ọ ể ề ể ỏ ử ụ s  d ng công ngh  th c t ấ i  o đ  mô ph ng 1 trong r t nhi u xóm tr  đ  sinh viên

ể ưở ượ ượ ả ọ ư ế có th  t ng t ng ra đ c c nh xóm tr  nh  th  nào

ọ ượ ể ệ ề ọ ề ơ Xóm tr  đ ộ c th  hi n trên n n m t trang web nên m i ng ườ ở i nhi u n i có

ự ế ọ ả ể ề ặ ả ầ th  tham gia tr c ti p vào xóm tr   o mà không c n ph i cài đ t gì nhi u.

ặ ướ ả ng gi ế i quy t ầ 3.2 Yêu c u đ t ra và h

ự ọ

3.2.1 Xây d ng xóm tr

 V n đ  đ t ra

ề ặ ấ

ọ ầ ự ượ ự ề ồ Xóm tr  c n xây d ng đ c chia làm nhi u khu v c, g m có:

 Các phòng tr  ọ

 Khu đ  xeể

ả ướ  H ng gi ế i quy t

ỗ ợ ệ ư ộ ơ ả ữ ẽ ầ Ngôn ng  VRML có h  tr vi c v  các hình c  b n nh : h p, c u, nón...Vì

ệ ử ụ ể ễ ự ế ờ ượ ơ ả th  nh  vào vi c s  d ng các hình c  b n này ta có th  d  dàng xây d ng đ c b ộ

ớ Nhóm 22 ­ L p KTPM2­K7

ọ ủ khung c a xóm tr .

GV: Vũ Đ c Huy

39

ơ ồ ọ Hình 3.1 S  đ  xóm tr

ơ ồ ế ọ Hình 3.2 S  đ  chi ti t phòng tr

3.2.2 Trang trí xóm trọ

 V n đ  đ t ra

ề ặ ấ

ộ ộ ả ượ ả ầ ọ ơ ỉ Xóm tr  không ch  là m t b  khung đ n gi n mà c n ph i đ ộ   c trang trí m t

ớ Nhóm 22 ­ L p KTPM2­K7

ư ậ ỉ ỉ ườ ớ ượ ả ư ộ ố cách t  m . Có nh  v y ng i dùng m i có đ c c m giác gi ng nh  m t xóm

GV: Vũ Đ c Huy

40

ọ ậ  Tr  th t.

ướ ả H ng gi ế i quy t

ượ ậ ệ ề ậ ớ ể Ta có th  làm đ c đi u này v i texture mapping. Gán v t li u lên các v t th ể

ư ườ ẽ ầ ượ ả ư ế ố ươ ứ t ng  ng nh  sàn, t ng hay tr n ta s  thu đ c các k t qu  nh  ý mu n.

ố ượ ọ ng bên trong xóm tr ự 3.2.3 Xây d ng các đ i t

 V n đ  đ t ra

ề ặ ấ

ả ườ ậ ụ ẩ ạ ọ Trong xóm tr  ph i có ng i, các v t d ng sinh ho t,...Và các tác ph m này s ẽ

ượ ẹ ắ ộ ườ ư ễ ả đ c bài trí m t cách đ p m t giúp ng i dùng d  quan sát cũng nh  có c m giác

ư ộ ố ọ ậ gi ng nh  m t xóm tr  th t

ả ướ  H ng gi ế i quy t

ỉ ỗ ợ ẽ ọ ơ ả ứ ạ ữ ạ ạ VRML ch  h  tr  v  nh ng d ng hình h c c  b n còn các d ng ph c t p thì

ể ự ệ ượ ế ầ ề ầ ộ ấ r t khó có th  th c hi n đ c. Vì th  c n dùng m t ph m m m bên ngoài đ  gi ể ả   i

ọ ở ế ệ ề ầ ố ượ quy t vi c này. Và ph n m m em ch n đây là 3DS Max. Các đ i t ng s  đ ẽ ượ ẽ c v

ộ ế ằ ữ ể ươ m t cách chi ti t b ng 3DS Max và chuy n sang ngôn ng  VRML ( ch ng trình 3DS

ỗ ợ ỉ ầ ặ ạ ị Max có h  tr  export sang đuôi .wrl ). Lúc này ta ch  c n đ t đo n code này vào v  trí

ố ượ ẽ ấ ố mong mu n là đ i t ọ ệ ng đó s  xu t hi n trong xóm tr .

Hình 3.3 Export sang file VRML

ể ọ

3.2.4 Di chuy n bên trong xóm tr

 V n đ  đ t ra

ề ặ ấ

ư ế ể ẽ ể ế ượ S  là thi u sót n u nh  ta không th  di chuy n đ ộ c trong m t th  gi ế ớ ả   i  o.

ọ ả ậ ườ ể ạ Xóm tr   o cũng v y, ng i dùng có th  đi l ạ   ọ ộ i bên trong xóm tr  m t cách linh ho t,

ể ể ả ượ ạ ộ ọ ườ tho i mái đ  có th  quan sát đ c ho t đ ng bên trong xóm tr . Ng i dùng có th ể

ế ả ả ố ố ộ ậ quay trái, quay ph i, ti n, lùi, th m chí là tăng t c và gi m t c đ .

ớ Nhóm 22 ­ L p KTPM2­K7

ả ướ  H ng gi ế i quy t

GV: Vũ Đ c Huy

41

ế ề ộ ơ ể ẵ ượ ợ ẵ ữ Có s n m t c  ch  đi u khi n đ ớ   c tích h p s n trong ngôn ng  VRML v i

ỉ ầ ủ ẽ ộ ớ ế ợ chu t và các phím mũi tên. Ta ch  c n k t h p nó v i góc quay c a camera thì ta s  có

ạ ậ ự ở ể ọ ả c m giác là đang đi l i v y. Th c ra ậ  đây xóm tr  và các v t th  bên trong nó đ ượ   c

ộ ố ượ ư ề ể ể ọ ỉ xem nh  là m t đ i t ư   ng và khi ta đi u khi n thì ch  có xóm tr  là di chuy n. Nh ng

ờ ế ợ ế ạ ầ ả ậ nh  k t h p góc quay nên ta có c m giác khi ti n l i g n thì v t to ra, và khi ra xa thì

 Mã ngu nồ

ỏ ạ ư ể ậ ố ậ v t nh  l i gi ng nh  là đang di chuy n v y.

Viewpoint

{

#góc nhìn

orientation 0.024791 0.99938 ­0.024992 1.57938

ọ ộ ể ặ #t a đ  đ  đ t góc nhìn

position 4.79336 1.25 ­4.7879

}

ọ ố ượ 3.2.5 Ch n đ i t ng

 V n đ  đ t ra

ề ặ ấ

ườ ử ụ ạ ọ ọ ể ấ Khi ng i s  d ng đi l ẩ   i bên trong xóm tr , h  có th  nhìn th y các tác ph m

ậ ở ệ ư ượ ể ộ ngh  thu t đây nh  t ể ng, tranh, phù điêu,...Đ  có th  quan sát m t cách kĩ càng và

ườ ử ụ ẽ ớ ể ậ ộ ọ ỉ ỉ t  m  ng i s  d ng có th  kích chu t vào v t mà mình ch n. Sau đó ta s  t ộ   i m t

ở ườ ử ụ ể ỏ ộ không gian khác mà đây ng i s  d ng có th  phóng to, thu nh , xoay m t cách linh

ạ ể ề ậ ộ ỉ ỉ ho t đ  xem xét v t mà mình đã chon m t cách t  m . Ngoài ra còn có thông tin v  tác

ả ẩ ượ ườ ẩ gi và tác ph m đ ấ c cung c p cho ng i dùng ngay trên tác ph m.

ả ướ  H ng gi ế i quy t

ẽ ử ụ ủ ụ ạ ộ ộ ế   ữ Ta s  s  d ng m t node c a ngôn ng  VRML có tác d ng t o ra m t liên k t

ể ậ ặ ớ t i file HTML ho c VRML khác. Lúc này khi di chuy n vào v t đã đ ượ ử ụ   c s  d ng

ộ ẽ ỏ ổ ế node này, con tr  chu t s  thay đ i và bi n thành hình bàn tay. Khi ta kích vào s  t ẽ ớ   i

ặ ố trang HTML ho c file VRML mà ta mu n.

ớ Nhóm 22 ­ L p KTPM2­K7

ọ ồ  Mã ngu n minh h a

GV: Vũ Đ c Huy

42

Anchor {

ế ố ỉ ị # Đ a ch  mà ta mu n đ n

url "cuasoit.com"

ẽ ệ ố ượ ộ #Dòng thông tin s  hi n lên khi ta di chu t và đ i t ng

description "Twisty Stairs"

children [ . . . ]

}

3.2.6 Ánh sáng

 V n đ  đ t ra

ề ặ ấ

ư ở ể ậ ọ ố ả ầ ờ ứ ở Đ  làm cho m i th  tr  nên th t gi ng nh ngoài đ i thì ta c n ph i có ánh

ố ượ ẽ ở ơ ộ ố ườ sáng. Ánh sáng s  làm các đ i t ng 3D tr nên s ng đ ng h n, giúp ng i dùng

ơ ọ ứ h ng thú h n khi đi tham quan xóm tr .

ả ướ  H ng gi ế i quy t

ư ề ể ạ ị ướ Trong VRML có nhi u lo i ánh sáng nh : ánh sáng đi m, ánh sáng đ nh h ng.

 Mã ngu nồ

ẽ ử ụ ạ ồ ừ ể Ta s  s  d ng 2 lo i này đ  làm thành các ngu n sáng t ọ  các đèn bên trong xóm tr .

DEF DL1 DirectionalLight

{

direction 0.8 0.5 1.2

}

ở ử 3.2.7 Đóng m  c a

 V n đ  đ t ra

ề ặ ấ

ử ể ọ ồ ế ẽ Xóm tr  g m có 20 phòng chính. Vì th  s  có các c a đ  ngăn cách các phòng

ớ ườ ở ử ả ấ ố này v i nhau. Ng i dùng mu n đi vào phòng nào thì ph i m  c a phòng đ y.

ả ướ  H ng gi ế i quy t

ả ạ ộ ươ ể ề ể Ta ph i dùng m t đo n Script nhúng vào trong ch ệ   ng đ  đi u khi n vi c

ớ Nhóm 22 ­ L p KTPM2­K7

ở ử ự ệ ờ ẽ ễ đóng m  c a. Vi c này s  di n ra trong th i gian th c.

GV: Vũ Đ c Huy

43

ố ư 3.2.8 T i  u khung hình

 V n đ  đ t ra

ề ặ ấ

ệ ử ụ ể ẽ ố ượ ớ ọ ẽ V i vi c s  d ng 3DS Max đ  v  các đ i t ng bên trong xóm tr  s  làm cho

ấ ặ ố ượ ề ế ở ượ ẽ ẽ các file này tr  nên r t n ng. Vì th  khi có quá nhi u đ i t ng đ c v  s  làm cho

ả ầ ọ ậ ẽ ấ ả ậ ố khung hình gi m xu ng ch m tr ng, gây gi t, ch m hình  nh và s  r t khó khăn đ ể

ườ ng i dùng quan sát.

ả ướ  H ng gi ế i quy t

ẽ ượ ự ỗ ề ộ M i khu v c, phòng khác nhau s  đ c chia thành nhi u file thay vì m t file

ư ướ ở ế ả ộ ố nh  tr c. Khi ta phòng này mà mu n đ n phòng khác thì ph i click chu t vào th ứ

ả ử ẽ ọ ế ử ẽ ộ gì đó (gi s  là m t cánh c a), khi đó máy tính s  g i đ n file v  phòng kia và phòng

ẽ ượ ạ ỏ ố ượ ẽ ệ ở ữ này s  đ c xóa đi. Vi c này s  giúp lo i b  đi các đ i t ng nh ng phòng khác

ẫ ượ ư ẽ nh ng v n đ c máy tính v  ra.

ả ạ ượ ế ướ ể c và h ng phát tri n

3.3 K t qu  đ t đ

ả 3.3.1 K t quế

ớ Nhóm 22 ­ L p KTPM2­K7

ừ ệ ữ ụ ượ ả T  vi c áp d ng ngôn ng  VRML ta thu đ ế c các k t qu  sau

GV: Vũ Đ c Huy

44

ả ọ Hình 3.4 Toàn c nh xóm tr

ớ Nhóm 22 ­ L p KTPM2­K7

Hình 3.5 Phòng chi ti tế

GV: Vũ Đ c Huy

45

ớ Nhóm 22 ­ L p KTPM2­K7

ố ượ ượ Hình 3.6 Đ i t ng t ng

GV: Vũ Đ c Huy

46

Ậ Ầ Ế PH N K T LU N

ể ủ ọ ỹ ớ ự ậ ạ ữ ệ Ngày nay v i s  phát tri n c a khoa h c k  thu t đã mang l i nh ng hi u qu ả

ặ ớ ệ ọ Ở ộ ố ự ấ ọ to l n đ c bi t là tin h c. ủ  trong b t kì lĩnh v c nào c a cu c s ng tin h c cũng có

ả ủ ệ ề ặ ộ ọ ườ ặ ệ m t và hi u qu  c a nó là m t đi u m i ng ợ i mong đ i. Đ c bi ự   t trong lĩnh v c

ự ế ả ấ ớ ự ầ ọ ớ th c t ẻ ư   o là lĩnh v c còn khá m i m  nh ng có t m quan tr ng r t l n.

ự ế ả ư ự ủ ệ ố Cũng gi ng nh  các lĩnh v c khác c a công ngh  thông tin, th c t o có ngôn

ữ ủ ụ ể ằ ơ ồ ng  riêng c a mình đó chính là VRML. Đ  án này nh m m c đích tìm hi u rõ h n v ề

ữ ủ ư ứ ề ể ả ngôn ng  này. Qua tìm hi u, nghiên c u cũng nh  tham kh o đ  tài c a khóa trên và

ộ ố ạ ượ ủ ề ồ ở ộ ố ụ ạ m t s  mã ngu n m  trên m ng nên đ  tài c a em đã đ t đ c m t s  m c đích:

ể ổ  Tìm hi u t ng quan v  th c t ề ự ạ ả i  o

ữ ự ạ ả ể  Tìm hi u v  ngôn ng  th c t ề i  o VRML

ự ượ ươ ụ  Xây d ng đ c ch ứ ng trình  ng d ng

ự ạ ả ế ứ ữ ể ằ ộ ọ ở Có th  nói r ng th c t ấ   i  o đóng m t vai trò h t s c quan tr ng b i nh ng v n

ự ạ ả ể ả ế ế ề đ  khó khăn mà n u không có th c t ấ i  o thì r t khó đ  gi ứ   ư i quy t. Nh ng khi  ng

ự ạ ả ẽ ở ề ả ấ ớ ờ ơ ụ d ng th c t ơ i  o vào thì v n đ  đó s  tr  nên đ n gi n h n v i chi phí và th i gian ít

h n.ơ

ủ ề ấ ạ ờ ề   Tuy nhiên vì th i gian làm bài c a chúng em có h n nên đ  tài còn r t nhi u

ế ạ ầ thi u sót. Mong các th y và các b n góp ý.

ớ Nhóm 22 ­ L p KTPM2­K7

ả ơ Chúng em xin chân thành c m  n!

GV: Vũ Đ c Huy

47

Ả Ệ TÀI LI U THAM KH O

ấ ả ậ ồ ế ắ ạ ấ ỹ ỳ [1]. Lê T n Hùng, Hu nh Quy t Th ng, K  thu t đ  ho , Nhà xu t b n Khoa

ậ ỹ ọ h c và K  thu t – 2000, 2002, 2004

[2]. http://tecfa.unige.ch/guides/vrml/pointers.html

ớ Nhóm 22 ­ L p KTPM2­K7

[3]. http://www.lighthouse3d.com/vrml/tutorials.shtml

GV: Vũ Đ c Huy

48