Ờ Ả Ơ L I C M N
ướ ử ờ ả ơ ế ế ầ ề Tr c h t nhóm chúng em xin g i l ắ i c m n sâu s c đ n th y H , ùng, cô Hi n Anh
ề ị ề ầ ấ ỡ ướ ứ ướ ẫ th y cô đã giúp đ em r t nhi u v đ nh h ng nghiên c u, h ng d n cho chúng em trong
ọ ậ ố ờ su t th i gian h c t p môn này.
ố ượ ủ ờ ị Cu n báo cáo này đ c nhóm chúng em hoàn thành theo đúng th i gian quy đ nh c a nhà
ườ ự ỗ ự ủ ư ủ ự ỡ ỉ tr ỉ ả ng cũng nh c a khoa không ch là s n l c c a chúng em mà còn s giúp đ , ch b o
ướ ẫ ạ ớ ầ ủ c a th y,cô h ỡ ng d n và các b n sinh viên trong l p giúp đ .
ả ơ ả ạ ặ ệ ầ Chúng em xin chân thành c m n th y cô đã gi ng d y chúng em, đ c bi ầ t là các th y
cô giáo trong khoa CNTT.
ả ơ ư ề ạ ấ ặ ỡ ươ ớ Xin c m n các b n sinh viên trong l p đã giúp đ tôi r t nhi u m t: nh ph ệ ng ti n,
ế ở sách v , ý ki n …
ấ ố ắ ứ ặ ỏ M c dù nhóm đã r t c g ng hoàn thành nghiên c u này song cũng không tránh kh i
ữ ữ ứ ế ể ầ ạ nh ng sai sót, mong th y cô và các b n đóng góp nh ng ý ki n quí báu đ nghiên c u đ ượ c
thành công h n.ơ
ự ệ Nhóm sinh viên th c hi n:
ễ ầ Nguy n Tr n Vân
ề Lê Huy n Trang
Vũ Quý Trung
ươ Tr ả ng Văn Kh i
Mai Văn Thanh
Page 1
ụ ụ M c l c
Page 2
Ờ Ở Ầ L I M Đ U
ồ ọ ự ượ ộ Đ h a máy tính luôn là m t trong nh ng lĩnh v c đ
ự ủ ờ ố ọ ề ụ ư
ủ ồ ọ ế ự ứ ả ấ ữ c quan tâm nh t trong ngành ể ắ ặ ề công nghệ thông tin nói chung và khoa h c máy tính nói riêng. Chúng ta có th b t g p nhi u ế ọ ứ ng d ng c a đ h a máy tính trên nhi u lĩnh v c c a đ i s ng: nh khoa h c – y t quân ự s xây d ng ki n tr c, gi i trí v.v…
ỏ ạ ệ ữ ứ ự ằ ế ớ ự i th gi ớ ụ ấ vi c mô ph ng l ự Trong nh ng ng d ng y ự ằ ướ ệ ả ng t ế ầ ừ ế ả ớ i quy t. T đó mà công ngh “th c t i gi ố ộ ừ ượ ữ ữ ng. Ngôn ng mô hình hóa th c t ự ạ ả ế i th c b ng cách xây d ng th ồ ọ ề ớ i th c b ng cách xây d ng mô hình “ o” trên máy tính luôn là m t v n đ l n mà đ h a ớ ả i o” ra đ i, v i kh năng mô ả ụ ể ự ừ ơ đ n gi n c th ừ ự c xây d ng t ế ẻ ả i quy t ượ i có th gi ế ớ ệ ự ộ ấ gi ự ạ ả ờ máy tính h ộ ế ớ ỏ ph ng m t cách s ng đ ng h u h t nh ng mô hình trong th gi i th c, t ớ ự ạ ả ứ ạ i ph c t p tr u t i o VRML đã đ cho t ườ ự ể ủ ầ nhu c u phát tri n c a công ngh “th c t i o” – mà d a trên đó, con ng ạ bài toán mô phòng l i th c trên máy tính. i th gi
ộ ượ ươ ủ N i dung c a báo cáo đ c chia thành 4 ch ụ ể ư ng c th nh sau:
(cid:0) ề (cid:0) ổ ổ ự ạ ả (cid:0) i o VRML (cid:0) ươ ươ ươ ươ i o VRML ự ạ ả t ngôn ng mô hình hóa th c t ỏ ươ Ứ ế ủ ắ ộ ữ t ch ng trình mô ph ng dao đ ng c a con l c ự ạ ả ng I: T ng quan v Th c t i o Ch ữ ng II: T ng quan ngôn ng mô hình hóa th c t Ch ể ế ng III: Tìm hi u chi ti Ch ụ Ch ng IV: ng d ng VRML – Vi ơ đ n trong không gian.
Page 3
ươ
ổ
ề
Ch
ng I: T ng quan v Th c t
ự ạ ả i o
ế ự ạ ả (ti ng Anh là virtual reality, vi
ậ th c t ỏ ế ắ t t ườ ầ ự ạ ả hay còn g i là m t môi tr ng mô ph ng b ng máy tính. Đa ph n các môi tr t là ng th c t VR) là ự ạ i
ọ ườ ị ề ể
i o ả ộ ả ỏ ư ạ Th c t i o ữ ằ thu t ng miêu t ủ ế ả o ch y u là hình nh hi n th trên màn hình máy tính hay thông qua kính nhìn ba chi u, tuy ộ nhiên m t vài mô ph ng cũng có thêm các lo i giác quan khác khác nh âm thanh hay xúc giác.
ỷ ộ ả ậ ệ ữ ớ ệ ự ế ả là m t thu t ng m i xu t hi n kho ng đ u th p k 90, Công ngh th c t
ậ ủ ự
ứ ư ứ ể ị ườ ệ ầ ấ ầ ở ạ i đây. Theo d đoán c a Gartner (t ng toàn c u), VR đ ng đ u danh sách 10 công ngh chi n l
ỹ ạ ệ ở ộ
ả ứ ứ ụ ệ
ộ ụ ấ ộ ề ế ả ả i trí,..) và ti m năng kinh t
ưỡ ụ
ứ ệ ề
ạ ầ ứ ệ ẻ ổ
ầ ề t Nam có cái nhìn t ng quát v công ngh VR trên th gi ự ế ế ế ớ ả ệ ố ề ạ o ổ ự ự ạ nh ng th c s phát tri n m nh trong vòng vài năm tr l ế ượ ầ ứ c năm ch c nghiên c u th tr ờ ọ ự ế ả 2009. T i M và châu Âu th c t o (VR) đã và đang tr thành m t công ngh mũi 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 ư ạ ươ ạ ị ị , cũng nh ng m i và gi t o, du l ch, d ch v b t đ ng s n, th ự ủ ẽ ế ụ t sau, tôi s trình tính l ng d ng (trong dân d ng và quân s ) c a nó. Trong lo t các bài vi ế ạ ệ ố ằ ụ ề bày có h th ng v VR: khái ni m, ng d ng, ph n m m, ph n c ng, m ng liên k t,... nh m ứ ả ế ớ ệ ạ i, kh năng ng giúp các b n tr Vi ệ ể ầ ụ d ng ph n m m đ thi i o và xây d ng h th ng VR t t k th gi t Nam. i Vi
ộ ệ ố
ư ậ ố ơ ữ ệ ộ
ủ
ộ ặ ự ở ờ ậ ủ ệ ượ ử ụ ộ ể ạ c s d ng đ t o ra m t ả ứ ạ ạ i ph n ng, thay i, mà l ề ờ ờ i nói,..). Đi u này xác i s d ng (nh hành đ ng, l ờ ươ ng tác th i gian th c (realtime interactivity). Th i ườ ử ả i s đây có nghĩa là máy tính có kh năng nh n bi c tín hi u vào c a ng ự ế ượ t đ
ậ ứ ổ ỏ ồ ọ VR là m t h th ng mô ph ng trong đó đ h a máy tính đ ạ ế ớ ế ớ i "nhân t o" này không tĩnh t i "nh th t". H n n a, th gi th gi ườ ử ụ ủ ổ đ i theo ý mu n (tín hi u vào) c a ng ị đ nh m t đ c tính chính c a VR, đó là t gian th c ụ d ng và thay đ i ngay l p t c th gi ế ớ ả i o
ộ ố ứ ế ế ự ủ i o có ng d ng trong h t lĩnh v c c a cu c s ng, n u không có th c t
ề ự ạ ả ả ấ ể ư ệ ặ ớ ả ế ượ i o, c, ho c có th nh ng v i hi u qu th p và i quy t đ
ự ạ ả Th c t ề ấ ố ơ ấ ụ ẽ ấ nhi u v n đ khó khăn s r t khó gi ề chi phí t n kém h n r t nhi u
Page 4
ươ
ự ạ ả
ữ
ổ
Ch
ng II: T ng quan ngôn ng mô hình hóa th c t
i o VRML
VRML (Virtual Reality Modeling Language) là ngôn ng mô hình hóa th c t ạ ả ữ i và các đ i t ộ o, m t ng ế ế ự ế ả ế ớ ồ ọ ươ ố ượ ngđ h a t ệ ố ng Internet,Intranet và các h th ng ổ ộ ụ ộ ề ợ ng ti n. VRML có th đ ẩ ở thành m t chu n trao đ i đa năng ể ượ ử ụ ệ ệ ồ ọ ấ ạ ỹ ệ các th gi ườ t k dùng trong môi tr ượ ự c d trù tr ươ ph ư ự ụ ề ễ ỗ ợ ẻ ậ ả ượ ử ụ ậ ị c s d ng trong vi c mô t đ nh d ng t p tin đ ượ ề tác ba chi u. VRML đ c thi máy khách c c b (local client). VRML còn đ c s d ng cho đ h a ba chi u tích h p và truy n thông đa ọ ự ứ trong r t nhi u lĩnh v c ng d ng ch ng h nnh tr c quan hóa các khái ni m khoa h c và k ế ớ ả ươ i o. thu t, trình di n đa ph ề ẳ itrí và giáo d c, h tr web và chia s các th gi ụ ệ ng ti n, gi
ạ ả ỉ ơ ượ ị ứ c các ấ ế ổ ư ẳ ả ượ ử ụ ng đ
ấ ệ ươ ủ ả ng mù (fog), thu c tính c a ch t li u (material ữ ử ụ ồ ộ ữ ố ượ ượ ử ụ ươ ủ ng c a mô hình, VRML đ ớ ng tác v i các đ i t ườ ứ ả ỏ
ổ ộ ị ề V căn b n VRML ch đ n gi n là m t đ nh d ng trao đ i 3D. Nó đ nh nghĩa đ ạ ụ ề ườ ấ c s d ng trong các ng d ng 3D, ch ng h n nh các bi nđ i phân c p v n đ th ể ọ (hierarchical tranformations), ngu n ánh sáng (líght sources), đi m nhìn(view points), hình h c ồ ế properties) và các b n đ k t (geometry), s ệ ấ ấ Ngôn ng VRML là ngôn ng s d ng mô hình phân c p trong vi c c u (texture mapping). ể ệ ể ể th hi ncác t c s d ng đ phát tri n ả ữ ng không nh nghình nh 3D và quang c nh trên Web. Các file VRML có kích th c nh , th quá 1Mb.
ữ ự ạ ả ả ẩ ộ ạ ụ ộ Ngôn ng mô hình hóa 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 tfile text b n i o VRML là m t chu n không chính th c đ mô t ệ ề ộ ỉ ớ ế ế ớ ả ị ạ ề ể ề ứ ể ộ i o mà không b h n ch nhi u. ng tác, đi u khi n m t th gi ả ươ , t ự ế ả th c t ể có th mô t
ướ ữ ả ớ ạ 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ỏ ề ớ ạ i h n trong kho ng 100 200Kb nên các file ượ ễ ạ ị ự ơ ụ ệ ế ả ợ ớ v i băng thông, ph n l n gi ộ VRML đ ạ ị đ nh d ng đ i t ầ ớ ả ề ản thìVRML là c truy n đi m t cách khá d dàng. N u HTML là đ nh d ng văn b ị ỗ ợ d ch v web 3D ố ượ ng 3D. Hi n nay VRML có l ế i th là s đ n gi n, h tr
Page 5
Ữ
Ể
CH
Ế NG III : TÌM HI U CHI TI T NGÔN NG MÔ HÌNH Ự Ạ Ả
ƯƠ TH C T I O VRML
ệ ớ 1. Làm vi c v i file VRML.
ể ạ ằ ạ ả ộ ơ ộ ả ả Chúng ta có th t o m t file VRML đ n gi n b ng cách dùng m t trình so n th o văn b n ớ ư ộ ầ ạ ở r ng rl. Bên c nh đó , giúp cho ả ạ ư ả ơ ạ ộ ộ ệ ứ i yêu c u m t b Player tr ợ giúp cho hi n thể ệ ọ ử ụ ộ ị các hi u ng ỗ ợ VRML hi nnay, em ch n s d ng b Cortona 3D ề ễ ấ ồ nh Notepad hay WordPad, r i sau đó l u file v i ph n m ệ viêc so n th o code VRML hi u qu h n. Vi c dệ ịch và ch y m t file *.wrl l ầ ộ ạ ộ trong VRML . Trong nhi u b Player h tr viewer đượ cung c p mi n phí.
ấ 2. C u trúc file VRML *.wrl
ầ ơ ả 1 file VRML (*.wrl) có 3 thành ph n c b n :
(cid:0) ể ề ậ (cid:0) ầ ạ ằ ượ ươ ấ ỏ ị (cid:0) c ch ầ ủ ẻ ồ ầ ổ ậ Tiêu đ : Dùng đ nh n d ng t p tin VRML và cách mã hóa ạ ắ ầ Ph n chú thích: B t đ u b ng d u # và đ ng trình b qua khi d ch và ch y ọ Các node: hay còn g i là các th , là thành ph n chính c a file VRML bao g m các ph n t ng quát sau: Lo i node :
ả ế
t hoa ở ắ ả
ặ ề ườ ể ộ
ả ằ ề ặ ồ ạ Tên node ph i vi Các c p d u trong m ngo c {…} b t bu c ph i có ộ ặ Các tr ườ ng trong m t node Các tr ườ ấ ng: có th có nhi u tr ị ng g m nhi u giá tr thì ph i n m trong các c p […]
ố ượ ọ ơ ả 3. Các đ i t ng hình h c c b n
ượ ạ ự ừ ế ớ ả Th gi ồ các file VRML đ ụ c t o nên t ả ố ượ ố ượ ộ ọ ơ ả ượ ạ ng hình h c c b n c t o ra ng này đ ừ i o xây d ng t ầ ườ ớ các đ i t bao g m : hình h p, hình c u, hình tr , hình nón và văn b n. Các đ i t trong node Shape v i hai tr ng appearance và geometry.
(cid:0)
node ườ ướ ượ c đ ầ ượ ừ i t a đ ( 0,0,0) và có kích th ướ ộ t là kích th ị c quy đ nh qua tr ng “sizex y z” ụ c hình h p theo các tr c Ox, Oy, Oz trong h tr c t a đ ệ ụ ọ ộ ữ ậ ộ Box – Hình h p ch nh t ữ ậ ạ ộ Hình h p ch nh t t o ra t ạ ọ ộ Box có tâm t ớ v i x,y,z l n l Đê các.
(cid:0) Sphere – Hình c uầ
Page 6
ượ i t a đ (0,0,0) và có bán kính đ c quy ầ ượ ạ ườ node Sphere có tâm t ị ườ ơ Hình c u đ ị đ nh qua tr ừ c t o ra t ng “radius”. Giá tr tr ạ ọ ộ ả ớ ng radius ph i l n h n 0.0
Page 7
(cid:0) Cylinder – Hình trụ
ượ ạ ừ ạ ọ ộ ị Hình trụ đ c t o ra t node Cylinder có tâm t i t a đ (0,0,0) , có bán kính quy đ nh qua ị ề ngườ radius và có chi u cao quy đ nh qua tr ạ ườ ườ ự ồ ạ ị ặ ị i trong node quy đ nh s t n t ng height ế i( n u mang giá tr TRUE) ho ckhông t n t ồ ạ i (
ặ side. ố ụ ự ệ ặ top, m t đáy ượ c xét t i –ướ bottom ,và m t bên – i n u toàn kh i tr tham gia vào các s ki n (ví d ớ ế ạ ả ệ ế ạ tr ng còn l Ba tr ị khi mang giá tr FALSE ): ặ ươ ứ t ng ng là m t đáy trên – ồ ạ ẽ ặ i s không đ Các m t không t n t ặ ụ ư d nh phát hi n ra va ch m ho c kích ho t c m bi n).
(cid:0) Cone – Hình nón
ượ ạ ừ ạ ặ ị node Cone có tâm t c t o ra t i (0,0,0) , có bán kính m t đáy quy đ nh qua ề ị ườ ườ Hình nón đ ng bottom Radius và có chi u cao quy đ nh qua tr tr ng height. (cid:0) Text
ỗ ẽ ượ ị ườ ỗ c t o t node Text s đ c quy đ nh trong tr ng string,chu i này ả ượ ạ ừ ẩ ượ Chu i văn b n đ c mã hóa theo chu n mã hóa utf8. đ
Page 8
ế ổ 4. Các phép bi n đ i trong VRML
ượ ự ng đ c xây d ng trong VRML đ u đ ọ ố ượ M c đ nh m i đ i t ộ ệ ố ề ượ ặ ở ọ ộ ố ươ ụ ệ ọ ộ ớ ố ế t a đ g c. Bi n ớ ệ ng đ i so v i h ệ ụ ể ư ổ ự ệ c đ t ị ỷ ệ l ng thông qua node c th c hi n trên các đ i t ặ ị ạ ổ đ i là t o ra m t h th ng tr c h t a đ m i mà h tr c này có v trí t ế ọ ộ ặ ị t a đ m c đ nh. Các các phép bi n đ i nh : di chuy n, quay, t ố ượ ượ ổ ế Các phép bi n đ i trong VRML đ Transform{…}
Page 9
Page 10
ượ ử ụ ộ ố ạ 5. M t s lo i node đ c s d ng trong VRML
(cid:0) Shape
Cylinder, Sphere, Text t ƣơ ứ ng ng v i các ụ ầ ộ (cid:0) Geometry ẽ ạ ng đ ượ c t o ra trong node Shape đ là : hình h p, hình nón, hình tr ể ạ ớ , hình c u, và đ t o nên ẳ ặ ồ Node Geometry s bao g m các node Box, Cone, ố ượ đ i t ứ ả văn b n.Ngoài ra nodeGeometrycòn ch a nodeIndexedLineSetvàIndexedFaceSet ẳ ƣơ t t ph ng trong không gian. ƣờ ng th ng ng là đ ng và m (cid:0) Appearance
Page 11
(cid:0) Material
Page 12
(cid:0) Texture
(cid:0) ImageTexture
(cid:0) MovieTexture
Page 13
(cid:0) IndexedFaceset
(cid:0) BackGround
Page 14
(cid:0) Viewpoint
Page 15
(cid:0) PointLight
Page 16
(cid:0) CylinderSensor
(cid:0) SphereSensor
Page 17
(cid:0) TouchSensor
Page 18
(cid:0) TimeSensor
Page 19
(cid:0) Anchor
Page 20
(cid:0) Group
(cid:0) Switch
(cid:0) Transform
(cid:0) Inline
Page 21
(cid:0) BillBoard
Page 22
Ứ
ế
ỏ
Ch
t ch
ng trình mô ph ng dao
ụ ươ ng IV: ng d ng VRML – Vi ắ ơ ộ
ủ
ươ đ ng c a con l c đ n trong không gian.
ả ệ 1. Mô t thí nghi m
ả ệ ợ Mô t ằ ứ ằ ớ ở ữ ể i đ p vào hòn bi ừ ế ộ ộ i,l c này tác đ ng lên c 2 hòn bi đ ng gi a và hòn bi bên trái, k t ể ớ ậ ữ ế ộ ồ ồ ứ ữ ể ậ ộ ượ ạ c l ứ ế ư ậ ễ ể ộ ố ượ thí nghi m: Treo ba hòn bi b ng thép có kh i l ng b ng nhau vào 3 s i dây, ế ẳ sao cho khi 3 dây song song và th ng đ ng thì 3 hòn bi ti p xúc v i nhau. Ta kéo cho hòn ộ ả ả ệ bên ph i l ch đi m t góc a và th nó ra. Nó chuy n đ ng t gi a đang ứ ứ ả ạ ự đ ng yên và d ng l ế ề ữ ứ ả qu là hòn bi gi a đ ng yên. còn hòn bi bên trái chuy n đ ng ti p v phía bên trái cho đ n ộ ệ khi l ch m t góc a thì chuy n đ ng ng i, đ p vào hòn bi gi a, r i r i đ ng yên. Hòn ả ạ bi bên ph i l i chuy n đ ng và quá trình c ti p di n nh v y.
ơ ở ế 2. C s lý thuy t
ụ ượ ề ừ ậ ọ ng h thì đ ng l v t n sang v t kia, ẽ ể ổ ấ ậ ễ ươ ổ ộ ể ng có th truy n t ự ng v i nhau. Ta s xét xem s trao đ i y di n ra theo ệ ư ế ợ ng b ng nhau vào 2 s i dây, sao cho khi hai dây ẳ ứ ộ ả ể ả ệ ừ ạ ộ ể ế ậ ứ ộ ể ả ạ ộ
ả ỗ ư ậ ả ử ố ượ s kh i l ứ ạ ộ ướ ng c a c hai hòn bi ngay tr ướ ạ ệ ồ ướ ờ ề ằ ộ ủ ả ậ ố ủ ậ ộ ủ ượ ượ ng c a chúng tr ng v bên trái, nghĩa là b ng đ ng l
ỗ ủ ươ ụ ệ ằ V y thí nghi m đã ch ng minh r ng: tác d ng t ậ ng h c a hai v t không làm thay ứ ủ ượ ộ ổ ộ ỗ ậ Khi hai v t tác d ng t ớ ượ nghĩa là chúng có th trao đ i đ ng l ơ ả ớ ậ quy lu t nh th nào v i thí nghi m đ n gi n sau: ằ ố ượ ằ Treo hai hòn bi b ng thép có kh i l ộ ớ ế song song và th ng đ ng thì hai hòn bi ti p xúc v i nhau. Ta kéo cho hòn bên ph i l ch đi m t ớ ậ i, còn góc a và th nó ra. Nó chuy n đ ng t i đ p vào hòn bi bên trái đang đ ng yên và d ng l ộ ế ệ ề ể hòn bi bên trái chuy n đ ng ti p v phía bên trái cho đ n khi l ch m t góc a thì chuy n đ ng ứ ả ồ ứ ạ i, đ p vào hòn bi bên ph i r i đ ng yên. Hòn bi bên ph i l i chuy n đ ng và quá trình c l ễ ế ti p di n nh v y. ậ ố ủ ủ c lúc va ng c a m i hòn bi là m, v n t c c a hòn bi bên ph i ngay tr Gi ướ ượ ấ ch m là v. Vì lúc y hòn bi bên trái đ ng yên nên đ ng l c lúc ả ạ ề ng v bên trái. Ngay sau lúc va ch m, v n t c c a hòn bi cũng ph i là v va ch m là mv và h ả ứ ằ ng c a hai hòn do hai góc l ch b ng nhau, đ ng th i hòn bi bên ph i đ ng yên, v y đ ng l ướ ủ ằ bi lúc đó cũng b ng mv và h c lúc va ch m.ạ ậ ổ ộ đ i đ ng l ng t ng c ng c a chúng.
ầ 3. Yêu c u bài toán
ắ ơ ủ ể ộ ự chuy n đ ng c a con l c đ n trong không gian 3D mà
ả ộ ả Xây d ng m t mô hình mô t ể ườ ử ụ i s d ng có th : khi đó ng ể Di chuy n xoay quanh mô hình ượ c hình nh Xem đ
Page 23
ấ ượ ự ữ ể ạ ộ Th y đ ắ c s chuy n đ ng, va ch m gi a các con l c
4. Thi ỡ ứ
ợ ồ ủ
ế ế t k . ộ a. M t giá đ ộ b. M t thanh đ ng ộ c. M t thanh ngang ắ ả ầ ế ế t k 3 con l c: G m 3 qu c u treo vào 3 s i dây d. Thi ắ ộ ả ự s dao đ ng c a con l c e. Mô t ự 5. D ng hình
DEF Giado Transform { translation 0 70 0 children [ DEF GiadoTIMER TimeSensor { loop TRUE cycleInterval 3.333 }, DEF Cylinder12 Transform { translation 10 67.23 0.1 children [ Shape { appearance Appearance { material Material { diffuseColor 0.102 0.6941 0.3451 } } geometry DEF Cylinder12FACES IndexedFaceSet { ccw TRUE solid TRUE coord DEF Cylinder12COORD Coordinate { point [ 1 0 0, 0.5 0 0.866, 0.5 0 0.866, 1 0 0, 0.5 0 0.866, 0.5 0 0.866, 1 2 0, 0.5 2 0.866, 0.5 2 0.866, 1 2 0, 0.5 2 0.866, 0.5 2 0.866, 0 2 0, 3 2 0, 1.5 2 2.598, 1.5 2 2.598, 3 2 0, 1.5 2 2.598, 1.5 2 2.598, 3 4 0, 1.5 4 2.598, 1.5 4 2.598, 3 4 0, 1.5 4 2.598, 1.5 4 2.598, 0 4 0] } coordIndex [ 0, 7, 6, 1, 0, 1, 7, 1, 1, 8, 7, 1, 1, 2, 8, 1, 2, 9, 8, 1, 2, 3, 9, 1, 3, 10, 9, 1, 3, 4, 10, 1, 4, 11, 10, 1, 4, 5, 11, 1, 5, 6, 11, 1, 5, 0, 6, 1, 12, 14, 13, 1, 12, 15, 14, 1, 12, 16, 15, 1, 12, 17, 16, 1, 12, 18, 17, 1, 12, 13, 18, 1, 13, 20, 19, 1, 13, 14, 20, 1, 14, 21, 20, 1, 14, 15, 21, 1, 15, 22, 21, 1, 15, 16, 22, 1, 16, 23, 22, 1, 16, 17, 23, 1, 17, 24, 23, 1,
a) Giá đ ỡ
Page 24
17, 18, 24, 1, 18, 19, 24, 1, 18, 13, 19, 1, 25, 19, 20, 1, 25, 20, 21, 1, 25, 21, 22, 1, 25, 22, 23, 1, 25, 23, 24, 1, 25, 24, 19, 1] } } ] },
Page 25
b) Thanh ngang
DEF Cylinder02 Transform { translation 50 65 0 rotation 0.5774 0.5774 0.5774 2.094 children [ Transform { translation 0 75 0 children [ Shape { appearance Appearance { material Material { diffuseColor 0.6392 0.549 0.1922 ambientIntensity 0.1534 specularColor 0.72 0.72 0.72 shininess 0.2875 transparency 0 } } geometry Cylinder { radius 1.5 height 150 } } ] } ] },
Page 26
c) Thanh đ ngứ
DEF Cylinder01 Transform { translation 70 70 0 children [ Transform { translation 0 75 0 children [ Shape { appearance Appearance { material Material { diffuseColor 0.6392 0.549 0.1922 ambientIntensity 0.1534 specularColor 0.72 0.72 0.72 shininess 0.2875 transparency 0 } } geometry Cylinder { radius 2 height 150 } } ] } ] },
Page 27
ầ
d) Con l cắ ắ
diffuseColor 1 0 0
ambientIntensity 0.1033 specularColor 0.045 0.045 0.045 shininess 0.2875 transparency 0 } } geometry Cylinder { radius 0.5 height 90 } } ] } ] }, DEF Sphere01 Transform { translation 0 45 0 children [ Shape { appearance Appearance { material Material { diffuseColor 0 1 1 ambientIntensity 0.1115 specularColor 0.045 0.045 0.045 shininess 0.2875 transparency 0 } } geometry Sphere { radius 10 }
ứ ấ #Con l c th nh t DEF Conlac Transform { translation 10 75 0 center 0 55 0 children [ DEF Cylinder01_0 Transform { translation 0 55 0 children [ Transform { translation 0 45 0 children [ Shape { appearance Appearance { material Material { #M u dây
Page 28
} ] } ] }
ắ ứ
ứ #Con l c th 2 đ ng yên DEF Conlac2 Transform { translation 10 75 0 center 0 55 0 children [ USE Cylinder01_0
USE Sphere01 ] }
ứ ắ #Con l c th 3 DEF Conlac3 Transform { translation 30 75 0 center 0 55 0 children [ USE Cylinder01_0
USE Sphere01 ] }
Page 29
ả ộ e) Mô t dao đ ng
ố ộ ắ #T c đ con l c :
DEF Clock TimeSensor { cycleInterval 1.6 startTime 1.0 stopTime 0.0 loop TRUE }
ờ ộ ị # V trí và góc dao đ ng theo th i gian
DEF Daodong Script {
eventIn SFFloat set_fraction eventOut SFRotation gocconlac1 eventOut SFRotation gocconlac3
url "vrmlscript: function set_fraction(frac, tm) {
goc = Math.sin((2*frac1) * Math.PI) * Math.PI/7; gocconlac1[0] = 0.0; gocconlac1[1] = 0.0; gocconlac1[2] = 1.0; if (goc < 0) gocconlac1[3] = goc; else gocconlac1[3] = 0; if (goc > 0) gocconlac3[3] = goc; else gocconlac3[3] = 0; }" }
ROUTE Clock.fraction_changed TO Daodong.set_fraction ROUTE Daodong.gocconlac1 TO Conlac.set_rotation ROUTE Daodong.gocconlac3 TO Conlac3.set_rotation