Tải bản đầy đủ (.pdf) (65 trang)

mô phỏng hiệu ứng sóng nước trong thực tại ảo

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 (1.35 MB, 65 trang )



Số hóa bởi Trung tâm Học liệu

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




Trần Thị Thúy Mai




MÔ PHỎNG HIỆU ỨNG SÓNG NƢỚC TRONG
THỰC TẠI ẢO










LUẬN VĂN THẠC SỸ










Thái nguyên: 2014


Số hóa bởi Trung tâm Học liệu

ĐẠI HỌC THÁI NGUYÊN
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG



Trần Thị Thúy Mai



MÔ PHỎNG HIỆU ỨNG SÓNG NƢỚC TRONG
THỰC TẠI ẢO



Ngành: Công nghệ thông tin
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01




LUẬN VĂN THẠC SỸ

NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS. TS ĐỖ NĂNG TOÀN



Thái nguyên: 2014


Số hóa bởi Trung tâm Học liệu

LỜI CAM ĐOAN
Tôi xin cam đoan, toàn bộ nội dung liên quan tới đề tài đƣợc trình bày
trong luận văn là bản thân tôi tự tìm hiểu và nghiên cứu, dƣới sự hƣớng dẫn
khoa học của Thầy giáo PGS. TS ĐỖ NĂNG TOÀN
Các tài liệu, số liệu tham khảo đƣợc trích dẫn đầy đủ nguồn gốc. Tôi
xin chịu trách nhiệm trƣớc pháp luật lời cam đoan của mình.
Thái Nguyên, ngày…. Tháng…. năm 2014
Học viên thực hiện



Trần Thị Thúy Mai


Số hóa bởi Trung tâm Học liệu

LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn tới trƣờng Công nghệ thông tin và truyền thông

- Đại học Thái Nguyên, nơi các thầy cô đã tận tình truyền đạt các kiến thức
quý báu cho tôi trong suốt quá trình học tập. Xin cảm ơn Ban chủ nhiệm khoa
và các cán bộ đã tạo điều kiện tốt nhất cho chúng tôi học tập và hoàn thành đề
tài tốt nghiệp của mình.
Đặc biệt, tôi xin gửi tới PGS. TS Đỗ Năng Toàn, thầy đã tận tình chỉ
bảo tôi trong suốt quá trình thực hiện đề tài lời cảm ơn và biết ơn sâu sắc nhất.
Bên cạnh những kiến thức khoa học, thầy đã giúp tôi nhận ra những bài học
về phong cách học tập, làm việc và những kinh nghiệm sống quý báu.
Tôi xin bày tỏ lòng biết ơn tới gia đình, bạn bè, đồng nghiệp và những
ngƣời thân đã động viên khích lệ tinh thần và giúp đỡ để tôi hoàn thành luận
văn này.
i



MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC i
MỞ ĐẦU 1
CHƢƠNG I: KHÁI QUÁT VỀ MÔ PHỎNG NƢỚC VÀ BÀI TOÁN MÔ
PHỎNG SÓNG NƢỚC 4
1.1. Khái niệm về mô phỏng nƣớc 4
1.1.1. Tổng quan về thực tại ảo 4
1.1.2. Vai trò của mô phỏng nƣớc 10
1.1.3. Một số hiệu ứng nƣớc cơ bản 10
1.2. Bài toán mô phỏng sóng nƣớc 14
1.2.1. Tổng quan về mô phỏng 14
1.2.2. Bài toán mô phỏng sóng nƣớc 16
CHƢƠNG II: MỘT SỐ VẤN ĐỀ TRONG MÔ PHỎNG SÓNG NƢỚC21

2.1. Đặc Điểm Cơ Bản Của Sóng Nƣớc 21
2.1.1. Sóng cơ 21
2.1.2. Những đại lƣợng đặc trƣng của chuyển động sóng 23
2.1.3. Phƣơng trình sóng 23
2.2. Mô phỏng bề mặt nƣớc 25
2.2.1. Hiện tƣợng căng mặt ngoài 25
2.2.2. Sự dính ƣớt và không dính ƣớt 27
2.2.3. Cơ sở lý thuyết của mô phỏng nƣớc 28
2.3. Phƣơng pháp Particle-based 31
2.3.1. Giới thiệu 31
2.3.2. Tiến trình mô phỏng 32
2.3.3. Giảm mật độ kép 36
ii



2.3.4. Biểu diễn bề mặt (Viscoelasticity) 43
2.3.5. Va chạm với đối tƣợng 46
CHƢƠNG III: CÀI ĐẶT CHƢƠNG TRÌNH ỨNG DỤNG 50
3.1. Bài Toán 50
3.2. Chƣơng Trình 53
3.3. Kết quả thử nghiệm 55
PHẦN KẾT LUẬN 56
TÀI LIỆU THAM KHẢO 58
1



MỞ ĐẦU
1. Lý do chọn đề tài

Những lĩnh vực nghệ thuật mà con ngƣời đã sáng tạo ra trong lịch sử
phát triển của mình đều cùng chung mục đích: mô tả thế giới vô cùng phong
phú mà con ngƣời đang sống, cũng không hề có sự mâu thuẫn gì khi nói: tất
cả những gì con ngƣời sáng tạo ra cuối cùng đều chung một mục đích là
phục vụ con ngƣời. Công nghệ thực tại ảo (Virtual Reality-VR) cũng vậy, nó
đƣợc ra đời với mục đích mô phỏng thế giới thực hay thế giới trong trí tƣởng
tƣợng của con ngƣời bằng máy tính, từ đó con ngƣời có thể cảm nhận và
tƣơng tác với thế giới đó nhƣ đang ở trong thế giới thật.
Nếu trở lại vài thập niên về trƣớc, chắc rằng bạn sẽ cho đó là những
điều viễn tƣởng, nhƣng sự phát triển vƣợt bậc của phần cứng nhất là các thiết
bị xử lý đồ hoạ và thiết bị ngoại vị tương tác đã cho phép chúng ta đƣợc sống
trong thế giới đó tại thời điểm này. Ở Việt Nam, công nghệ Thực tại ảo đang
đƣợc triển khai nghiên cứu. Tại viện Công nghệ thông tin thuộc Viện khoa
học & Công nghệ Việt Nam đã đƣợc trang bị phòng máy VR đầu tiên trong cả
nƣớc. Bên cạnh trung tâm đầu não đó, kỹ thuật mô phỏng đã đƣợc nhiều
trƣờng Đại học, nhiều công ty phần mềm nghiên cứu và cho tới nay đã thu
đƣợc những kết quả bƣớc đầu đáng khích lệ. Nhƣng để làm chủ đƣợc công
nghệ mới này thì rất cần phải đầu tƣ nghiên cứu tiếp. Một điều đƣơng nhiên
là: muốn hiểu toàn bộ công nghệ thì phải nắm đƣợc phƣơng pháp thể hiện
từng loại đối tƣợng, và nước là một phần không thể thiều trong các hệ Thực
tại ảo. Chính vì thế tôi đã chọn đề tài “ mô phỏng hiệu ứng sóng nước trong
thực tại ảo” để làm luận văn tốt nghiệp.
2. Đối tƣợng và phạm vi nghiên cứu
a. Đối tượng của đề tài:
2



- Phƣơng pháp mô phỏng sóng nƣớc bề mặt, bề mặt sóng nƣớc và ứng
dụng của nó.

b. Phạm vi nghiên cứu:
- Nghiên cứu phƣơng pháp mô phỏng sóng nƣớc trong thực tại ảo (chú
trọng đến bề mặt nƣớc phẳng có nhiều nhất là hai vùng sóng).
- Qua đó xây dựng hiệu ứng của nƣớc .
3. Hƣớng nghiên cứu của đề tài
Đề tài tập chung nghiên cứu phƣơng pháp chính mà thế giới đã phát triển
là phƣơng pháp Particle-base
4. Những nội dung nghiên cứu chính
Luận văn gồm phần Mở đầu, phần Kết luận và ba chƣơng cụ thể nhu sau:
Chƣơng 1: Khái quát về mô phỏng nƣớc và bài toán mô phỏng sóng
nƣớc
Trong chƣơng này tôi xin giới thiệu tổng quan về quá trình phát triển và
các lĩnh vực ứng dụng chính hiện nay của Thực tại ảo, đồng thời cung cấp
một cái nhìn tổng quan về mô phỏng nƣớc trong hệ Thực tại ảo. Tại chƣơng
này tôi cũng đi sâu phân tích các hiệu ứng cơ bản của nƣớc, giới thiệu những
phƣơng pháp mô phỏng mà ngƣời ta đã dùng để tạo ra các hiệu ứng nƣớc.
Trình bày bài toán mô phỏng sóng nƣớc để làm cơ sở cho sự trình bày
phƣơng pháp mô phỏng sóng nƣớc trong chƣơng 2.
Chƣơng 2: Một số vấn đề trong mô phỏng sóng nƣớc
Trong chƣơng này tôi xin giới thiệu đặc điểm cơ bản của sóng nƣớc, những tính
chất vật lý của nó và phƣơng pháp mô phỏng chính là Particle – based.
Chƣơng 3: Cài đặt chƣơng trình ứng dụng
Trong chƣơng này tôi xin giới thiệu bài toán, chƣơng trình và kết quả thử
nghiệm của mình.

3



5. Phƣơng pháp nghiên cứu

- Thu thập và phân tích các tài liệu, thông tin liên quan đến đề tài.
- Tìm hiểu các quy trình mô phỏng và hiệu ứng của nƣớc
- Tìm hiểu các kỹ thuật và thuật toán xử lý liên quan
- Tìm hiểu và phân tích một số phép toán mô phỏng sóng nƣớc
- Kết hợp các nghiên cứu trƣớc đây của các tác giả trong và ngoài nƣớc cùng
với sự chỉ bảo, góp ý của Thầy hƣớng dẫn để hoàn thành nội dung nghiên
cứu.
6. Ý nghĩa khoa học của đề tài
- Nêu ra đƣợc tầm quan trọng của việc mô phỏng sóng nƣớc trong thực tại ảo,
chọn ra đƣợc các thuật toán quan trọng, ƣu việt trong quá trình mô phỏng
- Nghiên cứu sẽ đƣa ra đƣợc hiệu ứng của sóng nƣớc và tầm quan trọng của
nó trong các lĩnh vực.




4



CHƢƠNG I: KHÁI QUÁT VỀ MÔ PHỎNG NƢỚC VÀ BÀI TOÁN MÔ
PHỎNG SÓNG NƢỚC
1.1. Khái niệm về mô phỏng nƣớc
1.1.1. Tổng quan về thực tại ảo
Công nghệ thực tại ảo là một thuật ngữ mới xuất hiện khoảng đầu thập
kỷ 90, nhƣng ở Mỹ và châu Âu thực tại ảo (Virtual Reality) đã 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, thƣơng mại và giải
trí, ) và tiềm năng kinh tế, cũng nhƣ trong dân dụng và quân sự.
1.1.1.1. Thực tại ảo là gì?

Thực tại ảo là mô phỏng môi trƣờng không gian ba chiều trên máy tính,
trong môi trƣờng mô phỏng đó con ngƣời có thể quan sát và thực hiện những
thao tác mà mình mong muốn. Với tất cả những gì có trong môi trƣờng mô
phỏng thông qua thiết bị đầu vào, kết quả trả lại là những sự thay đổi của môi
trƣờng đó mà con ngƣời có thể quan sát, hay cảm nhận đƣợc thông qua các
thiết bị đầu ra.
Theo nhƣ định nghĩa trên chúng ta có thể dễ dàng nhận ra các thành phần
làm lòng cốt của thực tại ảo là: môi trƣờng không gian ba chiều, sự tƣơng tác,
các thiết bị đầu vào, thiết bị đầu ra, và mô hình phải đƣợc tạo trên máy tính.
Trong thế giới ảo này, ngƣời sử dụng không còn đƣợc xem nhƣ ngƣời quan
sát bên ngoài, mà đã thực sự trở thành một phần của hệ thống.
Mục tiêu của phần tổng quan này là đƣa ra một số nét tổng quát về công
nghệ Thực tại ảo, trong đó bao gồm: một số nét chính trong lịch sử hình
thành, các lĩnh vực ứng dụng, ý nghĩa của các mô hình thực tại ảo trong tƣơng
lai


5



1.1.1.2. Sơ lƣợc lịch sử phát triển của thực tại ảo
Mặc dù Thực tại ảo đƣợc mô tả nhƣ một công nghệ mới mang tính cách
mạng, nhƣng ý tƣởng về việc nhúng ngƣời sử dụng vào một môi trƣờng nhân
tạo đã ra đời từ rất sớm. Thực tại ảo có thể đƣợc xem nhƣ một sự tiếp nối của
những ý tƣởng đã lâu nhƣ hệ thống mô phỏng bay (Flight Simulation), rạp
chiếu phim màn ảnh rộng (nhƣ Cinerama hay IMAX), rạp chiếu phim nổi
v.v… Sử dụng các hệ thống nhƣ vậy, ngƣời quan sát có cảm giác hình ảnh
đang sống động ngay trƣớc mắt mình.
Sự ra đời của các máy điện toán mini và bài báo khoa học của Ivan

Sutherland có tên “Màn hình tối tân” (Ultimate Display) vào năm 1965 đƣợc
xem là hai bƣớc đột phá lớn vào thập kỷ 60 cho công nghệ Thực tại ảo. Trong
bài báo của mình, Sutherland đã tiên đoán sự phát triển của Thiết bị Hiển thị
đội đầu (Head Mounted Display-HMD) đầu tiên, mà sau đó chính ông đã tạo
ra một thiết bị nhƣ vậy, có tên là “Thanh kiếm của Damocles” (The Sword of
Damocles). Sutherland cũng nhận ra tiềm năng của máy điện toán trong việc
tạo lập hình ảnh cho hệ thống mô phỏng bay, trong khi những hình ảnh này
trƣớc đó đƣợc xây dựng bằng Video Camera.
Những ý tƣởng này đƣợc hai nhà khoa học Mỹ ở NASA là Fisher và
McGreevy kết hợp lại trong một dự án có tên là “Trạm làm việc ảo” (Visual
Workstation) vào năm 1984. Cũng từ đó NASA phát triển thiết bị Hiển thị đội
đầu có tính thƣơng mại đầu tiên, đƣợc gọi là màn hình môi trường trực quan
(Visual Environment Display - VIVED), thiết kế dựa trên mẫu hình mặt nạ
lặn với các màn hình quang học mà hình ảnh đƣợc cung cấp bởi hai thiết bị
truyền hình cầm tay Sony Watchman. Sự phát triển của thiết bị này đã thành
công ngoài dự đoán, bởi NASA đã sản xuất đƣợc một thiết bị HMD có giá
chấp nhận đƣợc trên thị trƣờng, và nhƣ vậy ngành công nghiệp Thực tại ảo đã
ra đời.
6



1.1.1.3. Các lĩnh vực ứng dụng của thực tại ảo
Giáo dục và đào tạo
Phát triển trên nền công nghệ và kỹ thuật cao, Thực tại ảo tích hợp
những đặc tính làm cho bản thân nó có những tiềm năng vƣợt trội so với các
công nghệ đa phƣơng tiện truyền thống khác: cho ngƣời sử dụng cảm nhận sự
hiện diện của mình trong môi trƣờng do máy tính tạo ra bằng khả năng tƣơng
tác, tự trị (Autonomy) của ngƣời dùng trong môi trƣờng ảo, cũng nhƣ bằng
những phản hồi tức thời, trực quan từ phía môi trƣờng ảo tới các giác quan

của ngƣời sử dụng. Hơn thế nữa, công nghệ Thực tại ảo cho phép mô phỏng
những môi trƣờng nguy hiểm hay tốn kém nhƣ buồng lái máy bay, phòng thí
nghiệm hoá chất.v.v…

Hình 1.1 Mô hình huấn luyện bay sử dụng công nghệ Thực tại ảo
Tất cả những đặc tính này khiến công nghệ Thực tại ảo trở nên rất phù
hợp cho các ứng dụng có tính chất giáo dục hay đào tạo. Trong đó, những mô
hình trình diễn lập thế đóng vai trò quan trọng. Các vật thể trong thế giới ảo
đƣợc biểu diễn chính xác hơn nhiều so với các đối tƣợng phẳng (hình ảnh hai
chiều) do đƣợc bổ sung thêm chiều sâu. Kết quả là các trình diễn minh hoạ
hay những thí nghiệm cũng đƣợc mô phỏng chính xác hơn do có thể quan sát
7



từ nhiều góc độ khác nhau về mặt không gian, điều mà thế giới phẳng hai
chiều không làm đƣợc.
Tính chất trực quan của bài giảng đƣợc nâng cao một bƣớc làm tăng sự
hứng thú trong học tập cũng nhƣ khả năng ghi nhớ các khái niệm quan trọng
trong bài giảng.
Y học
Y học là một trong những lĩnh vực ứng dụng tiềm năng trong công nghệ
Thực tại ảo. Cho đến nay, lĩnh vực nổi bật trong y học áp dụng thành công
công nghệ Thực tại ảo là giả lập giải phẫu (Surgical Simulation).

Hình 1.2 Phẫu thuật ảo - Phương pháp
đào tạo phẫu thuật mới dùng công nghệ
Thực tại ảo



Trên cơ sở các kỹ thuật đồ hoạ máy tính và Thực tại ảo, hệ thống đào tạo
y học này bao gồm hai bộ phận cơ bản: Khối tƣơng tác ba chiều là mô hình
sinh thể ảo cho phép ngƣời sử dụng thực hiện các thao tác giải phẫu thông qua
các dụng cụ giải phẫu ảo; Khối giao diện ngƣời dùng hai chiều cung cấp
những thông tin phản hồi trực quan từ mô hình trong quá trình giải phẫu cũng
nhƣ những thông tin hƣớng dẫn trong phiên đào tạo.
Phƣơng pháp đào tạo có tính tƣơng tác cao này mang nhiều ƣu điểm so
với các phƣơng pháp truyền thống nhƣ thực hành trên mô hình plastic hay
trên bệnh nhân thực. Thứ nhất, khác với phƣơng pháp dùng mô hình plastic,
8



sinh thể giải phẫu ảo có khả năng cung cấp những thông tin phản hồi sinh học
một cách tự nhiên nhƣ một sinh thể sống thực, chẳng hạn nhƣ sự thay đổi về
nhịp tim, huyết áp… Điều này tạo cho học viên có cảm giác đang trải qua một
ca mổ trong một tình huống thực. Thứ hai, khác với thực hành trên bệnh nhân
thật, những sai lầm của học viên trong quá trình thực tập không phải trả giá
bằng những thƣơng tổn thực trên cơ thể ngƣời bệnh. Điều này cũng làm giảm
áp lực lên học viên khi thực hiện phẫu thuật ảo. Từ đó, giúp họ tự tin và chủ
động hơn trong học tập.
Kiến trúc
Một trong những lĩnh vực ứng dụng tiêu biểu nhất của Thực tại ảo là
thiết kế kiến trúc. Khả năng mô hình hoá thế giới thực của công nghệ Thực tại
ảo dƣờng nhƣ đáp ứng một cách tự nhiên mục tiêu của ngành thiết kế kiến
trúc: đƣa ra mô hình trực quan nhất có thể về hình ảnh công trình mong muốn
trong tƣơng lai.
Thiết kế thiết bị công nghệ

Hình 1.3: Ứng dụng công nghệ Thực tại ảo trong thiết kế thiết bị công nghệ

Tƣơng tự nhƣ trong kiến trúc, với các ngành sản xuất thiết bị mà trong
đó công đoạn thiết kế đóng vai trò quan trọng nhƣ thiết kế động cơ, thiết kế ô
tô, tàu biển, hay thậm chí tàu vũ trụ, hình dạng và cách bố trí các chi tiết
9



không chỉ đơn thuần mang tính thẩm mỹ, tính kỹ thuật mà đôi khi còn ảnh
hƣởng tới sức sống của thiết bị xét về khía cạnh thƣơng mại. Khả năng mô
hình hoá bằng hình ảnh lập thể của công nghệ Thực tại ảo cho phép ngƣời
thiết kế thể hiện đƣợc một cách trực quan nhất ý tƣởng thiết kế của mình,
đánh giá cơ bản về hiệu năng của thiết bị dựa trên những thử nghiệm mô
phỏng trên thiết bị ảo, từ đó có những hiệu chỉnh cần thiết trƣớc khi thiết bị
thực sự đƣợc sản xuất. Điều này rõ ràng góp phần không nhỏ trong thành
công của thiết bị công nghệ, giảm bớt những chi phí phát sinh.
Giải trí
Thị trƣờng giải trí cũng là một ứng dụng tiêu biểu khác của các môi
trƣờng Thực tại ảo. Trên thực tế, đây là lĩnh vực ứng dụng lớn nhất xét theo
khía cạnh lợi ích về tài chính. Rất nhiều công ty đang sản xuất ra các trò chơi
có sử dụng các nguyên lý Thực tại ảo. Số lƣợng ngƣời bị cuốn hút theo các trò
chơi nhƣ vậy, đặc biệt là giới trẻ, tăng theo cấp số nhân đánh dấu tiềm năng
thƣơng mại to lớn của công nghệ Thực tại ảo trong lĩnh vực này.
1.1.1.4. Ý nghĩa của thực tại ảo trong tƣơng lai
Nhƣ vậy chúng ta thấy đƣợc ý nghĩa to lớn của việc ứng dụng thực tại
ảo, bởi những vấn đề khó khăn mà nếu không có thực tại ảo thì có thể nói là
khó lòng mà giải quyết, hay nếu có thể giải quyết đƣợc thì hiệu quả không cao
và chi phí sẽ rất tốn kém.
Tuy nhiên trong tất cả các ứng dụng thực tại ảo đều liên quan đến việc
xây dựng các mô hình mô phỏng thế giới trên máy vi tính, và cung cấp khả
năng quan sát và tƣơng tác của các mô hình với ngƣời sử dụng thông qua các

thiết bị đầu vào và đầu ra. Nhƣ vậy có thể nói vấn đề chính của thực tại ảo là:
phải xây dựng mô hình mô phỏng thế giới thực trên máy tính theo không gian
3D, cung cấp các dịch vụ tƣơng tác giữa môi trƣờng mô phỏng với ngƣời sử
dụng thông qua thiết bị vào ra.
10



1.1.2. Vai trò của mô phỏng nƣớc
Có thể nói nƣớc là thành phần không thể thiếu trong cuộc sống của mỗi
chúng ta. Nƣớc phục vụ cho đời sống hàng ngày, phục vụ cho sản xuất, cuộc
sống của con ngƣời gắn liền với nƣớc… Nhƣng để mô phỏng đƣợc nƣớc
không phải là điều đơn giản, việc tính toán, đo đạc các thông số của nƣớc
trong nhiều môi trƣờng và điều kiện khác nhau tốn rất nhiều thời gian và công
sức. Sau đó, để có thể biểu diễn đƣợc những dữ liệu đó thành hình ảnh trên
máy tính cần phải tìm ra những thuật toán, những phƣơng pháp để xử lý kho
dữ liệu đó. Tiếp theo, phải phân tích thiết kế một hệ thống các công cụ trợ
giúp cho việc lập trình tạo hiệu ứng nƣớc, rồi mới tới khâu thiết kế ra những
bản vẽ nƣớc đƣợc thể hiện trên màn hình. Cuối cùng, là khâu kết xuất
(Rendering) tạo ra sản phẩm thực sự.
Ngoài ra, còn một lý do nữa để xếp mô phỏng nƣớc có vị trí quan trọng
trong lĩnh vực mô phỏng chính là tầm quan trọng không thể thiếu của hiệu
ứng nƣớc trong các hệ mô phỏng. Hiệu ứng nƣớc tạo ra cảm giác thật, lôi
cuốn cho hệ vốn không phải là những hình ảnh thật, nó tạo ra sự hài hoà, nhẹ
nhành cho những chuyển động của đối tƣợng. Việc thể hiện thành công hiệu
ứng nƣớc trong Thực tại ảo sẽ cho phép ta đi sâu vào thế giới ảo để tạo ra
những giá trị thật cho cuộc sống con ngƣời.
1.1.3. Một số hiệu ứng nƣớc cơ bản
Mô phỏng nƣớc có thể coi là một trong những công việc khó khăn nhất,
phức tạp nhất của Thực tại ảo, đã và đang là một thách thức lớn đối với công

nghệ mô phỏng. Mô phỏng nƣớc là dạng mô phỏng động theo thời gian thực
hoặc không theo thời gian thực. Để mô phỏng nƣớc mà chỉ yêu cầu dạng mô
hình, không yêu cầu sự chính xác và không cần thể hiện đúng bản chất vật lý
thì không quá khó. Ví dụ: để mô phỏng mặt nƣớc động không theo thời gian
thực ta có thể thực hiện bằng cách sử dụng các mặt phẳng đƣợc áp vật liệu
11



nƣớc trƣợt lên nhau (trong Flash), hay để mô phỏng vòi nƣớc chảy theo thời
gian thực ta sử dụng thành phần Particle System trong 3DsMax. Nhƣng để mô
phỏng đƣợc nƣớc đúng với các tính chất vật lý của nó và hiệu ứng của nƣớc
theo thời gian thực thì quả là một công việc không dễ dàng mà cho đến nay
kết quả nghiên cứu đƣợc vẫn còn hạn chế.
Không giống với các loại vật chất khác, nƣớc tồn tại ở rất nhiều trạng
thái và có các tính chất rất phức tạp. Do đó, muốn mô phỏng thành công chất
lỏng nói chung và nƣớc nói riêng thì phải dựa vào các tính chất vật lý của
chúng, và xác định hình thái của chất lỏng mình muốn thể hiện.
Có nhiều tiêu chí để phân loại nƣớc, nhƣng ở đây chúng ta giới hạn việc
phân loại nƣớc theo hình dạng.
Có 4 dạng chính:
Dòng nƣớc
Giọt nƣớc
Khối nƣớc
Mặt nƣớc
Dƣới các tác dụng khác nhau của ngoại lực thì các dạng nƣớc trên sẽ
biến đổi hình dạng và chuyển động khác nhau. Chúng ta có thể xét các trƣờng
hợp sau:
Dòng nƣớc:
o Dòng nƣớc chảy gặp vật rắn cản.

o Dòng nƣớc (nƣớc trong kênh, sông) va vào bờ.
o Dòng nƣớc chảy từ cao xuống thấp.
Giọt nƣớc:
Giọt nƣớc rơi xuống mặt nƣớc
Giọt nƣớc rơi nằm trên các bề mặt:
+ Giọt nƣớc trên bề mặt lá.
12



+ Giọt nƣớc trên bề mặt các chất rắn.
Khối nƣớc:
Khối nƣớc tan chảy
Khối nƣớc dƣới tác dụng của chất rắn
Mặt nƣớc:
- Mặt nƣớc dao động bình thƣờng
- Mặt nƣớc khi có vật rắn rơi xuống
- Mặt nƣớc khi có mƣa
- Mặt nƣớc khi có gió mạnh
Đối với các dạng nƣớc khác nhau, dƣới các tác dụng khác nhau thì sẽ
dẫn đến các hiệu ứng khác nhau. Sau đây là một số hiệu ứng nƣớc cơ bản mà
ta thƣờng gặp:
Hiệu ứng phản chiếu ánh sáng.
Hiệu ứng in bóng nƣớc.
Hiệu ứng sóng nƣớc.
Hiệu ứng giao thoa sóng nƣớc.
Hiệu ứng nƣớc chảy.
Hiệu ứng giọt nƣớc rơi.
Hiệu ứng nƣớc sôi (sủi bọt nƣớc).
Tìm hiểu các giải thuật để thể hiện đƣợc những hiệu ứng rất phức tạp trên

ngƣời ta đã đƣa ra nhiều giải pháp khác nhau :
- Khi muốn thể hiện sóng nƣớc có mấy cách sau : cho những điểm ảnh là
sóng nƣớc chuyển động theo chiều thẳng đứng với các thông số nhƣ (tần
số, biên độ, góc radian) => do đó sinh sóng => nhiều sóng nhƣ vậy tạo
thành mặt sóng.
- Cũng có thể tạo ra sóng bằng cách cho các lớp hình ảnh mặt nƣớc xếp
chồng lên nhau chuyển động trƣợt trên nhau => do đó có mặt sóng.
13



- Cũng có thể tạo ra mặt sóng bằng cách cho các khối hình cơ bản (cấu tạo
nên ảnh) chuyển động => sau đó dùng các kỹ thuật ghép ảnh, cắt xén ảnh,
biến đổi ảnh để làm trơn làm cho những hình cơ bản ghép với nhau mềm
mại hơn, hợp khớp với nhau hơn. Cách này có ƣu điểm là dung lƣợng nhỏ,
tốn ít bộ nhớ.
- Với các trò chơi 3D trực tuyến, do yêu cầu khắt khe về dung lƣợng và tốc
độ đƣờng truyền để đáp ứng nhanh chóng thao tác của ngƣời chơi. Cho
nên họ đã tạo hiệu ứng nƣớc bằng cách đơn giản là chụp ảnh ngoại cảnh
rồi sử dụng các phép ghép ảnh, làm trơn để tạo hiệu ứng nƣớc đơn giản.
Hoặc dùng các phƣơng pháp Texture tạo bề mặt cho đối tƣợng, tạo các
script từ các ảnh lẻ hoặc phƣơng pháp flash động
- Để thể hiện hiệu ứng in bóng nƣớc: ngƣời dùng phép chiếu ảnh và phép
biến đổi ảnh.
- Để thể hiện hiệu ứng phản chiếu ánh sáng gồm có phản xạ và khúc xạ,
ngƣời ta sử dụng phép chiếu và quay vectơ + màu sắc (ánh sáng chiếu vào
bề mặt chất lỏng thì có phản xạ và khúc xạ, ánh sáng chiếu vào bề mặt
chất rắn thì có phản xạ và khuếch tán).
- Để thể hiện hiệu ứng giọt nƣớc rơi ngƣời ta phải dựa vào một loạt các
thông số nhƣ độ bám dính, sức căng bề mặt, mặt cong, quãng đƣờng, thời

gian, vận tốc, gia tốc, độ trong suốt của giọt nƣớc… Giọt nƣớc đƣợc thể
hiện bằng hình học cơ bản rồi sau đó gắn thêm các thuộc tính nhƣ trên sau
đó đƣợc đƣa vào một hệ vật để thể hiện nó.
- Kỹ thuật thể hiện hiệu ứng nƣớc sôi tƣơng tự nhƣ kỹ thuật thể hiện hiệu
ứng giọt nƣớc rơi, bởi vì giọt nƣớc chuyển động trong không khí còn nƣớc
sôi thì bọt khí chuyển động trong nƣớc. Ta chỉ việc thay đổi các thông số
cho phù hợp với môi trƣờng thôi.
14



- Kỹ thuật thể hiện hiệu ứng nƣớc chảy mở rộng hơn một chút so với kỹ
thuật thể hiện hiệu ứng sóng nƣớc. Ta chỉ thêm thông số vận tốc, hƣớng
vector cho những điểm chuyển động (hay những hình cơ bản chuyển
động).
Dựa vào mục đích sử dụng ngƣời ta đã chia ra hai kỹ thuật chính để thể
hiện hiệu ứng nƣớc. Kỹ thuật tạo hiệu ứng giả mặt nƣớc và kỹ thuật tạo hiệu
ứng mặt nƣớc thật. Các kỹ thuật tạo hiệu ứng giả mặt nƣớc nhƣ Texture,
Sclip, ghép ảnh, biến đổi ảnh… chỉ áp dụng cho những đối tƣợng ít quan
trọng trong một hệ mô phỏng để làm giảm dung lƣợng bộ nhớ và đáp ứng
nhanh hoặc trong các trò chơi game. Trong phạm vi bài khoá luận này tôi
không đi sâu vào tìm hiểu những phƣơng pháp đó mà trọng tâm là tìm hiểu
phƣơng pháp tạo ra hiệu ứng thật cho mặt nƣớc.
1.2. Bài toán mô phỏng sóng nƣớc
1.2.1. Tổng quan về mô phỏng
Mô phỏng là quá trình “bắt chƣớc” các sự vật, hiện tƣợng có thực trong
thiên nhiên, trong cuộc sống của con ngƣời. Công nghệ mô phỏng đã xuất
hiện từ rất lâu và đã phát triển mạnh ở các nƣớc châu Âu và một số nƣớc châu
Á, nhƣng ở Việt Nam mấy năm gần đây công nghệ này mới thực sự đƣợc
quan tâm và đầu tƣ thích đáng.

Mô phỏng nói chung có 2 dạng chính: mô phỏng tĩnh và mô phỏng động.
Mô phỏng tĩnh: là dạng mô phỏng chỉ thể hiện đƣợc mô hình tĩnh,
trong kết quả mô phỏng không có sự chuyển động. Đây là dạng mô
phỏng thƣờng chỉ áp dụng cho các sự vật. Đây là dạng mô phỏng đơn
giản nhất.
Mô phỏng động: mô phỏng động đƣợc tách thành 2 loại, đó là mô
phỏng động theo thời gian thực và mô phỏng động không theo thời gian
thực.
15



 Mô phỏng động theo thời gian thực: là dạng mô phỏng mà trong
kết quả của nó có sự chuyển động và chuyển động đó thay đổi
theo thời gian. Đây là dạng mô phỏng phức tạp nhất, khó nhất.
Trong dạng mô phỏng này, hiện nay đang nổi bật một công nghệ
mới đó là công nghệ “thực tại ảo” (THỰC TẠI ẢO – Virtual
Reality). Với công nghệ này, con ngƣời có thể tƣơng tác trực tiếp
với thế giới ảo thông qua các kênh cảm giác nhƣ: thị giác, thính
giác, xúc giác; các nhà nghiên cứu cũng đang tìm cách tạo những
cảm giác khác nhƣ ngửi (khứu giác), nếm (vị giác) trong thế giới
ảo.
 Mô phỏng động không theo thời gian thực: đây là dạng mô
phỏng mà trong kết quả của nó có sự chuyển động nhƣng các
chuyển động đó không thay đổi theo thời gian.
Cho đến nay, thƣờng có 2 xu hƣớng để thực hiện mô phỏng:
 Cách thứ nhất: dùng các ngôn ngữ lập trình truyền thống nhƣ C, C++,
để thể hiện các mô hình 3D… Cách này không đòi hỏi sự chạy đua về
công nghệ cũng nhƣ cấu hình mạnh của phần cứng, nó có thể thực hiện
các mô phỏng phức tạp đòi hỏi sự chính xác cao. Tuy nhiên nó không

đƣợc nhiều ngƣời sử dụng vì đó không phải là công việc đơn giản , nó
đòi hỏi trình độ lập trình cao, các thuật toán phức tạp, chính xác và khối
lƣợng thời gian rất lớn. Mặc dù ít đƣợc ƣa thích nhƣng đôi khi nó lại là
lựa chọn duy nhất cho những ai muốn mô phỏng chính xác các hiện
tƣợng tự nhiên đúng với bản chất của nó.
 Cách thứ hai: sử dụng các công cụ mô phỏng đã đƣợc xây dựng sẵn.
Cách này không đòi hỏi trình độ lập trình cao, không tốn nhiều thời
gian thực hiện nhƣng nó chỉ phù hợp với các mô phỏng có tích chất mô
hình, không yêu cầu độ chính xác cao và không yêu cầu thể hiện đúng
16



bản chất vật lý của hiện tƣợng. Một nhƣợc điểm nữa là nhiều khi nó
còn yêu cầu cấu hình hệ thống mạnh để cài đặt công cụ và chạy chƣơng
trình. Tuy nhiên, hiện nay cách này đang rất phổ biến, rất đƣợc ƣa
chuộng, nhất là trong các công việc làm game, làm web…
Một số công cụ mô phỏng thông dụng là : 3DSMax, Flash, Maya…
1.2.2. Bài toán mô phỏng sóng nƣớc
Giả sử có hai nguồn sóng kết hợp đặt tại hai điểm A và B dao động với cùng
biên độ, cùng tần số với phƣơng trình tƣơng ứng là:
u
A
= Acos(ωt + φ
A
); u
B
= Acos(ωt + φ
B
);

Xét một điểm M cách các nguồn A, B các khoảng cách tƣơng ứng là d
1
và d
2

nhƣ hình vẽ.
Phƣơng trình sóng tại M do sóng từ nguồn A truyền đến là:
u
AM
= Acos
1

2
A
d
t

Phƣơng trình sóng tại M do sóng từ nguồn B truyền đến là:
U
BM
= Acos
2

2
B
d
t

Trong đó U
A

: Tọa độ dao động sóng tại điểm A
U
B
: Tọa độ dao động sóng tại điểm B
ω: Tần số góc
t: Thời gian
φ
A
: Góc lệch pha ban đầu sóng A
φ
B
: Góc lệch pha ban đầu sóng B
λ: Bƣớc sóng
d1, d2: Từ điểm dao động đến nguồn sóng
Do sóng truyền từ các nguồn là sóng kết hợp nên tại M có sự giao thoa của
hai sóng phát ra từ hai nguồn.
Khi đó phƣơng trình dao động tổng hợp tại M là:
17



u
M
= u
AM
+ u
BM
= Acos
1


2
A
d
t
+ Acos
2

2
B
d
t
=
2Acos
21
2
BA
dd
cos
21
2
AB
dd
t

Vậy phƣơng trình dao động tổng hợp tại M là:
u
M
=2Acos
21
2

BA
dd
cos
21
2
AB
dd
t

Ta xét một số trƣờng hợp thƣờng gặp:
Trƣờng hợp 1:
φ
A
= φ
B
= 0, (Hai nguồn dao động cùng pha)
Khi đó phƣơng trình dao động của hai nguồn là: u
A
= u
B
= Acos(ωt + φ
A
)
Phƣơng trình sóng tại M do sóng từ nguồn A truyền đến là:
u
AM
= Acos
1
2
A

d
t

Phƣơng trình sóng tại M do sóng từ nguồn B truyền đến là:
u
BM
= Acos
2
2
B
d
t

Phƣơng trình dao động tổng hợp tại M là:
u
M
= u
AM
+ u
BM
= Acos
1
2
A
d
t
+ Acos
2
2
B

d
t

= 2Acos
21
dd
cos
21
dd
t

Vậy phƣơng trình dao động tổng hợp tại M là:
2Acos
21
dd
cos
21
dd
t

* Nhận xét:
- Pha ban đầu của dao động tổng hợp là: φ
0
=
21
dd

18




- Biên độ dao động hợp tại M là: A
M
=
21
2 cos
dd
A

- Biên độ dao động tổng hợp cực đại khi:
cos
21
dd
= 1 
21
dd
=kπ d
2
– d
1
= kλ
Vậy khi hiệu đƣờng truyền bằng một số nguyên lần bƣớc sóng thì dao động
tổng hợp có biên độ cực đại, A
M max
= 2A
• Biên độ dao động tổng hợp cực tiểu (bị triệt tiêu) khi:
cos
21
dd
= 0 

21
dd
= + kπ d
2
– d
1
= (2k+1)
Vậy khi hiệu đƣờng truyền bằng một số nguyên lẻ lần nửa bƣớc sóng thì dao
động tổng hợp có biên độ bị triệt tiêu, A
M min
= 0
Trƣờng hợp 2:
φ
A
= π, φ
B
= 0, (Hai nguồn dao động ngược pha)
Khi đó phƣơng trình dao động của hai nguồn là:
u
A
= Acos(ωt + π), u
B
= Acos(ωt)
Phƣơng trình sóng tại M do sóng từ nguồn A truyền đến là:
u
AM
= Acos
1
2 d
t


Phƣơng trình sóng tại M do sóng từ nguồn B truyền đến là:
u
BM
= Acos
2
2 d
t

Phƣơng trình dao động tổng hợp tại M là:
u
M
= u
AM
+ u
BM
= Acos
1
2 d
t
+ Acos
2
2 d
t
=
2Acos
21
()
2
dd

cos
21
()
2
dd
t

Vậy phƣơng trình dao động tổng hợp tại M là
19



2Acos
21
()
2
dd
cos
21
()
2
dd
t

* Nhận xét:
- Pha ban đầu của dao động tổng hợp là: φ
0
= - +
- Biên độ dao động tổng hợp tại M là: A
M

=
• Biên độ dao động tổng hợp cực đại khi:
cos
21
()
2
dd
= 1
21
()
2
dd
= kπ d
2
– d
1
= (2k-1)
Vậy khi hiệu đƣờng truyền bằng một số nguyên lẻ lần nửa bƣớc sóng thì dao
động tổng hợp có biên độ cực đại, A
M.max
= 2A
• Biên độ dao động tổng hợp cực tiểu (bị triệt tiêu) khi:
cos
21
()
2
dd
= 0 
21
()

2
dd
= + kπ d
2
– d
1
= kλ
Vậy khi hiệu đƣờng truyền bằng một số nguyên lần bƣớc sóng thì dao động
tổng hợp có biên độ bị triệt tiêu, A
M.min
= 0
Trƣờng hợp 3:
φ
A
= 0, φ
B
= π, (Hai nguồn dao động ngược pha)
Khi đó phƣơng trình dao động của hai nguồn là:
u
A
= Acos(ωt), u
B
= Acos(ωt + π)
Phƣơng trình sóng tại M do sóng từ nguồn A truyền đến là:
u
AM
= Acos
1
2 d
t


Phƣơng trình sóng tại M do sóng từ nguồn B truyền đến là:
u
BM
= Acos
2
2 d
t

Phƣơng trình dao động tổng hợp tại M là:
u
M
= u
AM
+ u
BM
= Acos
1
2 d
t
+ Acos
2
2 d
t
=

×