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 />