Ờ Ả Ơ 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 (real­time 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 utf­8. đ

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 Giado­TIMER 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 Cylinder12­FACES IndexedFaceSet {             ccw TRUE             solid TRUE             coord DEF Cylinder12­COORD 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*frac­1) * 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

Page 30