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

Bài giảng Đồ họa máy tính: Bài 8 - Lê Tấn Hùng

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

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

Bài 8 - Ngôn ngữ mô hình hóa thực tại ảo VRML. Những nội dung chính được trình bày trong bài gồm có: VRML là gì? Tính chất của VRML, cấu trúc file VRML, phần tử cơ bản của VRML, cấu trúc phân lớp, cấu trúc cảnh, cơ bản về nút shape,... Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Đồ họa máy tính: Bài 8 - Lê Tấn Hùng

Ng«n ng÷ m« h×nh hãa thùc t¹i ¶o<br /> VRML<br /> <br /> VRML ? LÞch sö<br /> 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<br /> vµ c¸c vËt thÓ 3-D<br /> C¸c file text VRML cã ®u«i lµ .wrl<br /> VRML 1.0 dùa trªn ng«n ng÷ m« t¶ Silicon Graphics 3D gäi lµ “Open Inventor”. VRML<br /> 1.0 cho phÐp m« t¶ c¸c c¶nh tØnh vµ kh«ng t−¬ng t¸c.<br /> VRML 2.0 lµ mét ng«n ng÷ m« t¶ dùa trªn Silicon Graphics vµ ®−îc goi lµ “Moving<br /> Worlds”.<br /> VRML1 (1994) & VRML2 (1997) cã më réng thªm c¸c chñ ®Ò liªn quan<br /> <br /> „<br /> <br /> „<br /> „<br /> „<br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> CÊu tróc file VRML<br /> <br /> TÝnh chÊt<br /> „<br /> <br /> „<br /> <br /> „<br /> <br /> B¹n cã thÓ xem c¸c file VRML nhê tr×nh duyÖt VRML :<br /> „ Mét øng dông hç trî VRML<br /> „ Mét øng dông VRML nhóng vµo mét tr×nh duyÖt HTML<br /> B¹n cã thÓ xem c¸c file VRML tõ ®Üa cøng , hay qua m¹ng Internet<br /> „ Toµn bé trang Web<br /> „ Nhóng vµo trang Web<br /> „ Toµn bé khung cña trang Web<br /> „ Nhóng vµo khung cña trang Web<br /> „ Nhóng vµo c¸c øng dông ®a thêi gian<br /> B¹n cã thÓ t¹o c¸c file VRML nhê :<br /> „ Mét tr×nh so¹n th¶o v¨n b¶n ®¬n gi¶n<br /> „ Mét ch−¬ng tr×nh øng dông<br /> „ Mét tr×nh dÞch ®Þnh d¹ng vµ m« h×nh hãa 3D<br /> „ Mét ng«n ng÷ t¹o vËt thÓ (nh− ng«n ng÷ kÞch b¶n Perl )<br /> <br /> „<br /> <br /> Trong file VRML gåm cã :<br /> „ §Çu ®Ò cña file<br /> „ Comments – chó thÝch<br /> cña b¹n<br /> „ Nodes – nót chøa c¸c<br /> th«ng tin quan träng cña<br /> c¶nh vËt<br /> „ Fields – c¸c thuéch tÝnh<br /> cña nót mµ b¹n cã thÓ<br /> thay ®æi<br /> „ Values – c¸c thuéc tÝnh<br /> gi¸ trÞ<br /> „ Vµ . . .<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Comments-chó thÝch<br /> „<br /> „<br /> „<br /> <br /> „<br /> „<br /> <br /> Lêi chó thÝch b¾t ®Çu víi ký tù # .<br /> Ký tù # trong nh¸y kÐp kh«ng ph¶i b¾t ®Çu chó thÝch.<br /> Chó ý r»ng dßng ®Çu cña VRML 2.0 lµ :<br /> #VRML 2.0 utf8<br /> vµ lµ b¾t buéc !<br /> Tõ khãa utf dïng ®Ó nãi ®Õn bé ký tù quèc tÕ UTF-8 ®−îc<br /> dïng trong file.<br /> Lêi chó thÝch vµ kho¶ng tr¾ng cã thÓ kh«ng ®−îc b¶o toµn<br /> bëi VRML document server.<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Lê Tấn Hùng CNTT- ĐHBK Hà nội<br /> Email: hunglt@it-hut.edu.vn<br /> <br /> #VRML V2.0 utf8<br /> # example1.wrl - a yellow box<br /> Shape<br /> {<br /> geometry<br /> Box{ } # default box<br /> appearance Appearance<br /> # override<br /> appearance<br /> {material Material<br /> # with a new<br /> material<br /> {diffuseColor 1.0 1.0 0.0<br /> #<br /> yellow<br /> }<br /> }<br /> }<br /> (c) SE/FIT/HUT 2002<br /> <br /> PhÇn tö c¬ b¶n cña VRML: Nót<br /> „<br /> „<br /> „<br /> „<br /> „<br /> „<br /> „<br /> <br /> 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<br /> th«ng tin m« t¶ toµn c¶nh.<br /> 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<br /> ®èi t−îng , nh− mµu mµu s¾c vµ hÖ täa ®é cña nã.<br /> 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<br /> hoÆc nhiÒu tr−êng.<br /> Mét c©u lÖnh tr−êng gåm cã tªn tr−êng sau ®ã cã thÓ cã mét hay nhiÒu<br /> gi¸ trÞ.C¸c tr−êng cã thÓ ®−îc viÕt theo c¸c trËt tù kh¸c nhau.<br /> 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ù<br /> th−êng (case sensitive).<br /> VÝ dụ về nót<br /> Shape, Box, Appearance, Material,lights, sounds, .<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Page 1<br /> <br /> CÊu tróc ph©n líp<br /> „<br /> „<br /> <br /> „<br /> <br /> „<br /> „<br /> „<br /> <br /> CÊu tróc c¶nh<br /> <br /> Nót Shape chøa hai tr−êng, geometry vµ appearance, mçi tr−êng l¹i<br /> chøa c¸c nót kh¸c ®−îc coi nh− gi¸ trÞ cña chóng.<br /> Shape<br /> {<br /> appearance<br /> NULL exposedField<br /> SFNode<br /> geometry<br /> NULL exposedField<br /> SFNode<br /> }<br /> §«i khi nót Shape cã mét tr−êng Appearance nh−ng kh«ng cã tr−êng<br /> geometry (vÝ dô nh− c¸c vËt thÓ kh«ng nh×n thÊy!)<br /> Tr−êng geometry chøa nót Box vµ tr−êng appearance coi nót<br /> Appearance nh− lµ gi¸ trÞ cña cã.<br /> Nót Appearance l¹i chøa mét nót kh¸c lµ Material.<br /> 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<br /> graph.<br /> <br /> z Shape<br /> <br /> •<br /> •<br /> •<br /> •<br /> •<br /> <br /> Box<br /> Cone<br /> Cylinder<br /> Sphere<br /> Text<br /> <br /> „<br /> <br /> C¸c tr−êng cña nót Geometry<br /> ®iÒu khiÓn kÝch th−íc<br /> KÝch th−íc th−êng cã ®¬n vÞ lµ m,<br /> nh−ng cã thÓ bÊt cø ®¬n vÞ g×<br /> <br /> „<br /> „<br /> <br /> Box<br /> {size 8 12 10<br /> d)<br /> }<br /> Xem code<br /> Cone<br /> {<br /> bottomRadius<br /> units wide<br /> height<br /> side<br /> bottom<br /> Xem code<br /> }<br /> <br /> „<br /> „<br /> „<br /> „<br /> <br /> # x, y, z (=w, h,<br /> <br /> „<br /> <br /> Ch¹y vÝ dô<br /> 5<br /> <br /> # so 10<br /> <br /> 12<br /> TRUE<br /> TRUE<br /> Ch¹y vÝ dô<br /> <br /> Nót text<br /> „<br /> „<br /> <br /> VRML gióp b¹n chia mét líp thµnh c¸c khoanh cã thÓ qu¶n lý ®−îc .<br /> 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<br /> c¸c líp phøc t¹p.<br /> Nót shape ®−îc t¹o nªn trung t©m cña thÕ giíi VRML .<br /> Mét file VRML cã thÓ chøa nhiÒu nót shape<br /> C¸c nót shape cã thÓ trïng lªn nhau khi chóng ®−îc t¹o nªn ë cïng mét<br /> vÞ trÝ.<br /> B¹n nªn xem vµ sö dông mét trong c¸c tr−êng geometries sau<br /> <br /> C¬ b¶n vÒ nót shape<br /> <br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> „<br /> <br /> z Material<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> C¬ b¶n vÒ nót shape<br /> „<br /> <br /> z Appearance<br /> diffuseColor<br /> <br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Nót Shape lµ nh÷ng viªn g¹ch<br /> t¹o nªn thÕ giíi VRML C¸c nót<br /> Shape gèc lµ c¸c khèi chuÈn :<br /> <br /> z Box<br /> <br /> appearance<br /> <br /> material<br /> <br /> „<br /> <br /> „<br /> <br /> geometry<br /> <br /> Cylinder<br /> {<br /> radius<br /> 4<br /> # chiÒu réng lµ 8<br /> height<br /> 6<br /> bottom TRUE<br /> # “cup” cã c¹nh vµ ®¸y<br /> side<br /> TRUE<br /> top<br /> FALSE # nh−ng kh«ng cã ®Ønh<br /> }<br /> Ch¹y vÝ dô<br /> Xem code<br /> Sphere<br /> # ®¬n gi¶n nhÊt trong c¸c nót shape<br /> {<br /> radius<br /> 2<br /> # nh−ng còng lµ phøc t¹p<br /> Ch¹y vÝ dô<br /> }<br /> Xem code<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> CÊu tróc ¶nh bitmap<br /> <br /> Tr¸nh t¹o ra c¸c ®Æc t¶ kü thuËt Web-based 3D/VR.<br /> Text rất hữu Ých ë c¸c hÖ chuyªn gia,vÝ dô nh− trong khoa häc vÒ trùc quan.<br /> Text<br /> {<br /> string<br /> “Hi!”<br /> # multi-field<br /> length<br /> 0<br /> # stretch to this width (0=natural width)<br /> fontStyle<br /> FontStyle<br /> { family“SERIF”<br /> # or SANS or TYPEWRITER<br /> style<br /> “PLAIN”<br /> # or BOLD ITALIC<br /> size<br /> 4<br /> }<br /> Chaþ vÝ dô<br /> }<br /> Xem code<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Lê Tấn Hùng CNTT- ĐHBK Hà nội<br /> Email: hunglt@it-hut.edu.vn<br /> <br /> „<br /> „<br /> <br /> Sö dông ¶nh bitmap thay cho mét m« h×nh 3D thËt cô thÓ cã thÓ tiÕt kiÖm<br /> ®−îc nhiÒu thêi gian xö lý...<br /> Tuy vËy viÖc sö dông réng r·i ¶nh bitmap cã thÓ cã nh÷ng bÊt lîi sau:<br /> „ CÊu tróc cña ¶nh sÏ ®−îc gñi cho tr×nh duyÖt ,cã thÓ ph¶i qua mét<br /> qu¸ tr×nh th«ng tin chËm.<br /> „ ThiÕt kÕ mét ¶nh bitmap vµ ®−a nã lªn mµn h×nh lµ c«ng ®o¹n xö lý<br /> kh¸ lµ kü l−ìng.<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Page 2<br /> <br /> CÊu tróc trong VRML<br /> „<br /> <br /> „<br /> „<br /> <br /> Appearance<br /> {<br /> texture ImageTexture<br /> {<br /> url<br /> “skin.gif”<br /> # GIF, JPG or PNG<br /> repeatSTRUE<br /> # repeat or stretch?<br /> repeatT TRUE<br /> }<br /> }<br /> Xem code<br /> Ch¹y vÝ dô<br /> C¸c Texture cã thÓ lµ mét URL ®Çy ®ñ hoÆc chØ lµ mét URLt−¬ng ®èi ®¬n<br /> gi¶n nh− sö dông ë trªn.<br /> Cã ba kiÓu nót texture lµ : ImageTexture, MovieTexture and PixelTexture<br /> Xem code<br /> Ch¹y vÝ dô<br /> <br /> HÖ täa ®é<br /> „<br /> „<br /> „<br /> „<br /> „<br /> „<br /> „<br /> „<br /> <br /> Mét file VRML x©y dùng nªn c¸c thµnh phÇn cña thÕ giíi VRML<br /> Mét file thµnh ®−îc x©y dùng trong thÕ giíi hÖ to¹ ®é<br /> Theo mÆc ®Þnh , tÊt c¶ c¸c vËt thÓ ®−îc x©y dùng tõ gèc cña hÖ to¹ ®é<br /> VRML sö dông hÖ to¹ ®é thuËn .hÖ to¹ ®é §Ò C¸c<br /> §¬n vÞ chuÈn ®o chÒu dµi vµ kho¶ng c¸ch trong VRML lµ m.<br /> Gãc lµ radian.<br /> Mét vßng quay lµ 2π radian.<br /> 360 lµ 2π radian, kho¶ng 6.28 radian,<br /> 90 lµ π/2 radian, kho¶ng 1.57 radian.<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> ChuyÓn ®æi mét hÖ to¹ ®é<br /> „<br /> <br /> „<br /> „<br /> <br /> Mét nót transform t¹o ra mét hÖ to¹<br /> ®é cã:<br /> „ Positioned :gèc<br /> „ Rotated :gãc quay<br /> „ Scaled :tû lÖ<br /> Liªn hÖ víi hÖ to¹ ®é cha cña nã<br /> C¸c vËt thÓ ®−îc x©y dùng trong hÖ<br /> to¹ ®é míi ®−îc ®Þnh vÞ ,quay vµ tû lÖ<br /> cïng víi nã.<br /> <br /> Nhãm c¸c nót Transform t¹o ra<br /> mét nhãm víi hª to¹ ®é cña chÝnh<br /> nã<br /> • rotation – h−íng<br /> • scale – kÝch cì<br /> • translation – vÞ trÝ<br /> • children – c¸c vËt thË t¹o<br /> Transform {<br /> translation . . .<br /> rotation . . .<br /> scale . . .<br /> children [ . . . ] }<br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Tr−êng children<br /> „<br /> <br /> Tr−êng children bao gåm mét danh s¸ch mét hay nhiÒu nót<br /> <br /> „<br /> <br /> Transform { . . .<br /> children [<br /> Shape { . . . }<br /> Shape { . . . }<br /> Transform { . . . } . . . ] }<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Nót transform<br /> „<br /> <br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Nót transform<br /> <br /> Tr−êng Translation ®Þnh vÞ hÖ to¹<br /> ®é bëi X,Y vµ Z<br /> „ Transform { # X Y Z<br /> translation 2.0 0.0 0.0 children<br /> [...]}<br /> Tr−êng Scale ®Ó co hay gi¶n mét<br /> hÖ to¹ ®é dùa vµu hÖ sè tû lÖ ë<br /> c¸c trôc X, Y, vµ Z<br /> „ Transform { # X Y Z scale 0.5<br /> 0.5 0.5 children [ . . . ] }<br /> <br /> Tr−êng Rotation ®Þnh h−íng hÖ to¹ ®é<br /> quay quoanh mét c¹nh bëi mét gãc<br /> quay<br /> • Gãc th−êng ®−îc ®u b»ng ®¬n<br /> vÞ radian<br /> • radian = ®é/ 180.0 * 3.141<br /> Transform { # X Y Z Angle<br /> rotation 0.0 0.0 1.0 0.52<br /> children [ . . . ] }<br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Lê Tấn Hùng CNTT- ĐHBK Hà nội<br /> Email: hunglt@it-hut.edu.vn<br /> <br /> „<br /> <br /> „<br /> <br /> Co gi·n , xoay vµ dÞch mét hÖ to¹ ®é, c¸i nµy sau c¸i kia<br /> Transform {<br /> translation 2.0 0.0 0.0<br /> rotation 0.0 0.0 1.0 0.52<br /> scale 0.5 0.5 0.5<br /> children [ . . . ] }<br /> C¸c thao t¸c ®−îc thùc hiÖn tõ d−íi lªn bottom-up:<br /> „ Tr−êng children ®−îc co gi·n ,xoay råi sau ®ã míi dÞch<br /> „ 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<br /> Ch¹y vÝ dô<br /> Xem code<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Page 3<br /> <br /> nót Appearance<br /> „<br /> „<br /> <br /> nót Material<br /> <br /> 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<br /> ngoµi lµ mµu tr¾ng<br /> bé h×nh d¹ng cña vËt thÓ<br /> B¹n cã thÓ ®iÒu khiÓn mµu cña mét<br /> • Tr−êng material gåm c¸c<br /> vËt thÓ:<br /> thuéc tÝnh nh− color,<br /> transparency, etc.<br /> • Mµu bãng<br /> „ Shape {<br /> • Mµu ph¸t ra<br /> appearance Appearance {<br /> • TÝnh trong suèt<br /> material . . . }<br /> • TÝnh kh«ng chiÕu s¸ng<br /> geometry . . . }<br /> • C−êng ®é ¸nh s¸ng bao<br /> quanh<br /> <br /> „<br /> <br /> „<br /> <br /> 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Ó<br /> • diffuseColor – mµu bãng chÝnh<br /> • emissiveColor – mµu ph¸t chÝnh<br /> • transparency – Trong suèt hay kh«ng<br /> Shape {<br /> appearance Appearance {<br /> material Material {<br /> diffuseColor 0.8 0.8 0.8<br /> emissiveColor 0.0 0.0 0.0<br /> transparency 0.0 }<br /> }<br /> geometry . . . }<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Nót material<br /> „<br /> <br /> B¶ng mµu th−êng dïng<br /> <br /> Nót Material còng cã thÓ ®iÒu khiÓn tÝnh chiÕu s¸ng cña mét vËt thÓ<br /> • specularColor – ®iÓm cã mµu næi bËt nhÊt<br /> • shininess – kÝch cë chç næi bËt nhÊt<br /> • ambientIntensity – hiªu øng ¸nh s¸ng xung quanh<br /> <br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Shape {<br /> appearance Appearance {<br /> material Material {<br /> specularColor 0.71 0.70 0.56<br /> shininess 0.16<br /> ambientIntensity 0.4 } }<br /> geometry . . . }<br /> Xem code<br /> <br /> Ch¹y vÝ dô<br /> <br /> „<br /> „<br /> <br /> Th«ng th−êng chóng ta cÈn nhãm c¸c<br /> ®èi t−îng l¹i víi nhau. VRML dïng nót<br /> Group ®Ó thùc hiÖn ®iÒu nµy<br /> Nót Group cã thÓ cã c¸c nót con.<br /> Cã thÓ chÝnh c¸c nót con lµ c¸c nót<br /> group .<br /> Cã c¸c kiÓu nót group sau:<br /> Transform<br /> <br /> Group<br /> <br /> Anchor<br /> <br /> Inline<br /> <br /> Collision<br /> <br /> Switch<br /> <br /> specular<br /> Color<br /> <br /> shininess<br /> <br /> 0.30<br /> <br /> 0.30 0.30 0.50<br /> <br /> 0.70 0.70 0.80<br /> <br /> 0.10<br /> <br /> Copper<br /> <br /> 0.26<br /> <br /> 0.30 0.11 0.00<br /> <br /> 0.75 0.33 0.00<br /> <br /> 0.08<br /> <br /> Gold<br /> <br /> 0.40<br /> <br /> 0.22 0.15 0.00<br /> <br /> 0.71 0.70 0.56<br /> <br /> 0.16<br /> <br /> Metalic Purple<br /> <br /> 0.17<br /> <br /> 0.10 0.03 0.22<br /> <br /> 0.64 0.00 0.98<br /> <br /> 0.20<br /> <br /> Metalic Red<br /> <br /> 0.15<br /> <br /> 0.27 0.00 0.00<br /> <br /> 0.61 0.13 0.18<br /> <br /> 0.20<br /> <br /> Plastic Blue<br /> <br /> 0.10<br /> <br /> 0.20 0.20 0.71<br /> <br /> 0.83 0.83 0.83<br /> <br /> 0.12<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> KÕt nèi tíi mét vÞ trÝ kh¸c<br /> <br /> nót Group<br /> <br /> „<br /> <br /> diffuse<br /> Color<br /> <br /> Aluminum<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> „<br /> <br /> ambient<br /> Intensity<br /> <br /> M« t¶<br /> <br /> LOD<br /> Billboard<br /> <br /> „<br /> <br /> „<br /> <br /> B¹n cã thÓ nhãm c¸c vËt thÓ l¹i víi<br /> nhau ®Ó t¹o thµnh mét vËt thÓ phøc<br /> t¹p .<br /> VRML cã nhiÒu nót group bao gåm<br /> Group { . . . }<br /> Switch { . . . }<br /> Transform { . . . }<br /> Billboard { . . . }<br /> Anchor { . . . }<br /> Inline { . . . }<br /> Chaþ vÝ dô<br /> Xem code<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Lê Tấn Hùng CNTT- ĐHBK Hà nội<br /> Email: hunglt@it-hut.edu.vn<br /> <br /> „<br /> „<br /> „<br /> <br /> Còng nh− trong trang Web , siªu liªn kÕt còng s½n cã trong VRML.<br /> 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<br /> kh¸c, c¸c trang HTML vµ c¸c øng dông CGI .<br /> 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<br /> c¸c øng dông CGI.<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Page 4<br /> <br /> C¸c nót Group-Switch-Transform<br /> Nót Anchor vµ Inline<br /> Nót Group t¹o ra c¸c nót c¬ b¶n<br /> „<br /> kh¸c<br /> „ Mçi nót child trong group lµ ®−îc<br /> hiÓn thÞ<br /> „ Group { children [ . . . ] }<br /> „ Nót nhãm Switch t¹o ra mét nhãm cã<br /> thÓ chuyÓn cho nhau.<br /> „ ChØ cã mét nót child group is<br /> „<br /> trong nhãm lµ ®−îc hiÓn thÞ<br /> „ B¹n chän nót child nµo<br /> • Nót con ®−îc ®¸nh sè t−êng<br /> minh tõ 0<br /> • A -1 kh«ng chän nót con nµo<br /> Switch { whichChoice 0 choice [ . . . ]<br /> }<br /> Xem code<br /> Chaþ vÝ dô<br /> „<br /> <br /> Nót Transform t¹o ra mét nhãm dùa<br /> trªn chÝnh hÖ to¹ ®é cña nã<br /> „ Mçi nót child lµ ®−îc hiÓn thÞ<br /> Transform {<br /> translation 0.0 0.0 0.0<br /> rotation 0.0 1.0 0.0 0.0<br /> scale 1.0 1.0 1.0 children [ . . . ] }<br /> Nót nhãm Billboard t¹o ra mét nhãm<br /> víi hÖ to¹®é ®Æc biÖt<br /> • Mçi nót child ®−îc hiÓn thÞ<br /> displayed<br /> • HÖ to¹ ®é trë l¹i mÆt xem<br /> „ Billboard {<br /> axisOfRotation 0.0 1.0 0.0<br /> children [ . . . ] }<br /> <br /> 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õ<br /> ®éng nh− kiÓu cã thÓ kÝch chuét ®−îc<br /> néi dung cña mét file VRML kh¸c<br /> „ ChØ nót child lµ ®−îc hiÓn thÞ<br /> „ Nót con ®äc tõ file ®−îc chän bëi<br /> URL<br /> „ KÝch chuét vµo nót child theo sau<br /> bëi mét URL<br /> „ Mçi nót child lµ ®−îc hiÓn thÞ<br /> „ Tr−êng description ®Æt tªn cho nót<br /> „ Inline { url "table.wrl" }<br /> anchor<br /> „ Inline {<br /> url "table.wrl" } . . .<br /> Anchor {<br /> Transform {<br /> url "stairwy.wrl"<br /> translation -0.95 0.0 0.0<br /> description "Twisty Stairs"<br /> rotation 0.0 1.0 0.0 3.14<br /> children [ . . . ] }<br /> children [ Inline { url "chair.wrl" } ] }<br /> Xem code<br /> Ch¹y vÝ dô<br /> Ch¹y vÝ dô<br /> Xem code<br /> <br /> „<br /> <br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> §Æt tªn<br /> „<br /> <br /> „<br /> „<br /> <br /> Tõ khãa use<br /> <br /> NÕu nhiÒu vËt thÓ gièng nhau vÒ c¸c<br /> yÕu tè h×nh häc hay h×nh d¹ng , b¹n<br /> ph¶i dïng nhiÒu nót gièng hÖt nhau<br /> Thay vµo ®ã , ®Þnh nghÜa mét tªn<br /> cho nót t×m thÊy ®Çu tiªn<br /> Sau ®ã, sö dông tªn ®Êy ®Ó chia sÎ<br /> cho nót t−¬ng tù ë trong ng÷ c¶nh<br /> míi<br /> <br /> „<br /> <br /> „<br /> „<br /> „<br /> <br /> Có ph¸p DEF t¹o ra tªn cho mét<br /> nót<br /> „ Shape {<br /> appearance Appearance {<br /> material<br /> DEF RedColor<br /> Material { diffuseColor 1.0 0.0 0.0<br /> } } geometry . . . }<br /> DEF b¾t buéc ph¶i ký tù hoa<br /> Cã thÓ ®Æt tªn cho mét nót nµo ®Êy<br /> Tªn cã thÓ lµ hÇu hÕt c¸c chuçi ký<br /> tù vµ sè<br /> „ Trong mét file tªn ph¶i lµ duy<br /> nhÊt<br /> <br /> „<br /> <br /> Tõ kho¸ USE cho phÐp sö dông<br /> mét nót ®· ®−îc ®Æt tªn tr−íc<br /> „ Shape {<br /> appearance Appearance {<br /> material<br /> USE RedColor }<br /> geometry . . . }<br /> Xem code<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> „<br /> <br /> „<br /> „<br /> <br /> USE b¾t buéc ph¶i lµ chö hoa<br /> Sö dông l¹i nót ®· ®−îc ®Æt tªn<br /> gäi lµ mét biÕn hay mét thÓ hiÖn<br /> Mét nót ®· ®−îc ®Æt tªn cã thÓ cã<br /> mét vµi thÓ hiÖn<br /> „ Mçi thÓ hiÖn chia sÎ cïng mét<br /> miªu t¶ vÒ nót ®Êy<br /> „ ChØ cã thÓ cã thÓ hiªn mµ tªn<br /> cña nót ®· ®−îc ®Þnh nghÜa<br /> trong cïng mét file<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Giíi thiÖu ho¹t c¶nh<br /> <br /> −u ®iÓm<br /> „<br /> <br /> Ch¹y vÝ dô<br /> <br /> „<br /> <br /> §Æt tªn vµ sö dông nót:<br /> „ L−u nh÷ng g× ®· ®¸nh vµo<br /> „ Gi¶m kÝch th−íc file<br /> „ Cho phÐp thay ®æi nhanh chãng c¸c vËt thÓ cã cïng thuéc tÝnh<br /> „ T¨ng tèc ®é cho qu¸ tr×nh xö lý trªn tr×nh duyÖt<br /> Tªn còng cÇn thiÕt cho c¶nh ®éng<br /> <br /> „<br /> „<br /> „<br /> <br /> „<br /> <br /> ...<br /> „<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Lê Tấn Hùng CNTT- ĐHBK Hà nội<br /> Email: hunglt@it-hut.edu.vn<br /> <br /> C¸c nót nh− Billboard vµ Anchor cã c¸c hµnh ®éng x©y dùng s½n<br /> 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ã<br /> thÓ di chuyÓn,xoay, co gi·n vµ h¬n thÕ n÷a<br /> Chóng ta cÇn mét ph−¬ng thøc ®Ó kÝch , thêi gian ho¸, vµ ®¸p øng mét<br /> 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<br /> dïng vµ thÕ giíi bªn ngoµi<br /> 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<br /> „ Nót ho¹t ®éng nh− c¸c phÇn ®iÖn tö ¶o<br /> „ Nót cã thÓ göi vµ nhËn c¸c sù kiÖn<br /> „ C¸c ®−êng d©y nèi c¸c nót l¹i víi nhau<br /> Mét sù kiÖn lµ mét th«ng b¸o ®−îc göi gi÷a c¸c nót<br /> „ Mét gi¸ trÞ d÷ liÖu (gièng nh− sù dÞch chuyÓn)<br /> „ Thêi gian hoµn thµnh (Khi sù kiÖn ®−îc chøng nhËn lµ ®· ®−îc göi)<br /> <br /> (c) SE/FIT/HUT 2002<br /> <br /> Page 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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