intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Đồ họa hiện thực ảo: Bài 8 - Lê Tấn Hùng

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:11

51
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Đồ họa hiện thực ảo - Bài 8: Ngôn ngữ mô hình hóa thực tại ảo VRML" cung cấp cho người học các kiến thức: Tính chất, cấu trúc file VRML, phần tử cơ bản của VRML, cấu trúc cảnh, cấu trúc phân lớp, cấu trúc ảnh bitmap,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Đồ họa hiện thực ảo: Bài 8 - Lê Tấn Hùng

  1. Ng«n ng÷ m« h×nh hãa thùc t¹i ¶o VRML ? LÞch sö VRML „ VRML lµ mét ng«n ng÷ v¨n b¶n dïng ®Ó m« t¶ c¸c m«i tr−êng t−¬ng t¸c vµ c¸c vËt thÓ 3-D „ C¸c file text VRML cã ®u«i lµ .wrl „ VRML 1.0 dùa trªn ng«n ng÷ m« t¶ Silicon Graphics 3D gäi lµ “Open Inventor”. VRML 1.0 cho phÐp m« t¶ c¸c c¶nh tØnh vµ kh«ng t−¬ng t¸c. „ VRML 2.0 lµ mét ng«n ng÷ m« t¶ dùa trªn Silicon Graphics vµ ®−îc goi lµ “Moving Worlds”. „ VRML1 (1994) & VRML2 (1997) cã më réng thªm c¸c chñ ®Ò liªn quan (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 TÝnh chÊt CÊu tróc file VRML „ B¹n cã thÓ xem c¸c file VRML nhê tr×nh duyÖt VRML : „ Trong file VRML gåm cã : #VRML V2.0 utf8 „ Mét øng dông hç trî VRML „ §Çu ®Ò cña file # example1.wrl - a yellow box „ Mét øng dông VRML nhóng vµo mét tr×nh duyÖt HTML „ Comments – chó thÝch Shape „ B¹n cã thÓ xem c¸c file VRML tõ ®Üa cøng , hay qua m¹ng Internet cña b¹n { geometry Box{ } # default box „ Toµn bé trang Web „ Nodes – nót chøa c¸c appearance Appearance # override „ Nhóng vµo trang Web th«ng tin quan träng cña c¶nh vËt appearance „ Toµn bé khung cña trang Web {material Material # with a new „ Fields – c¸c thuéch tÝnh „ Nhóng vµo khung cña trang Web cña nót mµ b¹n cã thÓ material „ Nhóng vµo c¸c øng dông ®a thêi gian thay ®æi {diffuseColor 1.0 1.0 0.0 # „ B¹n cã thÓ t¹o c¸c file VRML nhê : „ Values – c¸c thuéc tÝnh yellow „ Mét tr×nh so¹n th¶o v¨n b¶n ®¬n gi¶n gi¸ trÞ } „ Mét ch−¬ng tr×nh øng dông „ Vµ . . . } „ Mét tr×nh dÞch ®Þnh d¹ng vµ m« h×nh hãa 3D } „ Mét ng«n ng÷ t¹o vËt thÓ (nh− ng«n ng÷ kÞch b¶n Perl ) (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Comments-chó thÝch PhÇn tö c¬ b¶n cña VRML: Nót „ Lêi chó thÝch b¾t ®Çu víi ký tù # . „ Mét file VRML gåm cã mét danh s¸ch c¸c nót, mçi nót chøa mét phÇn th«ng tin m« t¶ toµn c¶nh. „ Ký tù # trong nh¸y kÐp kh«ng ph¶i b¾t ®Çu chó thÝch. „ Mét nót cã thÓ ®Þnh nghÜa h×nh d¹ng vËt thÓ, hay thuéc tÝnh cña cña mét ®èi t−îng , nh− mµu mµu s¾c vµ hÖ täa ®é cña nã. „ Chó ý r»ng dßng ®Çu cña VRML 2.0 lµ : „ Mçi nót cã mét tªn, theo sau lµ cÆp dÊu { } cã thÓ kh«ng chøa tr−êng nµo #VRML 2.0 utf8 hoÆc nhiÒu tr−êng. vµ lµ b¾t buéc ! „ Mét c©u lÖnh tr−êng gåm cã tªn tr−êng sau ®ã cã thÓ cã mét hay nhiÒu gi¸ trÞ.C¸c tr−êng cã thÓ ®−îc viÕt theo c¸c trËt tù kh¸c nhau. „ Tõ khãa utf dïng ®Ó nãi ®Õn bé ký tù quèc tÕ UTF-8 ®−îc „ Tªn cña nót b¾t ®Çu b»ng ký tù hoa, tªn tr−êng b¾t ®Çu b»ng ký tù dïng trong file. th−êng (case sensitive). „ VÝ dụ về nót „ Lêi chó thÝch vµ kho¶ng tr¾ng cã thÓ kh«ng ®−îc b¶o toµn „ Shape, Box, Appearance, Material,lights, sounds, . bëi VRML document server. (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. CÊu tróc ph©n líp CÊu tróc c¶nh „ Nót Shape chøa hai tr−êng, geometry vµ appearance, mçi tr−êng l¹i z Shape chøa c¸c nót kh¸c ®−îc coi nh− gi¸ trÞ cña chóng. geometry z Box „ Shape { appearance NULL exposedField SFNode appearance z Appearance geometry NULL exposedField SFNode material z Material } „ §«i khi nót Shape cã mét tr−êng Appearance nh−ng kh«ng cã tr−êng diffuseColor geometry (vÝ dô nh− c¸c vËt thÓ kh«ng nh×n thÊy!) „ VRML gióp b¹n chia mét líp thµnh c¸c khoanh cã thÓ qu¶n lý ®−îc . „ Mçi nót riªng lÎ th× rÊt ®¬n gi¶n, sù kÕt nèi gi÷a c¸c nót cho phÐp t¹o ra „ Tr−êng geometry chøa nót Box vµ tr−êng appearance coi nót c¸c líp phøc t¹p. Appearance nh− lµ gi¸ trÞ cña cã. „ Nót shape ®−îc t¹o nªn trung t©m cña thÕ giíi VRML . „ Nót Appearance l¹i chøa mét nót kh¸c lµ Material. „ Mét file VRML cã thÓ chøa nhiÒu nót shape „ C©u tróc c©y cña nót mµ nót l¹i ®−îc chøa trong nót kh¸c gäi lµ scene „ C¸c nót shape cã thÓ trïng lªn nhau khi chóng ®−îc t¹o nªn ë cïng mét graph. vÞ trÝ. „ B¹n nªn xem vµ sö dông mét trong c¸c tr−êng geometries sau (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 C¬ b¶n vÒ nót shape C¬ b¶n vÒ nót shape „ Nót Shape lµ nh÷ng viªn g¹ch „ Box „ Cylinder t¹o nªn thÕ giíi VRML C¸c nót {size 8 12 10 # x, y, z (=w, h, Shape gèc lµ c¸c khèi chuÈn : { radius 4 # chiÒu réng lµ 8 d) • Box height 6 } • Cone Xem code Ch¹y vÝ dô bottom TRUE # “cup” cã c¹nh vµ ®¸y • Cylinder • Sphere „ Cone side TRUE • Text { bottomRadius 5 # so 10 top FALSE # nh−ng kh«ng cã ®Ønh „ C¸c tr−êng cña nót Geometry units wide } ®iÒu khiÓn kÝch th−íc height 12 Xem code Ch¹y vÝ dô „ KÝch th−íc th−êng cã ®¬n vÞ lµ m, side TRUE nh−ng cã thÓ bÊt cø ®¬n vÞ g× „ Sphere # ®¬n gi¶n nhÊt trong c¸c nót shape bottom TRUE Xem code Ch¹y vÝ dô { radius 2 # nh−ng còng lµ phøc t¹p } Xem code Ch¹y vÝ dô } (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Nót text CÊu tróc ¶nh bitmap „ Tr¸nh t¹o ra c¸c ®Æc t¶ kü thuËt Web-based 3D/VR. „ Sö dông ¶nh bitmap thay cho mét m« h×nh 3D thËt cô thÓ cã thÓ tiÕt kiÖm „ Text rất hữu Ých ë c¸c hÖ chuyªn gia,vÝ dô nh− trong khoa häc vÒ trùc quan. ®−îc nhiÒu thêi gian xö lý... „ Text „ Tuy vËy viÖc sö dông réng r·i ¶nh bitmap cã thÓ cã nh÷ng bÊt lîi sau: { string “Hi!” # multi-field „ CÊu tróc cña ¶nh sÏ ®−îc gñi cho tr×nh duyÖt ,cã thÓ ph¶i qua mét length 0 # stretch to this width (0=natural width) qu¸ tr×nh th«ng tin chËm. fontStyle FontStyle „ ThiÕt kÕ mét ¶nh bitmap vµ ®−a nã lªn mµn h×nh lµ c«ng ®o¹n xö lý { family“SERIF” # or SANS or TYPEWRITER kh¸ lµ kü l−ìng. style “PLAIN” # or BOLD ITALIC size 4 } } Xem code Chaþ vÝ dô (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. CÊu tróc trong VRML HÖ täa ®é „ Appearance „ Mét file VRML x©y dùng nªn c¸c thµnh phÇn cña thÕ giíi VRML { texture ImageTexture { url “skin.gif” # GIF, JPG or PNG „ Mét file thµnh ®−îc x©y dùng trong thÕ giíi hÖ to¹ ®é repeatSTRUE # repeat or stretch? „ Theo mÆc ®Þnh , tÊt c¶ c¸c vËt thÓ ®−îc x©y dùng tõ gèc cña hÖ to¹ ®é repeatT TRUE } „ VRML sö dông hÖ to¹ ®é thuËn .hÖ to¹ ®é §Ò C¸c } Xem code Ch¹y vÝ dô „ §¬n vÞ chuÈn ®o chÒu dµi vµ kho¶ng c¸ch trong VRML lµ m. „ C¸c Texture cã thÓ lµ mét URL ®Çy ®ñ hoÆc chØ lµ mét URLt−¬ng ®èi ®¬n „ Gãc lµ radian. gi¶n nh− sö dông ë trªn. „ Cã ba kiÓu nót texture lµ : ImageTexture, MovieTexture and PixelTexture „ Mét vßng quay lµ 2π radian. Xem code Ch¹y vÝ dô „ 360 lµ 2π radian, kho¶ng 6.28 radian, 90 lµ π/2 radian, kho¶ng 1.57 radian. (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 ChuyÓn ®æi mét hÖ to¹ ®é Tr−êng children „ Mét nót transform t¹o ra mét hÖ to¹ „ Nhãm c¸c nót Transform t¹o ra „ Tr−êng children bao gåm mét danh s¸ch mét hay nhiÒu nót ®é cã: mét nhãm víi hª to¹ ®é cña chÝnh n㠄 Positioned :gèc • rotation – h−íng „ Transform { . . . „ Rotated :gãc quay • scale – kÝch cì children [ „ Scaled :tû lÖ • translation – vÞ trÝ Shape { . . . } „ Liªn hÖ víi hÖ to¹ ®é cha cña nã • children – c¸c vËt thË t¹o Shape { . . . } „ C¸c vËt thÓ ®−îc x©y dùng trong hÖ Transform { Transform { . . . } . . . ] } to¹ ®é míi ®−îc ®Þnh vÞ ,quay vµ tû lÖ translation . . . cïng víi nã. rotation . . . scale . . . children [ . . . ] } (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Nót transform Nót transform „ Tr−êng Translation ®Þnh vÞ hÖ to¹ „ Tr−êng Rotation ®Þnh h−íng hÖ to¹ ®é „ Co gi·n , xoay vµ dÞch mét hÖ to¹ ®é, c¸i nµy sau c¸i kia ®é bëi X,Y vµ Z quay quoanh mét c¹nh bëi mét gãc Transform { „ Transform { # X Y Z quay translation 2.0 0.0 0.0 translation 2.0 0.0 0.0 children • Gãc th−êng ®−îc ®u b»ng ®¬n rotation 0.0 0.0 1.0 0.52 [...]} vÞ radian scale 0.5 0.5 0.5 „ Tr−êng Scale ®Ó co hay gi¶n mét • radian = ®é/ 180.0 * 3.141 children [ . . . ] } hÖ to¹ ®é dùa vµu hÖ sè tû lÖ ë Transform { # X Y Z Angle „ C¸c thao t¸c ®−îc thùc hiÖn tõ d−íi lªn bottom-up: c¸c trôc X, Y, vµ Z rotation 0.0 0.0 1.0 0.52 „ Tr−êng children ®−îc co gi·n ,xoay råi sau ®ã míi dÞch „ Transform { # X Y Z scale 0.5 children [ . . . ] } „ Thø tù gi÷a c¸c tr−êng ®−îc Ên ®Þnh, ®éc lËp víi trËt tù cña c¸c tr−êng 0.5 0.5 children [ . . . ] } Xem code Ch¹y vÝ dô (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. nót Appearance nót Material „ C¸c vËt thÓ gèc cã mµu ph¸t ra tõ b҄ Mét nót Appearance miªu t¶ toµn „ Mét nót Material ®iÒu khiÓn c¸c thuéc tÝnh vÒ chÊt liÖu cña vËt thÓ ngoµi lµ mµu tr¾ng bé h×nh d¹ng cña vËt thÓ • diffuseColor – mµu bãng chÝnh „ B¹n cã thÓ ®iÒu khiÓn mµu cña mét • emissiveColor – mµu ph¸t chÝnh • Tr−êng material gåm c¸c vËt thÓ: thuéc tÝnh nh− color, • transparency – Trong suèt hay kh«ng transparency, etc. „ Shape { • Mµu bãng „ Shape { appearance Appearance { • Mµu ph¸t ra material Material { • TÝnh trong suèt appearance Appearance { diffuseColor 0.8 0.8 0.8 • TÝnh kh«ng chiÕu s¸ng material . . . } emissiveColor 0.0 0.0 0.0 • C−êng ®é ¸nh s¸ng bao geometry . . . } transparency 0.0 } quanh } geometry . . . } (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Nót material B¶ng mµu th−êng dïng „ Nót Material còng cã thÓ ®iÒu khiÓn tÝnh chiÕu s¸ng cña mét vËt thÓ ambient diffuse specular • specularColor – ®iÓm cã mµu næi bËt nhÊt M« t¶ shininess Intensity Color Color • shininess – kÝch cë chç næi bËt nhÊt • ambientIntensity – hiªu øng ¸nh s¸ng xung quanh Aluminum 0.30 0.30 0.30 0.50 0.70 0.70 0.80 0.10 „ Shape { Copper 0.26 0.30 0.11 0.00 0.75 0.33 0.00 0.08 appearance Appearance { Gold 0.40 0.22 0.15 0.00 0.71 0.70 0.56 0.16 material Material { specularColor 0.71 0.70 0.56 Metalic Purple 0.17 0.10 0.03 0.22 0.64 0.00 0.98 0.20 shininess 0.16 Metalic Red 0.15 0.27 0.00 0.00 0.61 0.13 0.18 0.20 ambientIntensity 0.4 } } Plastic Blue 0.10 0.20 0.20 0.71 0.83 0.83 0.83 0.12 geometry . . . } Xem code Ch¹y vÝ dô (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 nót Group KÕt nèi tíi mét vÞ trÝ kh¸c „ Th«ng th−êng chóng ta cÈn nhãm c¸c „ B¹n cã thÓ nhãm c¸c vËt thÓ l¹i víi „ Còng nh− trong trang Web , siªu liªn kÕt còng s½n cã trong VRML. ®èi t−îng l¹i víi nhau. VRML dïng nót nhau ®Ó t¹o thµnh mét vËt thÓ phøc „ Cã thÓ kÕt nèi tíi c¸c kiÓu d÷ liÖu hîp lÖ , bao gåm c¸c trang VRML Group ®Ó thùc hiÖn ®iÒu nµy t¹p . kh¸c, c¸c trang HTML vµ c¸c øng dông CGI . „ Nót Group cã thÓ cã c¸c nót con. „ VRML cã nhiÒu nót group bao gåm „ VÞ trÝ (x, y, z) cña con trá cã thÓ ®−îc truyÒn tíi URL, chØ thùc sù cã Ých víi „ Cã thÓ chÝnh c¸c nót con lµ c¸c nót Group { . . . } c¸c øng dông CGI. group . Switch { . . . } „ Cã c¸c kiÓu nót group sau: Transform { . . . } Billboard { . . . } Transform Group LOD Anchor { . . . } Anchor Inline Inline { . . . } Collision Switch Billboard Xem code Chaþ vÝ dô (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. C¸c nót Group-Switch-Transform Nót Anchor vµ Inline „ Nót Group t¹o ra c¸c nót c¬ b¶n „ Nót Transform t¹o ra mét nhãm dùa „ Nót Anchor t¹o ra mét nhãm mµ ho¹t Nót Inline t¹o ra mét nhãm ®Æc biÖt tõ kh¸c trªn chÝnh hÖ to¹ ®é cña nã ®éng nh− kiÓu cã thÓ kÝch chuét ®−îc néi dung cña mét file VRML kh¸c „ Mçi nót child trong group lµ ®−îc „ Mçi nót child lµ ®−îc hiÓn thÞ „ ChØ nót child lµ ®−îc hiÓn thÞ „ Nót con ®äc tõ file ®−îc chän bëi hiÓn thÞ Transform { URL „ KÝch chuét vµo nót child theo sau „ Group { children [ . . . ] } translation 0.0 0.0 0.0 bëi mét URL „ Mçi nót child lµ ®−îc hiÓn thÞ „ Nót nhãm Switch t¹o ra mét nhãm cã rotation 0.0 1.0 0.0 0.0 thÓ chuyÓn cho nhau. „ Tr−êng description ®Æt tªn cho nót „ Inline { url "table.wrl" } scale 1.0 1.0 1.0 children [ . . . ] } anchor „ ChØ cã mét nót child group is „ Inline { trong nhãm lµ ®−îc hiÓn thÞ „ Nót nhãm Billboard t¹o ra mét nhãm víi hÖ to¹®é ®Æc biÖt url "table.wrl" } . . . „ B¹n chän nót child nµo Anchor { Transform { • Mçi nót child ®−îc hiÓn thÞ • Nót con ®−îc ®¸nh sè t−êng displayed url "stairwy.wrl" translation -0.95 0.0 0.0 minh tõ 0 • HÖ to¹ ®é trë l¹i mÆt xem description "Twisty Stairs" rotation 0.0 1.0 0.0 3.14 • A -1 kh«ng chän nót con nµo „ Billboard { children [ . . . ] } children [ Inline { url "chair.wrl" } ] } Switch { whichChoice 0 choice [ . . . ] axisOfRotation 0.0 1.0 0.0 } „ Xem code Ch¹y vÝ dô Xem code Ch¹y vÝ dô Xem code Chaþ vÝ dô children [ . . . ] } (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 §Æt tªn Tõ khãa use „ NÕu nhiÒu vËt thÓ gièng nhau vÒ c¸c „ Có ph¸p DEF t¹o ra tªn cho mét „ Tõ kho¸ USE cho phÐp sö dông „ USE b¾t buéc ph¶i lµ chö hoa yÕu tè h×nh häc hay h×nh d¹ng , b¹n nót mét nót ®· ®−îc ®Æt tªn tr−íc „ Sö dông l¹i nót ®· ®−îc ®Æt tªn ph¶i dïng nhiÒu nót gièng hÖt nhau „ Shape { „ Shape { gäi lµ mét biÕn hay mét thÓ hiÖn „ Thay vµo ®ã , ®Þnh nghÜa mét tªn appearance Appearance { cho nót t×m thÊy ®Çu tiªn appearance Appearance { „ Mét nót ®· ®−îc ®Æt tªn cã thÓ cã material „ Sau ®ã, sö dông tªn ®Êy ®Ó chia sÎ material mét vµi thÓ hiÖn DEF RedColor cho nót t−¬ng tù ë trong ng÷ c¶nh USE RedColor } „ Mçi thÓ hiÖn chia sÎ cïng mét míi Material { diffuseColor 1.0 0.0 0.0 geometry . . . } miªu t¶ vÒ nót ®Êy } } geometry . . . } „ ChØ cã thÓ cã thÓ hiªn mµ tªn „ DEF b¾t buéc ph¶i ký tù hoa Xem code Ch¹y vÝ dô cña nót ®· ®−îc ®Þnh nghÜa „ Cã thÓ ®Æt tªn cho mét nót nµo ®Êy trong cïng mét file „ Tªn cã thÓ lµ hÇu hÕt c¸c chuçi ký tù vµ sè „ Trong mét file tªn ph¶i lµ duy nhÊt (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 −u ®iÓm Giíi thiÖu ho¹t c¶nh „ §Æt tªn vµ sö dông nót: „ C¸c nót nh− Billboard vµ Anchor cã c¸c hµnh ®éng x©y dùng s½n „ L−u nh÷ng g× ®· ®¸nh vµo „ B¹n cã thÓ t¹o ra hµnh ®éng cña riªng b¹n nh− lµm cho c¸c vËt thÓ cã thÓ di chuyÓn,xoay, co gi·n vµ h¬n thÕ n÷a „ Gi¶m kÝch th−íc file „ Chóng ta cÇn mét ph−¬ng thøc ®Ó kÝch , thêi gian ho¸, vµ ®¸p øng mét „ Cho phÐp thay ®æi nhanh chãng c¸c vËt thÓ cã cïng thuéc tÝnh chuçi c¸c sù kiÖn theo mét trËt tù ®Ó mét sù t−¬ng t¸c tèt h¬n gi÷a ng−êi dïng vµ thÕ giíi bªn ngoµi „ T¨ng tèc ®é cho qu¸ tr×nh xö lý trªn tr×nh duyÖt „ HÇu hÕt c¸c nót ®Òu cã thÓ lµ thµnh phÇn trong mét dßng ho¹t c¶nh „ Tªn còng cÇn thiÕt cho c¶nh ®éng ... „ Nót ho¹t ®éng nh− c¸c phÇn ®iÖn tö ¶o „ Nót cã thÓ göi vµ nhËn c¸c sù kiÖn „ C¸c ®−êng d©y nèi c¸c nót l¹i víi nhau „ Mét sù kiÖn lµ mét th«ng b¸o ®−îc göi gi÷a c¸c nót „ Mét gi¸ trÞ d÷ liÖu (gièng nh− sù dÞch chuyÓn) „ Thêi gian hoµn thµnh (Khi sù kiÖn ®−îc chøng nhËn lµ ®· ®−îc göi) (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. Thªm c¸c sù kiÖn Cµi ®Æt ho¹t c¶nh „ §Ó quay mét vËt thÓ: „ §Ó cµi ®Æt mét dßng ho¹t c¶nh , b¹n cÇn ba thø : • Nèi mét nót mµ göi sù kiÖn rotation víi tr−êng rotation cña nót „ Mét nót göi sù kiÖn Transform „ Nót ph¶i ®−îc ®Æt tªn víi c©u lÖnh DEF „ §Ó lµm mét vËt thÓ nhÊp nh¸y: „ Mét nót nhËn sù kiÖn • Nèi nót göi sù kiÖn color víii tr−êng diffuseColor cña nót „ Nót ph¶i ®−îc ®Æt tªn víi c©u lÖnh DEF Material „ Mét ®−êng d©y kÕt nèichóng l¹i „ Mçi nót cã c¸c tr−êng , th«ng tin vµo vµ th«ng tin cÇn cã: „ field: Mét gi¸ trÞ d÷ liÖu ®−îc l−u trö „ eventIn: ®Çu vµo „ eventOut: ®Çu ra „ Mét tr−êng exposedField viÕt gän cho mét gi¸ trÞ d÷ liÖu, ®Çu vµo vµ ®Çu ra (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 C¸c vÝ dô Vµo- ra Tõ khãa route „ Nót OrientationInterpolator „ Nót Transform cã c¸c sù kiÖn „ C©u lÖnh ROUTE cho phÐp kÕt nèi „ C¸c quy −íc vÒ ®Æt tªn hai nót l¹i víi nhau : cã sù kiÖn ra : vµo: „ HÇu hÕt c¸c nót ®Òu cã exposedFields „ Tªn nót göi vµ sù kiÖn ra „ NÕu tr−êng exposed tªn lµ xxx, th×: „ value_changed ®−a ra gi¸ trÞ „ set_translation „ Tªn nót nhËn vµ s− kiÖn vµu • set_xxx lµ mét sù kiÖn vµo gãc xoay „ set_rotation „ ROUTE ®−îc g¸n cho tr−êng „ set_scale MySender.rotation_changed „ Nót PositionInterpolator cã TO MyReceiver.set_rotation • xxx_changed lµ sù kiÖn ra sù kiÖn ra : ®−îc göi ®i khi tr−êng ®ã thay „ Nót Material cã c¸c sù kiÖn vµu: „ ROUTE vµ TO b¾t buéc ph¶i lµ ®æi „ value_changed ®−a ra vÞ trÝ „ set_diffuseColor ký tù hoa • C¸c tiÕp ng÷ set_ vµ _changed „ Nót TimeSensor cã sù kiÖn ra: „ set_emissiveColor lµ tuú chän nh−ng nªn cã ®Ó ph©n biÖt „ time ®−a ra thêi gian „ set_transparency „ Nót Transform cã: Tr−êng rotation • Sù kiÖn vµo set_rotation • Sù kiÖn ra rotation_changed (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Ho¹t c¶nh ®iÒu khiÓn thêi gian „ Ho¹t c¶nh cho phÐp thay ®æi qua thêi gian: „ Nót TimeSensor cho phÐp b¹n ®iÒu khiÓn thêi gian b¾t ®Çu vµ kÕt thóc • VÞ trÝ – mét « t« ®ang ®i „ Nót c¶m øng t¹o sù kiÖn thêi gian khi nã ®ang ch¹y • H−íng - mét m¸y bay ®ang l−în „ §Ó kÝch ho¹t , dÉn c¸c sù kiÖn thêi gian tíi c¸c nót kh¸c • Mµu s¾c – ®æi mïa „ Nót TimeSensor t¹o ra hai sù kiÖn thêi gian lµ absolute and fractional „ Ho¹t c¶nh b¾t buéc ®iÒu khiÓn qua thêi gian: „ Sù kiÖn thêi gian Absolute t¹o ra thêi gian thùc • Khi nµo th× b¾t ®Çu vµ dõng • Thêi gian tuyÖt ®èi ®−îc ®u b»ng gi©y tõ 12:00h mång 1 th¸ng 1 • Møc ®é nhanh chËm n¨m 1970! • RÊt cã Ých cho viÖc triÖu gäi mét sù kiÖn ë thêi gian cô thÓ (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. sö dông thêi gian ph©n ®o¹n Nót timesensor „ Sù kiÖn thêi gian ph©n ®o¹n nhËn c¸c gi¸ trÞ sè tõ 0.0 tíi 1.0 „ Nót TimeSensor t¹o ra c¸c sù kiÖn „ §Ó t¹o ra bé thêi gian ch¹y liªn tôc: dùa vµo thêi gian „ loop TRUE „ Khi nót c¶m øng thêi gian b¾t ®Çu , ®Çu ra cña nã lµ 0.0 „ Thêi gian b¾t ®Çu_ startTime vµ „ stopTime
  8. Colorinterpolator-scalarinterpotator „ OrientationInterpolator „ PositionInterpolator „ ColorInterpolator „ ScalarInterpolator „ Nót OrientationInterpolator m« „ Nót PositionInterpolator m« t¶ „ Nót ColorInterpolator m« t¶ ®−êng „ Nót ScalarInterpolator m« t¶ t¶ ®−êng dÉn h−íng ®−êng dÉn vÞ trÝ hay tû lÖ dÉn mµu s¾c ®−êng dÉn v« h−íng • key – kho¸ thêi gian ph©n • key – kho¸ thêi • key – kho¸ thêi gian ph©n • key – kho¸ thêi gian ph©n ®o¹n gian ph©n ®u¹n ®o¹n ®o¹n • keyValue – kho¸ vÒ xoay • keyValue – kho¸ (gåm c¹nh vµ gãc) vÞ trÝ (hoÆc tû lÖ) • keyValue – kho¸ mµu • keyValue – kho¸ v« „ OrientationInterpolator { key [ • PositionInterpolator { (®á,xanh d−¬ng,xanh da trêi) h−íng (dïng cho bÊt cø 0.0, . . . ] keyValue [ 0.0 1.0 0.0 key [ 0.0, . . . ] keyValue [ „ ColorInterpolator { key [ 0.0, . . . ] vËt thÓ nµo) 0.0, . . . ] } 0.0 0.0 0.0, . . . ] } keyValue [ 1.0 1.0 0.0, . . . ] } „ ScalarInterpolator { key [ 0.0, . . „ Th−êng göi gi¸ trÞ vÒ gãc xoay • Th−êng göi gi¸ trÞ vÞ trÝ vµo „ Th−êng göi vµu sù kiÖn ®Çu vµo . ] keyValue [ 4.5, . . . ] } vµo sù kiÖn set_rotation cña nót sù kiÖn set_scale cña nót set_diffuseColor hay „ Th−êng göi vµo sù kiÖn Transform Transform set_emissiveColor cña nót set_transparency cña nót Material Material „ Xem code Ch¹y vÝ dô „ Xem code Ch¹y vÝ dô (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 nót Sensor nót Sensor „ Cã 7 kiÓu nót sensor . „ Nót ProximitySensor ph¸t hiÖn ra vÞ trÝ quan s¸t gÇn nhÊt „ Nót sensor dß c¸c hµnh ®éng cña ng−êi dïng vµ ph¸t ra mét „ Nót TouchSensor ph¸t hiÖn sù kiÖn kÝch chuét sù kiªn. „ Nót TimeSensor lµ bé ®Õm thêi gian „ B¹n cã thÓ liªn kÕt c¸c sù kiÖn nµy tíi c¸c nót kh¸c ®Ó t¹o ra „ TÊt c¶ c¸c nót CylinderSensor, PlaneSensor and chu kú ®¬n gåm cã nguyªn nh©n_kÕt qu¶. SphereSensor ph¸t hiÖn tr¹ng th¸i kÐo c¸c vËt thÓ. „ Bèn bµi cuèi cïng trong phÇn “VRML Resources | Example „ Nót VisibilitySensor nhËn biÕt mét ®èi t−îng lµ h÷u h×nh ®èi VRML Worlds” cña Website lµ nh−ng vÝ dô hay vÒ c¸c nót víi ng−êi dïng sensor vµ liªn kÕt víi c¸c sù kiÖn. (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 nót Sensor viewer Dïng visibilitysensor vµ proximitysensor „ Motivation „ Hai nót VisibilitySensor vµ ProximitySensor c¶m biÕn vïng vËt thÓ „ C¶m øng vÞ trÝ ng−êi dïng cho phÐp kÝch ho¹t c¸c ho¹t c¶nh d¹ng hép • Khi mét vïng h÷u h×nh ®èi víi ng−êi dïng • center – t©m vïng • Khi ng−êi dïng ë trong mét vïng nµo ®ã • size – kÝch th−íc vïng • Khi ng−êi dïng va ch¹m víi mét vËt thÓ nµo ®ã „ LOD vµ Billboard lµ c¸c nót ®Æc biÖt cã c¸c ®¸p øng víi viewer sensors „ C¶ hai nót cã ®Çu ra gièng nhau : ®−îc x©y dùng s¨n • Sù kiÖn enterTime – göi thêi gian vµo vïng vµo hay lóc h÷u h×nh „ Cã 3 kiÓu nót viewer sensor: • Sù kiÖn exitTime – göi thêi gian vµo vïng ra hay lóc kh«ng h÷u • Nót VisibilitySensor c¶m biÕn nÕu ng−êi dïng cã thÓ thÊy mét h×nh vïng nµo ®ã a region • Nót ProximitySensor c¶m biÕn khi ng−êi dïng ®Õn ph¹m vi xung • Sù kiÖn isActive – göi true ë vïng vµo, false ë vïng ra quanh vËt thÓ • Nót Collision c¶m biÕn xung ®ét gióp ®iÒu khiÓn vµ ph¸t hiÖn xung ®ét (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. Nót VisibilitySensor nót ProximitySensor „ Nót VisibilitySensor c¶m biÕn nÕu ng−êi dïng nh×n thÊy hoÆc ngõng „ Nót ProximitySensor c¶m biÕn khi ng−êi dïng vµo/ rêi khái mét vïng nµo ®ã quan s¸t mét vïng nµo ®ã • center vµ size – kÝch th−íc vµ vÞ trÝ cña vïng • enterTime vµ exitTime –göi thêi gian vµo vïng vµo/vïng ra • center vµ size –t©m vµ kÝch th−íc cña vïng • isActive – göi gi¸ trÞ true/false nÕu vµo vïng vµo/ vïng ra • enterTime vµ exitTime – göi thêi gian vµo\ra „ DEF ProxSense ProximitySensor { center 0.0 0.0 0.0 size 14.0 14.0 14.0 } ROUTE ProxSense.enterTime TO Clock.set_startTime • isActive –göi gi¸ trÞ true/false vµo vïng vµo\vïng ra „ ProximitySensor „ DEF VisSense VisibilitySensor { center 0.0 0.0 0.0 size 14.0 14.0 14.0 • Nót ProximitySensor c¶m biÕn khi ng−êi dïng ®ang ë trong } ROUTE VisSense.enterTime TO Clock.set_startTime vïng • position vµ orientation –göi vÞ trÝ vµ h−íng khi ng−êi dïng ®ang ë trong vïng • DEF ProxSense ProximitySensor { . . . } ROUTE • ProxSense.position_changed TO PetRobotFollower.set_translation Xem code Ch¹y vÝ dô (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 nót Collision C¸c nót sensor hµnh ®éng „ Nót Collision c¶m biÕn ®−îc khi tÇm „ Tèi −u ho¸ viÖc ph¸t hiÖn xung ®ét quan s¸t cña ng−êi dïng v−íng c¸c vËt „ Cã 4 nót sensor hµnh ®éng „ C¶m biÕn c¸c vËt thÓ „ Sù kiÖn collision lu«n ®−îc kÝch ho¹t thÓ theo ngÇm ®Þnh chÝnh: „ TÊt c¶ c¸c c¶m biÕn hµnh „ collide – cho phÐp/kh«ng cho „ T¾t nã bÊt cø khi nµu cã thÓ! ®éng c¶m biÕn ®−îc tÊt c¶ phÐp c¶m biÕn „ Tuy nhiªn, mét khi nót collision cha • TouchSensor c¶m biÕn khi „ proxy – vËt thÓ ®¬n gi¶n ®−îc t¾t th× nót child kh«ng thÓ bËt nã trë ch¹m vµo vËt thÓ c¸c vËt thÓ cïng nhãm l¹i! c¶m biÕn thay cho c¸c nót con KÕt qu¶ ph¸t hiÖn xung ®ét lµ tõ ng−êi „ C¶m biÕn ®−îc kÝch ho¹t khi „ dïng va ch¹m víi mét vËt thÓ chø • SphereSensor khi kÐo chuét „ children – c¸c nót con ®−îc c¶m kh«ng ph¶i lµ vËt thÓ va ch¹m víi • CylinderSensor khi kÐo khi con trá cña ng−êi dïng biÕn ng−êi dïng „ collideTime – göi thêi gian khi „ Sö dông nhiÒu nót sensor chuét ch¹m ph¶i vËt thÓ ®−îc c¶m ng−êi dïng ch¹m vµo vËt thÓ „ Mét sè nót sensor cã thÓ c¶m biÕn biÕn „ DEF Collide Collision { collide TRUE cïng mét lóc • PlaneSensor khi kÐo chuét proxy Shape { geometry Box { . . . } } „ B¹n cã thÓ t¹o ra nhiÒu „ Nót Anchor lµ nót c¶m biÕn children [ . . . ] } ROUTE nótvisibility, proximity, and Xem code Ch¹y vÝ dô Collide.collideTime TO collision sensor hµnh ®éng cã môc ®Ých ®Æc biÖt OuchSound.set_startTime „ C¸c vïng c¶m biÕn cã thÓ ch«ng mµ c¸c ®¸p øng ®−îc x©y dùng lªn nhau „ Xem code Ch¹y vÝ dô „ NÕu nhiÒu nót sensor ®−îc kÝch s½n ho¹t, chóng sÏ thùc hiÖn (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Touchsensor vµ spheresensor Cylindersensor-planesensor „ Nót TouchSensor c¶m biÕn sù va „ Nót SphereSensor c¶m biÕn sù „ Nót CylinderSensor nhËn biÕt „ Nót PlaneSensor nhËn biÕt con trá ch¹m cña con trá dich chuyÓn con trá t¹o ra sù con trá ®−îc rª vµ lµm cho vËt ®−îc rª vµ lµm dÞch chuyÓn vËt thÓ thÓ xoay quanh h×nh trô trªn mét mÆt ph¼ng • isOver – göi gi¸ trÞ true/false xoayquanh h×nh cÇu khi con trá ®ang ë trong hay • isActive – göi gi¸ trÞ • isActive – göi c¸c gi¸ trÞ • isActive –göi c¸c gi¸ trÞ true/false khi chuét ®−îc ë ngoµi vïng vËt thÓ true/false khi chuét ®−îc nhÊn hay th¶ true/false khi con chuét nhÊn hay th¶ • isActive – göi gi¸ trÞ ®−îc nhÊn hay th¶ • translation_changed – lµm true/false khi chuét ®−îc • rotation_changed – lµm cho vËt thÓ dÞch chuyÓn khi nhÊn hay th¶ • rotation_changed - ®−a cho vËt thÓ quay khi kÐo rª chuét • touchTime –®−a ra thêi gian ra sù quay khi rª con „ Transform { children [ DEF „ Transform { children [ DEF khi chuét ®−îc th¶ chuét Rotator CylinderSensor { } Mover PlaneSensor { } DEF DEF RotateMe Transform { . MoveMe Transform { . . . } ] } „ Transform { children [ DEF „ Transform { children [ DEF . . } ] } ROUTE ROUTE Touched TouchSensor { } Rotator SphereSensor { } Mover.translation_changed TO Shape { . . . } . . . ] } DEF RotateMe Transform { . Rotator.rotation_changed MoveMe.set_translation TO RotateMe.set_rotation Xem code Ch¹y vÝ dô . . } ] } ROUTE Rotator.rotation_changed „ Xem code Ch¹y vÝ dô „ Xem code Ch¹y vÝ dô TO RotateMe.set_rotation (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Sö dông nhiÒu nót sensor vÝ dô sö dông c¸c nót sensor NhiÒu nót sensor cã thÓ c¶m biÕn cïng mét vËt thÓ nh−ng. . . #Clock to drive animations • NÕu c¸c nót sensor ë trong cïng mét nhãm : DEF Clock TimeSensor { cycleInterval 10.0 loop TRUE } • TÊt c¶ ®Òu cã thÓ ®¸p øng c¸c sù kiÖn # Colour changes for sphere (red -> green -> blue -> red) • NÕu c¸c nót sensors cã ®é s©u kh¸c nhau trong cÊu tróc c©y cña DEF NewColour ColorInterpolator { key [0.0, 0.33, 0.66, 1.0 ] nót : keyValue [1.0 0.2 0.2, 0.2 1.0 0.2, 0.2 0.2 1.0, 1.0 0.2 0.2 ] } • Nót sensor s©u nhÊt sÏ ®¸p øng . . . (Above is Grouped with the object we’re changing) • C¸c nót kh¸c kh«ng ®¸p øng # use clock to run a ColorInterpolator, generating smoothly varying colour ROUTE Clock.fraction_changed TO NewColour.set_fraction # use varying colour value to feed material's diffuseColor field ROUTE NewColour.value_changed TO SphereColour.set_diffuseColor (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 nót Script c¸c ng«n ng÷ kÞch b¶n „ NhiÒu hµnh ®éng qu¸ phøc t¹p ®èi víi c¸c nót ho¹t c¶nh „ Nót Script chän mét ch−¬ng tr×nh „ §Þnh nghÜa giao tiÕp c¸c • TÝnh to¸n ®−êng ®i (vÝ dô lùc hÊp dÉn) kÞch b¶n ®Ó ch¹y: ch−¬ng tr×nh kÞch b¶n øng • Gi¶i thuËt vÒ vËt thÓ (eg. fractals) „ url – chän ch−¬ng tr×nh kÞch dông • C¸c m«i tr−êng cÇn sù c«ng t¸c (vÝ dô game) b¶n „ Nót Script còng khai b¸o giao „ B¹n cã thÓ t¹o ra c¸c nót sensors, interpolators, v©n v©n , b»ng c¸nh sö dông „ DEF Bouncer Script { tiÕp ch−¬ng tr×nh kÞch b¶n c¸c ch−¬ng tr×nh kÞch b¶n viÕt b»ng c¸c ng«n ngö url "bouncer.class" or... • field, eventIn, vµ • Java – ng«n ngö lËp tr×nh rÊt m¹nh url "bouncer.js" or... eventOut – lµ c¸c thao • JavaScript – ng«n ngö kÞch b¶n dÔ häc t¸c xuÊt nhËp • VRMLscript – gièng JavaScript url "javascript: ..." or... • Mçi c¸i cã mét tªn vµ kiÓu Ng«n ng÷ VRML kh«ng b¾t buéc ph¶i hç trî c¸c ng«n ng÷ kÞch b¶n url "vrmlscript: ..." } d÷ liÖu • HÇu hÕt c¸c tr×nh duyªt ®Òu hâ trî JavaScript vµ • C¸c tr−êng cã mét gi¸ trÞ • NhiÒu tr×nh duyªt hç trî Java Xem code Ch¹y vÝ dô khëi ®Çu „ VRMLScript = JavaScript = ECMAScript „ DEF Bouncer Script { field • JavaScript kh«ng gièng Java SFFloat bounceHeight 3.0 • VRMLScript lµ phÇn mÒm cña Cosmo Software hç trî JavaScript eventIn SFFloat set_fraction • C¸c ®Æc t¶ kü thuËt cña ISO VRML gäi lµ ECMAScript, phiªn b¶n cã hç eventOut SFVec3f tr¬ JavaScript value_changed } (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Java Java class „ So víi c¸c ng«n ng÷ nh− „ Khai b¸o giao tiÕp ch−¬ng „ NhËp c¸c package cho líp Java JavaScript/VRMLscript, Java cã tr×nh kÞch b¶n „ File cña ch−¬ng tr×nh kÞch b¶nph¶i import c¸c package cña VRML : • §−îc cung cÊp c¸c c«ng ty ph©n phèi tr×nh duyÖt VRML kh¶ n¨ng: „ Víi ch−¬ng tr×nh kÞch b¶n viÕt „ import vrml.*; • M« ®un ch−¬ng tr×nh tèt b»ng ng«n ng÷ Java t¹o ra mét „ import vrml.field.*; h¬n file class trong tr−êng url cñanót „ import vrml.node.*; • CÊu tróc d÷ liÖu tèt h¬n Script „ T¹o ra c¸c file Java class „ C¸c ch−¬ng tr×nh kÞch b¶n ph¶i ®Þnh nghÜa mét líp cã tÝnh public kÕ thõa tõ líp • Kh¶ n¨ng thùc hiÖn nhanh • file class ®−îc biªn dÞch Script h¬n b»ng ch−¬ng tr×nh kÞch „ public class bounce2 extends Script { . . . } • Truy cËp m¹ng b¶n Java • Ph−¬ng thøc tuú chän initialize ®−îc gäi khi script ®−îc t¶i „ DEF Bouncer Script { field • public void initialize ( ) { . . . } „ Víi nh÷ng c«ng viÖc ®¬n gi¶n th× • Qu¸ tr×nh khëi t¹o xÈy ra khi: sö dông JavaScript/VRMLscript SFFloat bounceHeight 3.0 • Nót Script ®−îc t¹o (th−êng khi tr×nh duyÖt n¹p thÕ giíi c¸c vËt thÓ) eventIn SFFloat • Ph−¬ng thøc shutdown ®−îc gäi ®Õn khi script th«i n¹p „ Nh÷ng ch−¬ng tr×nh phøc t¹p th× set_fraction eventOut • public void shutdown ( ) { . . . } dïng Java SFVec3f value_changed url • Shutdown xÈy ra : "bounce2.class" } • Nót Script bÞ xo¸ • Tr×nh duyÖt n¹p thÕ giíi míi (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. Sù kiÖn -event Tr−êng eventout tõ java „ §¸p øng mét sù kiÖn „ Truy nhËp c¸c tr−êng tõ Java „ Truy nhËp tr−êng eventOuts tõ „ VÝ dô Java script • Ph−¬ng thøc „ Mçi tr−êng giao tiÕp cã thÓ ®−îc Java „ T¹o nót interpolator víiqu¶ bãng processEvent ®−îc gäi ®äc vµ viÕt „ Mçi giao tiÕp eventOut cã thÓ ®äc nÈy råi tÝnh träng lùc nh− chuyÓn mçi khi mét sù kiÖn nhËn • Gäi getField ®Ó ®äc vµ ghi ®éng nÈy ngang tõ d÷ liÖu ®Çu ®−îc , chuyÓn mét ®èi tr−êng cña ®èi t−îng • gäi getEventOut ®Ó ®äc vµo lµ thêi gian ph©n ®o¹n t−îng sù kiÖn chøa „ obj = (SFFloat) getField( tr−êng eventOut cña ®èi „ Nót cÇn: DEF Ball Transform { . • Gi¸ trÞ cña sù kiÖn "bounceHeight" ); t−îng . . } DEF Clock TimeSensor { . . • Thêi gian • Gäi getValue ®Ó lÊy gi¸ trÞ „ obj = (SFVec3f) . } DEF Bouncer Script { . . . } „ public void processEvent( cña tr−êng getEventOut( Event event ) { . . . } „ lastval = obj.getValue( ); "value_changed" ); • Gäi setValue ®Æt gi¸ trÞ • Gäi getValue ®äc gi¸ trÞ Xem code vrml cho mét tr−êng cuèi cïng ®−îc göi „ lastval = obj.getValue( ); „ obj.setValue( newval ); Xem code java • Gäi setValue ®Ó göi mét sù kiÖn „ obj.setValue( newval ); (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Page 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2