Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ĐẠ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Ỹ
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 http://www.lrc-tnu.edu.vn/
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 http://www.lrc-tnu.edu.vn/
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
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
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
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
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
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
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.
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
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
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
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
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
- 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
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
=
• 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
()
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
=