Tải bản đầy đủ (.docx) (26 trang)

Báo cáo nghiên cứu xây dựng không gian mô phỏng dao động con lắc đơn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (565.86 KB, 26 trang )

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…


Trong những ứng dụng ấy việc mô phỏng lại thế giới thực bằng cách xây dựng thế giớ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 máy tính hướng
tới giải quyết. Từ đó mà công nghệ “thực tại ảo” ra đời, với khả năng mô 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ừ đơn giản cụ thể cho tới phức tạp trừu tượng.
Ngôn ngữ mô hình hóa thực tại ảo VRML đã được xây dựng 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ười có thẻ giải quyết bài toán mô phòng lại thế giới thực trên
máy tính.
Nội dung của báo cáo được chia thành 4 chương cụ thể như sau:
• Chươ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ại ảo VRML
• Chương III: Tìm hiểu chi tiết ngôn ngữ mô hình hóa thực tại ảo VRML
• Chương IV: Ứng dụng VRML – Viết chương trình mô phỏng dao động của con lắc đơn
trong không gian.
Page
3
Chương I: Tổng quan về Thực tại ảo
Thực tại ảo hay còn gọi là thực tại ảo (tiếng Anh là virtual reality, viết tắt là VR) là thuật
ngữ miêu tả một môi trường mô phỏng bằng máy tính. Đa phần các môi trường thực tại ả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.
Công nghệ thực tế ảo là một thuật ngữ mới xuất hiện khoảng đầu thập kỷ 90, nhưng thực
sự phát triển mạnh trong vòng vài năm trở lại đây. Theo dự đoán của Gartner (tổ chức nghiên cứu
thị trường toàn cầu), VR đứng đầu danh sách 10 công nghệ chiến lược năm 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 tạo, du lịch, dịch vụ bất động sản,
thương mại và giải trí, ) và tiềm năng kinh tế, cũng 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ết sau, tôi sẽ trình 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 giúp các bạn trẻ Việt Nam có cái nhìn tổng quát về
công nghệ VR trên thế giới, khả năng ứng dụng phần mềm để thiết kế thế giới ảo và xây dựng hệ
thống VR tại Việt Nam.

VR là một hệ thống mô phỏng trong đó đồ họa máy tính được sử dụng để tạo ra một thế giới
"như thật". Hơn nữa, thế giới "nhân tạo" này không tĩnh tại, mà lại phản ứng, thay đổi theo ý muốn
(tín hiệu vào) của người sử dụng (nhờ hành động, lời nói, ). Điều này xác định một đặc tính chính
của VR, đó là tương tác thời gian thực (real-time interactivity). Thời gian thực ở đây có nghĩa là
máy tính có khả năng nhận biết được tín hiệu vào của người sử dụng và thay đổi ngay lập tức thế
giới ảo
Thực tạ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, nhiều
vấn đề khó khăn sẽ rất khó giải quyết được, hoặc có thể nhưng với hiệu quả thấp và 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ế ảo, một định
dạng tập tin được sử dụng trong việc mô tả các thế giới và các đối tượngđồ họa tương tác ba chiều.
VRML được thiết kế dùng trong môi trường Internet,Intranet và các hệ thống máy khách cục bộ
(local client). VRML còn được dự trù trở thành một chuẩn trao đổi đa năng cho đồ họa ba chiều tích
hợp và truyền thông đa phương tiện. VRML có thể được sử dụng 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ỹ thuật, trình diễn đa phương tiện, giảitrí
và giáo dục, hỗ trợ web và chia sẻ các thế giới ảo.
Về căn bản VRML chỉ đơn giản là một định dạng trao đổi 3D. Nó định nghĩa được các vấn
đề thường đượ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 (hierarchical
tranformations), nguồn ánh sáng (líght sources), điểm nhìn(view points), hình học (geometry),
sương mù (fog), thuộc tính của chất liệu (material properties) và các bản đồ kết cấu (texture
mapping). Ngôn ngữ VRML là ngôn ngữ sử dụng mô hình phân cấp trong việc thể hiệncác tương
tác với các đối tượng của mô hình, VRML được sử dụng để phát triển nhữnghình ảnh 3D và quang
cảnh trên Web. Các file VRML có kích thức nhỏ, thường không
quá 1Mb.
Ngôn ngữ mô hình hóa thực tại ảo VRML là một chuẩn không chính thức đểmô tả 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 có thể mô tả,
tương tác, điều khiển một thế giới ảo mà không bị hạn chếnhiều.

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 với
băng thông, phần lớn giới hạ n trong khoảng 100 - 200Kb nên các file
VRML được truyền đi một cách khá dễ dàng. Nếu HTML là định dạng văn bản thìVRML là định
dạng đối tượng 3D. Hiện nay VRML có lợi thế là sự đơn giản, hỗ trợ dịch vụ web 3D
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 như
Notepad hay WordPad, rồi sau đó lưu file vớ i phần mở rộng rl. Bên cạnh đó , giúp cho 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ại yêu cầu một bộ Player trợ giúp cho hiển thị các hiệu ứng trong
VRML . Trong nhiều bộ Player hỗ trợ VRML hiệnnay, em chọn sử dụng bộ Cortona 3D 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 :
• 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à được chươ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ên node phải viết hoa
 Các cặp dấu trong mở ngoặc {…} bắt buộc phải có
 Các trường: có thể có nhiều trường trong một node
 Các 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ới ảo xây dựng từ các file VRML được tạo nên từ các đối tượng hình học cơ bản 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ượng này được tạo ra trong node Shape
với hai trường appearance và geometry.

• Box – Hình hộp chữ nhật
Hình hộp chữ nhật tạo ra từ node
Box có tâm tại tọa độ ( 0,0,0) và có kích thước được quy định qua trường “sizex y z” với
x,y,z lần lượt là kích thước hình hộp theo các trục Ox, Oy, Oz trong hệ trục tọa độ Đê các.
• Sphere – Hình cầu
Hình cầu được tạo ra từ node Sphere có tâm tại tọa độ (0,0,0) và có bán kính được quy định
qua trường “radius”. Giá trị trường radius phải lớn hơn 0.0
Page
6
• 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
trường radius và có chiều cao quy định qua trường height
Ba trường còn lại trong node quy định sự tồn tại( nếu mang giá trị TRUE) hoặckhông tồn tại ( khi
mang giá trị FALSE ):
tương ứng là mặt đáy trên – top, mặt đáydưới – bottom ,và mặt bên – side.
Các mặt không tồn tại sẽ không được xét tới nếu toàn khối trụ tham gia vào các sự kiện (ví dụ như
phát hiện ra va chạm hoặc kích hoạt cảm biến).
• Cone – Hình nón
Hình nón được tạo ra từ node Cone có tâm tại (0,0,0) , có bán kính mặt đáy quy định qua trường
bottom Radius và có chiều cao quy định qua trường height.
• Text
Chuỗi văn bản được tạo từ node Text sẽ được quy định trong trường string,chuỗi này được mã
hóa theo chuẩn mã hóa utf-8.
Page
7
4. Các phép biến đổi trong VRML
Mặc định mọi đối tượng được xây dựng trong VRML đều được đặt ở tọa độ gốc. Biến đổ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ương đối so với hệ tọa độ mặc định. Các
các phép biến đổi như: di chuyển, quay, tỷ lệ
Các phép biến đổi trong VRML được thực hiện trên các đối tượng thông qua node Transform{…}


Page
8
Page
9
5. Một số loại node được sử dụng trong VRML
• Shape
• Geometry
Node Geometry sẽ bao gồm các node Box, Cone, Cylinder, Sphere, Text tƣơng ứng với các đối
tượ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à văn 
bản.Ngoài ra nodeGeometrycòn chứa nodeIndexedLineSetvàIndexedFaceSet để t ạo nên tƣơng ng
là đƣờ ng th ẳ ng và m ặ t phẳng trong không gian.
• Appearance
Page
10
• Material
Page
11
• Texture
• ImageTexture
• MovieTexture
Page
12
• IndexedFaceset
• BackGround
Page
13
• Viewpoint
• PointLight
Page

14
• CylinderSensor
• SphereSensor
Page
15
• TouchSensor
Page
16
• TimeSensor
Page
17
• Anchor
Page
18
• Group
• Switch
• Transform
• Inline
• BillBoard
Page
19
Chương IV: Ứng dụng VRML – Viết chương trình mô phỏng dao
động của con lắc đơn trong không gian.
1. Mô tả thí nghiệm
Mô tả 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ới đập vào hòn bi ở giữa đang đứng yên và dừng
lạ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 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ược lạ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
Khi hai vật tác dụng tương hỗ thì động lượng có thể truyền từ vật nọ sang vật kia, nghĩa là
chúng có thể trao đổi động lượng với nhau. Ta sẽ xét xem sự trao đổi ấy diễn ra theo 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ượng bằng nhau vào 2 sợi dây, sao cho khi hai dây 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 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ại, 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 lạ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ứ tiếp diễn như vậy.
Giả sử khối lượ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ước lúc va chạm
là v. Vì lúc ấy hòn bi bên trái đứng yên nên động lượng của cả hai hòn bi ngay trước lúc va chạm là
mv và hướ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 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ượng của hai hòn bi lúc đó cũng bằng
mv và hướng về bên trái, nghĩa là bằng động lượng của chúng trước lúc va chạm.
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 đổi động
lượng tổng cộng của chúng.
3. Yêu cầu bài toán
Xây dựng một mô hình mô tả chuyển động của con lắc đơn trong không gian 3D mà khi đó
người sử dụng có thể :
Di chuyển xoay quanh mô hình
Xem được hình ảnh
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
d. Thiết kế 3 con lắc: Gồm 3 quả cầu treo vào 3 sợi dây
e. Mô tả sự dao động của con lắc
5. Dựng hình

a) Giá đỡ
Page
20
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,
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
21
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
22
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
23
d) Con lắc
#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
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ứ 2 đứng yên
DEF Conlac2 Transform {
translation 10 75 0
Page
24
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
25

×