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.. Đồ án tốt
Trang 1MỤC LỤC
Mở đầu 2
Chương 1 Tổng quan về mô phỏng nước 5
1.1 Tổng quan về Thực tại ảo 5
1.2 Tổng quan về mô phỏng nước 19
1.2.1 Vai trò của mô phỏng nước 19
1.2.2 Một số hiệu ứng nước cơ bản 20
1.3 Cơ sở lý thuyết của mô phỏng nước 23
1.3.1 Tính co giãn của chất lỏng 25
1.3.2 Độ nhớt của chất lỏng 25
1.3.3 Lực mao dẫn của chất lỏng 26
1.3.4 Sự hút khí của chất lỏng 26
Chương 2 Một số phương pháp mô phỏng nước 27
2.1 Phương pháp Physically-based 27
2.1.1 Giới thiệu 27
2.1.2 Cơ sở vật lý 28
2.1.3 Khái quát thuật toán 30
2.1.4 Phép ngoại suy bề mặt ảo 31
2.1.5 Phương pháp Level- sets 38
2.1.6 Mô hình góc tiếp xúc động 40
2.2 Phương pháp Particle-based 41
2.2.1 Giới thiệu 41
2.2.2 Tiến trình mô phỏng 42
2.2.3 Giảm mật độ kép 46
2.2.4 Biểu diễn bề mặt 53
2.2.5 Va chạm với đối tượng 57
Chương 3 Ứng dụng của mô phỏng hiệu ứng nước trong Thực tại ảo 60
3.2 Mô phỏng nước trong Thực tại ảo 61
3.3 Chương trình Demo 64
3.3.1 Demo ứng dụng kỹ thuật Physically-Based 64
3.3.2 Demo ứng dụng kỹ thuật Particle-Based 67
Kết luận 69
Tài liệu tham khảo 72
Phụ lục 73
Trang 2Mở đầu
Bảy 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ú và xinh đẹp mà con người đang sống, từ đó nuôi dưỡng tâm hồn, bồi bổ thêm tình yêu, phát huy tính sáng tạo vô tận làm cho cuộc sống ngày càng tốt đẹp hơn Có lẽ một ngày không xa con người sẽ có thêm một môn nghệ thuật mới, môn nghệ
thuật thứ Tám mang tên “Nghệ thuật trong thế giới ảo” Điều này hoàn toàn
không phải là viển vông, bởi vì sự phát triển vượt bậc của công nghệ thông tin trong thế kỷ qua đã cho phép con người được mở rộng thêm phương tiện để hiểu biết về thế giới vô cùng phong phú này Một ngày nào đó, khi mà những vướng mắc về kỹ thuật để thể hiện ý tưởng đã không còn là vấn đề quan trọng nữa thì,
khi đó sức sáng tạo của con người sẽ dành cho công việc tạo ra những “tác phẩm
ảo” nhưng mang lại giá trị thực phục vụ cho cuộc sống của con người Những
“tác phẩm ảo” mà em muốn nói ở đây không phải chỉ là những tác phẩm mà tư duy trước nay của ta vẫn mặc định: đó phải là một bản nhạc, một cuốn tiểu thuyết, hay một bức tranh.v.v…Mà chúng ta sẽ mở rộng tư duy sang một khía cạnh mới mẻ hơn, rộng lớn hơn, tác phẩm nghệ thuật còn là một hệ thống thông tin hoàn chỉnh cung cấp cho con người những tiện nghi, sự hiểu biết, nâng cao nhận thức, bồi dưỡng tâm hồn cho con người…làm cho cuộc sống của con người ngày càng tốt hơn, ý nghĩ hơn
Rõ rà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 cũng chỉ có một mục đích cuối cùng là phục vụ cho 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 được thế giới thực hay thế giới trong trí tưởng tượng 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 Hãy tưởng tượng bạn đang ở trong một không gian ảo, bạn nhìn thấy mọi vật, bạn đi lại trong đó, bạn nghe được âm thanh, bạn cảm nhận được gió mát… thế giới đó đang đưa bạn đến những tình huống thật hiểm nghèo; bạn phải làm gì
để vượt qua được nó đây ?! Rõ ràng trên thực tế, nếu bạn sai lầm thì sẽ không có
Trang 3cơ hội lần thứ hai cho bạn Đó là ưu thế tuyệt đối của Thực tại ảo so với bất kỳ phương pháp nào trong mọi lĩnh vực hoạt động của con người Và khi công nghệ Thực tại ảo đã được phổ biến thì các giá trị cuộc sống (kinh nghiêm, đạo đức, tín ngưỡng và nghệ thuật) của con người sẽ được thể hiện một cách phong phú, sinh động ở trong đó, và người quan sát sẽ được cảm nhận không phải chỉ bằng một
số giác quan Những hệ thống thông tin đó sẽ trở thành một tác phẩm nghệ thuật tổng hợp
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 mới đang được triển khai nghiên cứu những bướ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ế em đã chọn chủ đề này để hoàn thành khoá học bằng đồ án tốt nghiệp có tiêu đề “Tìm
hiểu một số kỹ thuật mô phỏng nước và ứng dụng”
Đồ án tốt nghiệp của em gồm phần Mở đầu, phần Kết luận và 3 Chương có nội dung cụ thể như sau:
Chương 1: Tổng quan về mô phỏng nước
Trong chương này em 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 em cũng đi sâu phân tích những tính chất vật lý, các hiệu ứng cơ bản của nước để làm cơ sở cho sự trình bày những phương
Trang 4pháp mô phỏng nước trong chương 2 Tại đây em cũng 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
Chương 2: Một số phương pháp mô phỏng nước
Trong chương này em xin giới thiệu 2 phương pháp chính mà thế giới đã phát triển là phưong pháp Physically-based và phương pháp Particle-base Mỗi phương pháp có những cách tính, ưu điểm và nhược điểm riêng Từ đó cho chúng ta sự hiểu biết về mô phỏng nước, và khi tiếp xúc với những bộ phần mềm công cụ hỗ trợ xây dựng mô hình 3D thì ta cũng có thể dễ dàng biết được họ đã dùng phương pháp gì để tạo
ra những hiệu ứng nước trong đó
Chương 3: Ứng dụng mô phỏng nước trong Thực tại ảo
Trong phần đầu của chương này em xin giới thiệu một cách tổng quát về trang thiết bị tương tác trong công nghệ Thực tại ảo Phần tiếp theo em xin giới thiệu về các ứng dụng mô phỏng nước trong Thực tại
ảo Phần cuối cùng là chương trình Demo sử dụng 2 kỹ thuật Physically-Based và Particle-Based
Trang 5Chương 1
Tổng quan về mô phỏng nước
1.1 Tổng quan về Thực tại ảo
Theo cách truyền thống, việc tương tác với máy tính được thực hiện thông qua các thiết bị như bàn phím, chuột hay Joystick/Trackball/Keyboard/Styplus để cung cấp thông tin đầu vào và sử dụng khối hiển thị trực quan để nhận thông tin đầu ra từ hệ thống Với sự ra đời của các hệ thống Thực tại ảo, các phương thức giao tiếp mới được phát triển cho phép người sử dụng tương tác một cách tích cực với máy tính
Thực tại ảo là công nghệ sử dụng các kỹ thuật mô hình hoá không gian ba chiều với sự hỗ trợ của các thiết bị đa phương tiện hiện đại để xây dựng một thế
giới mô phỏng bằng máy tính – môi trường ảo (Virtual Environment) 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ột cách lý tưởng, người sử dụng có thể tự do chuyển động trong không gian ba chiều, tương tác với các vật thể ảo, quan sát và khảo cứu thế giới ảo ở những góc độ khác nhau về mặt không gian Ngược lại, môi trường ảo lại có những phản ứng tương ứng với mỗi hành động của người sử dụng, tác động vào các giác quan như thị giác, thính giác, xúc giác của người sử dụng trong thời gian thực và tuân theo những quy tắc vật lý tự nhiên, làm anh ta có cảm giác như đang tồn tại trong một thế giới thực
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, phân loại hệ thống, các phương pháp & công cụ phần mềm phổ biến tạo ra mô hình Thực tại ảo
Sơ lược lịch sử phát triển
Trang 6Mặ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, rạp chiếu phim màn ảnh rộng, 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” 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 đầ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” 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” 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, 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
Các lĩnh vực ứng dụng của Thực tại ảo
Mặc dù khái niệm về Thực tại ảo đã xuất hiện từ khá lâu, nhưng do nhiều
lý do về mặt công nghệ (cơ sở phần cứng phát triển, nghiên cứu, chi phí), phải mất nhiều thời gian và nỗ lực để Thực tại ảo có được những thành tựu như ngày nay Hiện tại đây vẫn là lĩnh vực công nghệ nhiều tiềm năng xét về khía cạnh ứng
Trang 7dụng Một số lĩnh vực ứng dụng chính có khuynh hướng phát triển mạnh mẽ nhất trong thời gian gần đây
Kiến trúc và thiết kế thiết bị công nghệ
Hình 1 - Ứng dụng Thực tại ảo trong thiết kế 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
Việc xây dựng các mô hình không gian kiến trúc bằng hình ảnh lập thể với đầy đủ mô tả trực quan về các hình khối kiến trúc của một căn nhà, cách bố trí nội thất bên trong, thậm chí hoa văn cửa sổ hay màu sơn của tường, cùng với khả năng cho phép khách hàng tự do tham quan, khảo sát căn nhà của họ trong tương lai theo nhiều góc độ và vị trí, từ phòng này sang phòng khác thực sự đem lại hiệu quả trực quan mang tính cách mạng trong lĩnh vực mang nhiều đặc điểm
Trang 8Hình 2 - Ứ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 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
Trang 9Hơn thế, ngành công nghiệp trò chơi điện tử có những ảnh hưởng to lớn tới lĩnh vực Thực tại ảo Nó tạo ra động lực cần thiết để thúc đẩu sự phát triển của
rất nhiều phần cứng Thực tại ảo, chẳng hạn như card tăng tốc đồ hoạ Nếu như
chúng ta trở lại khoảng hơn 10 năm về trước, thật khó có thể tìm thấy một card tăng tốc đồ hoạ có đủ năng lực tính toán cần thiết cho phép tạo ra các ứng dụng Thực tại ảo thời gian thực Tại thời điểm đó, những chiếc card như vậy trị giá hàng ngàn đôla và chỉ đủ khả năng sinh 100.000 đa giác/giây ở mức độ phân giải
trung bình Những thiết bị phần cứng khác như Găng tay dữ liệu và Thiết bị hiển
thị đội đầu cũng chịu ảnh hưởng phần nào của công nghiệp giải trí Tóm lại, các
ứng dụng Thực tại ảo trong giải trí đã và đang đóng một vai trò vừa là mục tiều vừa là động lực cho công nghiệp Thực tại ảo
Hình 3 - Ứng dụng Thực tại ảo trong lĩnh vực giải trí
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ị 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
Trang 10cô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 4 – 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 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 Xét về mặt này, khả năng tương tác với môi trường ảo là một khía cạnh đáng lưu ý Nếu thiếu đi khả năng tương tác (hai chiều) giữa môi trường ảo và người tham dự, Thực tại ảo không gì khác hơn là một giao diện lập thể ấn tượng nhưng không có sự sống Trong các phòng thí nghiệm hay huấn luyện ảo, thực hiện các thao tác trên các đối tượng trong môi trường ảo, nhận được những phản hồi kịp thời và có nghĩa từ các vật thể và môi trường là một trong những yếu tố tiên quyết khiến cho học viên có cảm nhận đang được trải nghiệm trong những tình huống thực Từ đó, học viên nắm bắt được nhanh chóng
Trang 11và có ý thức hơn với những tính huống được học Và cũng không phải là viễn tưởng khi ta có thể nói rằng một ngày nào đó bài học của học sinh sẽ là những kỹ năng sống được đào tạo trong môi trường ảo
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
Hình 5 - 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, sinh thể giải
Trang 12phẫ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 Phương pháp này còn cho phép các bác sĩ không ngừng nâng cao trình độ tay nghề, kỹ năng phối hợp làm việc bằng cách liên tục đặt ra những giả định tình huống bệnh, cập nhật những dữ liệu bệnh lý mới để thực hiện những phương pháp mới, kỹ thuật mới trong điều trị Bác sĩ cũng có thể tự lập kế hoạch mổ thử trên bệnh nhân ảo trước khi mổ trên bệnh nhân thật do đó làm tăng mức độ an toàn và hiệu quả điều trị, giảm thiểu sai lầm rủi ro đáng tiếc xảy ra
Phân loại các hệ thống Thực tại ảo
Mặc dù khó có thể phân loại được tất cả các hệ thống Thực tại ảo, nhưng phần lớn các hình thái hệ thống Thực tại ảo rơi vào ba nhóm chính, mỗi nhóm được xếp hạng theo khả năng cung cấp tính “thực” hay độ “nhúng” của người sử dụng trong môi trường ảo do hệ thống tạo ra Tính thực hay độ nhúng được xem
là kết quả của sự phối hợp nhiều yếu tố bao gồm mức độ tương tác với môi trường, độ phức tạp của hình ảnh, mức độ nhìn lập thể, trường quan sát và tốc độ cập nhật hình ảnh của màn hình trong sự thay đổi về mặt không gian của người dùng
a) Hệ thống Thực tại ảo không có tính nhúng
Các hệ thống Thực tại ảo không có tính nhúng, như tên gọi của chúng, là những hệ thống có khả năng cung cấp mức độ hiện thực thấp nhất Sử dụng hệ thống máy tính để bàn, môi trường ảo được quan sát thông qua một khung nhìn
là một màn hình có độ phân giải cao Việc tương tác với môi trường ảo có thể được thực hiện thông qua các phương tiện truyền thống như bàn phím, chuột,
Trang 13Trackball hoặc tiên tiến hơn, sử dụng các thiết bị tương tác lập thể như Spaceball hay Datagloves Một ví dụ trực quan cho hệ Thực tại ảo không nhúng này là các trò game 3D đang rất phổ biến hiện nay Người chơi có thể điều khiển đối tượng trong thế giới hình ảnh 3D bằng các thiết bị thông thường như chuột, bàn phím
Ưu điểm của các hệ thống Thực tại ảo không có tính nhúng là ở chỗ chúng không đòi hỏi hiệu năng xử lý đồ hoạ ở mức cao, không cần hỗ trợ bởi những phần cứng đặc biệt và có thể trình diễn ngay trên các máy tính cá nhân có cấu hình tương đối trở lên Điều này có nghĩa là những hệ thống này được xem như giải pháp công nghệ Thực tại ảo có chi phí thấp nhất, trong khi đó vẫn có thể áp dụng trong nhiều ứng dụng Tuy nhiên, chi phí thấp cũng đồng nghĩa với việc không đáp ứng được với những tương tác ở mức độ cao, không cho cảm giác tồn tại trong môi trường giả lập và bị hạn chế nhất định bởi các thiết bị tương tác hai chiều Thêm vào đó, các hệ thống này không phát huy được tác dụng đối với những ứng dụng đòi hỏi cảm nhận phạm vi không gian rộng Tuy nhiên, khả năng phát triển về số lượng của các hệ thống này trong tương lai gần là điều có
thể dự đoán được Bởi vì trên thực tế, Ngôn ngữ Mô hình hoá Thực tại ảo
(Virtual Reality Modeling Language - VRML) đã và đang được chấp nhận như một chuẩn không chính thức để truyền dữ liệu về các mô hình lập thể và thế giới
ảo qua mạng Internet Điểm mạnh của VRML đối với những người sử dụng là ở chỗ chương trình phần mềm biên dịch nó nhỏ gọn và hoạt động khá tốt trên máy tính cá nhân, đây là điều không phải lúc nào cũng đúng đối với nhiều công cụ trình diễn Thực tại ảo khác Hơn nữa, nhiều nhà cung cấp phần mềm thương mại Thực tại ảo hiện nay đang tích hợp tính năng VRML vào phần mềm của họ, đồng thời cũng đang thăm dò tiềm năng thương mại của hệ thống Thực tại ảo để bàn nói chung
b) Hệ thống Thực tại ảo Bán nhúng
Hệ thống Bán nhúng là một thể nghiệm khá mới trong công nghệ Thực tại ảo
Sự phát triển của các hệ thống Thực tại ảo dạng này dựa trên các công nghệ đã được phát triển trong lĩnh vực mô phỏng bay
Trang 14Một hệ thống Bán nhúng bao gồm hệ thống tính toán đồ hoạ có hiệu năng khá cao kết hợp với những thiết bị sau:
Một màn ảnh rộng
Một hệ thống máy chiếu màn ảnh rộng
Các hệ nhiều máy chiếu đồng thời
Sử dụng một trường quan sát rộng, các hệ thống này tăng cường cảm giác
“thực” đối với người sử dụng về phương diện không gian lập thể Tuy nhiên, chất
lượng của hình ảnh chiếu là vấn đề đáng quan tâm Kích thước hình học của hình ảnh chiếu so với hình dạng của màn hình, độ phân giải, màu sắc, độ rõ nét của hình dạng vật thể và các dòng chữ trên màn hình… không phải một sớm một chiều mà công nghệ có thể xử lý được hết Độ phân giải của các hệ thống máy chiếu dao động trong khoảng 1000-3000 dòng/s nhưng để đạt được mức phân giải cao nhất cần phải sử dụng những hệ nhiều máy chiếu đồng thời, điều này làm chi phí tăng đáng kể
Hệ thống Bán nhúng cho người dùng có cảm nhận nhiều hơn về sự hiện diện
trong không gian ảo so với các hệ thống không có tính nhúng, và cũng chiếm ưu thế hơn về mặt cảm nhận phạm vi không gian ảo Ngoài ra, thông qua việc sử
dụng một số loại kính mắt đóng mở đồng bộ với hệ thống đồ hoạ, người sử dụng
có thể quan sát được các hình ảnh nổi lập thể
Việc nâng cao hiệu năng của hệ thống Thực tại ảo luôn luôn đi kèm với những chi phí đắt đỏ và những phức tạp trong cài đặt thiết lập một hệ thống đồng
bộ, nhưng ta cũng phải thừa nhận nhứng tính năng vượt trội mà nó mang lại so với hệ thống không nhúng là khả năng hiện diện của người quan sát trong hệ, tính đa người dùng
c) Hệ thống Thực tại ảo nhúng toàn phần
Hệ thống Thực tại ảo nhúng toàn phần cung cấp cho người sử dụng những trải nghiệm trực quan nhất trong môi trường ảo Những hệ thống như vậy có thể được xem như bước tiến xa nhất trong công nghệ Thực tại ảo cho tới thời điểm
Trang 15này Có một loại thiết bị chuyên biệt gắn liền với sự phát triển của các hệ thống
dạng này đó là các Thiết bị hiển thị đội đầu (HMD) và găng tay dữ liệu
(DataGloves) Các thiết bị đó cho phép người quan sát được nhúng hoàn toàn trong một thế giới ảo mà ở đó anh ta có thể quay 3600 và tương tác với vật có cảm giác như tương tác với vật thật
Tất cả các hệ thống Thực tại ảo nhúng toàn phần có khả năng cung cấp những cảm nhận hiện thực trong môi trường ảo hơn bất kỳ một loại hệ thống nào
đã đề cập trước Tuy nhiên, một lần nữa, mức độ “thực” còn phụ thuộc vào nhiều yếu tố bao gồm trường quan sát của thiết bị HMD, độ phân giải, tốc độ cập nhật hình ảnh trong thời gian thực khi người quan sát chuyển động trong không gian, cũng như độ tương phản và độ rọi của thiết bị hiển thị
Ngày nay các thiết bị hỗ trợ quan sát phát triển đã đáp ứng cho hiển thị hình ảnh tốt hơn, trường quan sát rộng hơn và tương tác thật hơn, nhưng với điều kiện của Việt Nam thì những thiết bị này chưa được phổ biến vì chi phí cao và nó phải đồng bộ với một loạt các thiết bị khác khi sử dụng, hơn nữa, việc làm chủ công
nghệ để tạo ra những hệ Thực tại ảo không phải đơn giản
Bảng so sánh hiệu năng hoạt động của các dạng hệ thống Thực tại ảo (Kalawsky, 1996)
Thấp Trung bình – Cao Cao
Khả năng tương tác Thấp Trung bình Cao
Cảm giác hiện diện
trong môi trường ảo
Không - Thấp
Trung bình – Cao Trung bình – Cao
Trang 16Một số phương pháp và công cụ phần mềm giúp dựng mô hình 3D
Mô phỏng là quá trình “bắt chước” hay mô tả các sự vật hiện tượng, cảnh vật có thực trong thiên nhiên hoặc trong trí tưởng tượng của con người Hệ mô phỏng là một hệ thống thông tin đầy đủ về một môi trường nào đó mà con người
có thể giao tiếp được Thực tại ảo là một hệ mô phỏng có tương tác hai chiều và
xử lý thời gian thực, đặc biệt với kỹ thuật Stereo 3D cho phép người quan sát được chìm đắm trong không gian ảo Để xây dựng hệ Thực tại ảo thì việc xây dựng mô hình 3D là khâu quan trọng đầu tiên
Cho đến nay, nhìn chung có 2 xu hướng để thực hiện mô phỏng hình 3D:
Cách thứ nhất: thể hiện các mô hình 3D nhờ các ngôn ngữ lập trình truyền thống như C, C# 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, hơn nữa 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, mất nhiều thời gian và nhất là rất khó trong việc tạo
ra những cảnh rộng 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 thiên nhiên đúng với bản chất của nó Tuy nhiên nó chỉ phù hợp với những mô phỏng có quy mô nhỏ, phù hợp với việc học tập
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,
nó phù hợp với các mô phỏng có tính chất mô hình không yêu cầu độ chính xác cao Một nhược điểm là nó yêu cầu cấu hình hệ thống mạnh để cài đặt và chạy chương trình, nhất là khi kết xuất 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 3D, Web3D, Phim 3D.v.v Một số bộ công cụ mô phỏng thông dụng là:
Trang 173DsMax, Maya, Autocad, Painter3D, VirtualML, Softimage, Renderman, Houdili, Lightware, Flash.v.v
Trạng thái đối tượng mô phỏng 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, không có sự biến đổi Đây là dạng
mô phỏng thường chỉ áp dụng cho các vật tĩnh Đây là dạng mô phỏng đơn giản nhất
Trang 18 Mô phỏng động không theo thời gian thực: Đây là dạng mô phỏng không quan tâm tới thời gian đáp ứng của yêu cầu Nó phù hợp cho xây dựng các hệ
mô phỏng không có sự tương tác nhiều, không cần đáp ứng thời gian
Hình 7 - Mô phỏng đối tượng động
Để thực hiện mô phỏng sự vật ta lại có 2 phương pháp chính: Phương pháp giả mô phỏng và phương pháp mô phỏng thật
Phương pháp giả mô phỏng là ta dùng các kỹ thuật xử lý ảnh để tạo ra những đối tượng và những hiệu ứng giả đánh lừa mắt nhìn của con người Ví dụ, như biến đổi ảnh không gian 2D thành hình ảnh của vật như trong không gian 3D, hay các phương pháp Texture
Phương pháp mô phỏng thật là dùng các kỹ thuật tạo đối tượng và hiệu ứng dựa trên cơ sở khoa học là các thuật toán biểu diễn tính chất vật lý của đối tượng và các hàm biến đổi để thể hiện đối tượng một cách chính xác
Tóm lại, một hệ mô phỏng được thiết kế tốt, kết hợp với các thiết bị trình
chiếu hiện đại và các thiết bị tương tác ngoại vi sẽ giúp con người tiếp cận được với thế giới ảo đó như đang ở trong thế giới thực Việc tạo ra các mô hình đối tượng có độ chân thực và sức hấp dẫn hoàn toàn phụ thuộc vào cách ta lựa chọn phương pháp để thể hiện chúng Mỗi phương pháp có những ưu điểm và nhược điểm riêng, vì thế tuỳ vào mức độ quan trọng của đối tượng trong hệ mà ta có thể chọn phương pháp phù hợp để xây dựng Vấn đề hiện nay không phải là có thể
Trang 19biểu diễn được các sự vật hiện tượng trong thế giới thực trên máy tính được hay không, mà vấn đề là phải sớm tự xây dựng được một quy trình công nghệ sản xuất dựa trên điều kiện hiện tại của nước ta để cho ra đời các hệ Thực tại ảo một cách nhanh chóng, chính xác dựa trên những công cụ đã và đang được phát triển
Và bước đầu tiên là phải hiểu biết một cách chắc chắn về phương pháp, do đó
việc tìm hiểu “Tìm hiểu một số kỹ thuật mô phỏng nước và ứng dụng” là một
công việc điển hình
1.2 Tổng quan về mô phỏng nước
1.2.1 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
Trang 201.2.2 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 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
Trang 21 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á
+ 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:
Trang 22 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
- 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)
Trang 23- Để 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
- 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 em 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 những phương pháp tạo ra hiệu ứng thật cho mặt nước Những phương pháp ấy đã được công bố trên rất nhiều tạp chí khoa học và sau đây em xin giới thiệu những phương pháp quan trọng nhất
1.3 Cơ sở lý thuyết của mô phỏng nước
Cơ sở lý thuyết của các phương pháp mô phỏng nước chính là các tính chất vật lý của nó Dưới đây em xin giới thiệu một số tính chất vật lý của chất lỏng nói chung và nước nói riêng để tạo điều kiện cơ sở cho nhận thức các phương pháp mô phỏng nước
Trang 24Chất lỏng chiếm một vị trí trung gian giữa chất khí và chất rắn Ở nhiệt độ cao, chất lỏng giống trạng thái của thể khí và ở nhiệt độ thấp thì giống trạng thái của vật rắn Chất lỏng có sự biến đổi liên tục từ thể này sang thể khác tuỳ thuộc vào nhiệt độ, áp suất Biểu diễn chất lỏng biến đổi trạng thái từ rắn sang lỏng, từ lỏng sang khí là bài toán hiệu ứng tan chảy và mây mù của chất lỏng
Khi nhận một lực hay một áp suất tác động thì lực sẽ được phân tán đều trên toàn bộ khối chất lỏng theo mọi hướng khác nhau Khác với vật rắn, các hạt chất lỏng không có lưới tinh thể trong một thể tích giới hạn, nghĩa là các hạt có đặc tính phân bố không có qui tắc, nhưng cũng như ở tinh thể, các hạt chất lỏng cũng giao động (1013 giao động trong một giây) xung quanh một vị trí cân bằng tức thời trong một thời gian vô cùng ngắn
Khác với vật rắn, các hạt chất lỏng thường luôn thay đổi vị trí cân bằng đó một cách tự do, các hạt chuyển từ vị trí này sang vị trí khác Nếu tách thành phần chuyển động giao động ra thì hạt sẽ vẽ một quỹ đạo theo đường gãy khúc, giống như quỹ đạo của các hạt khí
Nhờ các đặc điểm trong tính chất chuyển động nhiệt ở một chừng mực nào
đó, chất lỏng vừa có tính chất của chất khí vừa có tính chất của chất rắn
Ví dụ: chất lỏng cũng có tính chảy như chất khí, và cũng có tính co giãn chống trượt như vật rắn, tính chất này làm cho chất lỏng dính nhớt
Cần thiết phải nhấn mạnh rằng, khác hẳn với chất khí, chất lỏng hầu như không nén được và hoàn toàn chiếm một thể tích nhất định, nghĩa là nó có thể có mặt thoáng Và khác với chất khí, độ nhớt của chất lỏng giảm đi khi nhiệt độ tăng
Khác với chất rắn, hình dạng của chất lỏng hoàn toàn phụ thuộc vào bình chứa, nó không chịu sự biến dạng khi bị tác dụng lực
Trang 251.3.1 Tính co giãn của chất lỏng
Tính chịu nén của chất lỏng được đặc trưng bằng hệ số nén thể tích βc Nó biểu thị sự thay đổi tương đối của thể tích W khi áp lực P thay đổi đi một lượng 1kg/m2 và xác định bằng công thức:
bị biến hình, trong đó lực ma sát sẽ xuất hiện
Lực ma sát làm cho lớp chất lỏng chảy nhanh hơn sẽ lôi kéo lớp chất lỏng chảy chậm hơn và ngược lại Do lực ma sát biến cơ năng của chất lỏng đang chuyển động sẽ biến thành nhiệt năng Độ nhớt của chất lỏng được đặc trưng bằng
hệ số nhớt Hiện nay, chưa có một công thức thống nhất nào để tính độ nhớt của chất lỏng, mà người ta chỉ mới tính được vài trị số độ nhớt của nước như sau:
Khi nhiệt độ tăng thì động năng của phân tử tăng, nên “thể tích dao động”
Trang 261.3.3 Lực mao dẫn của chất lỏng
Chúng ta đã biết rằng mặt thoáng của chất lỏng hay nói tổng quát hơn là mặt phân giới của chất lỏng và chất khí ở trong trạng thái cân bằng của sức căng mặt ngoài
Trị số của sức căng mặt ngoài σ qui về một đơn vị chiều dài của “đường tạo thành” chỉ phụ thuộc vào bản chất chất lỏng và nhiệt độ của nó Đối với nước tiếp xúc với không khí, trị số σ ở 200C bằng khoảng 0,0074kg/m2, và giảm đi khi nhiệt
độ tăng
Trong một số lớn quá trình thủy lực, ảnh hưởng của sức căng mặt ngoài vì quá nhỏ nên bỏ qua, chỉ cần tính đến sức căng mặt ngoài nếu mặt thoáng của chất lỏng có một độ cong rõ rệt hoặc nếu các lực căng mặt ngoài tạo thành áp lực phụ lên chất lỏng Tác dụng của áp lực phụ này giải thích được hiện tượng dâng mao quản của chất lỏng
1.3.4 Sự hút khí của chất lỏng
Chất lỏng có khả năng hút và hòa tan các chất khí khi tiếp xúc với nó Khi
đó, trọng lượng của chất khí bị hoà tan thay đổi tỷ lệ với áp lực của chất lỏng, còn
về thể tích thì thực tế vẫn không thay đổi
Nước trong trạng thái thiên nhiên bao giờ cũng chứa một lượng không khí bị hòa tan: ở nhiệt độ bình thường, lượng đó vào khoảng 2% thể tích nước Khi áp lực giảm, một phần không khí hòa tan sẽ bốc lên khỏi chất lỏng Áp lực càng giảm thì không khí bốc hơi lên càng mạnh, khi đó sẽ sinh ra hơi chất lỏng
Sự bốc hơi tạo thành sương mù của chất lỏng có thể xảy ra ở các áp lực lớn hơn áp lực khí trời nếu nhiệt độ nước tăng hay nước chứa nhiều khí quá Đó là nguyên nhân của việc sinh ra các “túi” không khí trong các ống dẫn nước dài; không khí bốc ra và hơi nước sẽ tích lũy lại trong các ống đó ở những nơi cao nhất
và có thể gây khó khăn hay làm cho nước hoàn toàn không chuyển động được
Trang 27Chương 2
Một số phương pháp mô phỏng nước
Những phương pháp mô phỏng hiệu ứng nước thật tập trung ở 2 phương
pháp chính đó là: phương pháp Physically-based và phương pháp
Trang 282.1.2 Cơ sở vật lý
Sức căng bề mặt là yếu tố quan trọng trong mô phỏng chất lỏng co giãn nhẹ Nó được sinh ra do sự mất cân bằng của lực kết cấu phân tử trên miền mặt phân giới, nơi mà 2 đối tượng gặp nhau (lỏng-khí, lỏng-rắn, khí-rắn) Có 2 cách
để phân tích ảnh hưởng của sức căng mặt ngoài đến sự chuyển động của chất lỏng
Ut: đạo hàm tính vận tốc theo thời gian
u = (u,v,w): vectơ vận tốc (Velocity)
v: hệ số dính nhớt (Viscosity coefficient)
P: áp suất (Pressure)
ρ: mật độ (Density)
w: vận tốc góc (Vorticity)
k: độ cong trung bình bề mặt (Surface mean curvature)
F: ngoại lực (Lực nổi hoặc lực hấp dẫn)
γ: hệ số sức căng mặt ngoài
N: véc tơ pháp tuyến của bề mặt chất lỏng
: biểu thị toán tử gradient (độ dốc)
Vectơ cuộn xoáy cục bộ được biểu diễn bằng công thức:
Trang 29Δpsurf : các áp lực khác ngang qua bề mặt chất lỏng
Cả hai cách biểu diễn sức căng bề mặt trên đều phụ thuộc tuyến tính vào k
Theo Young’s, nếu chỗ giao nhau giữa 3 mặt phân cách trên là đường tiếp xúc và cân bằng khi không có ngoại lực thì sức căng mặt ngoài thỏa mãn:
γsa – (γlacosθs + γls) = 0 (4)
Với 0 < θs < Π
θs : góc tiếp xúc ổn định (the stable contact angle)
γls, γsa, γla = γ : hệ số sức căng mặt phân cách của rắn, rắn-khí, khí
lỏng- Khi θs nhỏ thì bề mặt chất rắn được gọi là hydrophilic, và bề mặt của chất
lỏng có xu hướng xoay về mặt phẳng trải rộng ra
Khi θs lớn thì bề mặt chất lỏng được gọi là hydrophobic và chất lỏng trở
Trang 30 Khi ngoại lực tác dụng lên chất lỏng thì góc cân bằng liên hệ giữa rắn – lỏng có thể khác θs
Ví dụ: góc cân bằng có thể nhỏ hơn θs khi giọt nước nằm trên bàn, giống như sự uốn cong đường tiếp xúc theo chiều hướng tăng lên để giữ áp suất đúng với trọng lực
2.1.3 Khái quát thuật toán
Cũng giống như các chương trình mô phỏng chất lưu khác, chúng ta chia thủ tục mô phỏng thành một số bước chính Đầu tiên trường vận tốc được cập nhật, và ở bước sau trường vận tốc này được sử dụng để cập nhật sự thay đổi của
bề mặt chất lỏng
Trong phương pháp này, người ta sử dụng một lưới 3D Vận tốc của chất lưu được biểu diễn bằng mặt của các ô lưới Bề mặt giữa chất lỏng – khí được biểu diễn bằng trường khoảng cách Trường khoảng cách là trung tâm của cách tiếp cận này vì nó là trường được thay đổi để tạo ra bề mặt ảo
Tóm lại, trong phương pháp này, chất lỏng được thể hiện dựa vào bề mặt của nó, và việc tìm bề mặt chất lỏng được giải quyết bằng phương pháp ngoại suy bề mặt ảo và việc theo dõi sự vận động của bề mặt thoáng của chất lỏng được
giải quyết bằng phương pháp Level-set
Ngoài ra, người ta còn có thể áp dụng các phương pháp cơ sở vào thuật toán này vẫn thực hiện được mục đích mô phỏng Đầu tiên sử dụng phương pháp Implicit Euler [1] để giải quyết khuyếch tán mômen nhớt, phương pháp semi-lagrangian [2] để tính toán bình lưu vận tốc và cuối cùng là giải phương trình Possion
Trang 312.1.4 Phép ngoại suy bề mặt ảo
Phương pháp bề mặt ảo của chúng ta là sử dụng trường khoảng cách Φ để biểu diễn mặt phân cách lỏng – khí nhằm mục đích mô phỏng có hiệu quả góc tiếp xúc Bề mặt ảo được mở rộng với chất rắn khi góc tiếp xúc cân bằng phù hợp với lực sức căng bề mặt trên đường tiếp xúc như trong quan điểm của Young (phương trình (4)) Nếu bề mặt thực tế không yêu cầu góc tiếp xúc thì kết quả sẽ cho mặt không cong Phương pháp của chúng ta làm thay đổi bề mặt chất lỏng ban đầu Ωl xung quanh mỗi ô độc lập trên đường tiếp xúc, vì thế độ cong được tính toán từ việc thay đổi các bề mặt Ωnew một cách thích hợp có kể đến tất cả sức căng của các bề mặt Toàn bộ bề mặt chất lỏng (bề mặt chất lỏng đầy đủ) Ωl là hợp của bề mặt lỏng – khí Ωla và bề mặt lỏng – đặc Ωls Với bề mặt đầy đủ hoàn toàn có thể xác định được nhờ trường khoảng cách Φ Bằng cách thay đổi Φ chúng ta sẽ thay thế Ωls bằng mặt ảo Ωv Khi đó chúng ta đánh giá độ cong trên
bề mặt mới và sử dụng độ cong này như là áp lực sức căng bề mặt (phương trình (3))
Định nghĩa bề mặt ảo:
Hình 8 - Mô tả góc tiếp xúc bề mặt ảo
L(t) : là đường tiếp xúc cong giữa bề mặt chất rắn Ωs và bề mặt chất lỏng Ωl
Ns(t): là pháp tuyến của bề mặt chất rắn
Trang 32T: là tham số thể hiện đơn vị đo độ dài cung (L’(t) = 1), và t được chọn sao cho khi t tăng dần thì L(t) quay ngược chiều kim đồng hồ quanh Ns(t)
Ns(t) và Nl(t) xác định một mặt phẳng mà mặt phẳng này chứa đường tiếp xúc L(t) Góc giữa Ns(t) và Nl(t) xác định góc tiếp xúc giữa Ωs và Ωl Bề mặt ảo của chúng ta bắt đầu từ L(t), mở rộng xuống bên trong chất rắn với một góc cụ thể được xác định bởi mối quan hệ giữa chất lỏng – chất rắn Cụ thể mặt ảo V(s,t) được xác định bởi:
V(s, t) = L(t) + s.R(t) (với s > 0)
R(t) = −sinθs Ns(t) − cosθs (Ns(t)×L’(t))
Căn cứ vào t0, về phương diện hình học V(s,t0) là tia từ L(t0) ngả về R(t0),
và nó hợp với Ns(t) trong mặt phẳng trực giao với L(t) một góc (Π/2 + θs )
Trong ví dụ của chúng ta dưới đây, bề mặt ảo nằm trong mặt phẳng trực giao
với L(t)
Nếu góc hiện tại θc bằng góc tiếp xúc θs thì đường thẳng tiếp xúc phải được
ổn định trong mặt phẳng trực giao đó Điều này đã được chứng minh trong phương pháp bề mặt ảo bởi vì độ cong kn = 0 khi Ns và Nl đồng nhất với nhau Khi θc θs, sử dụng trung bình độ cong đã được tính bằng phương pháp bề mặt ảo để ước lượng sức căng bề mặt trên đường tiếp xúc
Trang 33
Hình 9 - Mô tả góc tiếp xúc bề mặt ảo giữa chất lỏng và rắn
a Thay đổi bề mặt trong 2D
Trong 2D, mặt tiếp xúc là một điểm đơn và bề mặt ảo chỉ là một tia kéo dài
từ điểm tiếp xúc này vào bên trong vật rắn Chúng ta tạo ra bề mặt ảo bằng cách thay đổi giá trị trường khoảng cách Φ để phản ánh chính xác khoảng cách giữa các vị trí bên trong vật rắn và các điểm ranh giới của bề mặt ảo Sau đó chúng ta hợp nhất bề mặt ảo với bề mặt lỏng- khí (tức là bề mặt chất lỏng gốc)
Để làm rõ điểm tiếp xúc, chúng ta thay đổi cục bộ bề mặt chất lỏng trong 1 phạm vi nhỏ của ô lưới của Φ, và các giá trị đã được thay đổi sẽ được sử dụng sau đó để ước lượng độ cong
Bước đầu tiên của lược đồ ước lượng độ cong chỉ yêu cầu 1 phạm vi là 3 nút cho mỗi kích thước
Y=1
Y=0 Y= -1
Trang 34Hình 10 - Hình hộp 2D Nút rỗng là nút nước, nút đặc là nút không khí Mặt phẳng y = 0 là bề mặt chất rắn và hướng của y là phương vuông góc
Bước đầu tiên là tính toán hàm khoảng cách của bề mặt ảo Φv từ mỗi nút trên mặt phẳng y = 0, y = -1 Gọi Ψ là khoảng cách từ mỗi nút trên mặt phẳng y =
Với nút ở trên mặt phẳng y = 0, ta có Φv là:
Φv(x,-1) = ( Ψ(x,o) – h*cosθs ) * sinθs Nếu x*cosθs + sinθs > 0 (6)
X / |x| *(Ψ2(x,0) + h2)1/2 Ngược lại
Trang 35Dựa vào hàm Φv trên cho tất cả các nút y <= 0, chúng ta tổ hợp Φv với hàm khoảng cách lỏng – khí Φla được định nghĩa cho tất cả các nút y >= 0 để tạo ra thành 1 hàm khoảng cách mới Φnew
Đầu tiên chúng ta xác định Φnew cho Ωnew của đường ranh giới các nút trong mỗi mặt phẳng, sau đó ước lượng Φnew cho những nút còn lại sử dụng thuật toán Fast Marching từ những nút ranh giới
Φv của các nút ranh giới trên mặt phẳng y = -1
| Φv| < h
Có nghĩa là Ωv đóng kín rõ ràng hơn ωla Với những nút này, các nút ranh giới của bề mặt ảo ở trên mặt phẳng y = -1 cũng là nút ranh giới của bề mặt mới nên Φnew = Φv Tương tự, các nút ranh giới của bề mặt chất lỏng trên mặt phẳng y
= 1 cũng là các nút ranh giới của bề mặt mới nên Φnew = Φla = Φl Từ đó bề mặt lỏng - rắn ở thấp hơn bề mặt rắn Ωs: y = 0 Cuối cùng, ta xác định nút ranh giới (boundary nodes) của bề mặt mới trên mặt phẳng y = 0:
C0,0 là nút ranh giới của bề mặt mới và Φnew = 0 (theo định nghĩa)
Nếu 2 nút còn lại là air boundary node thì ta xác định giá trị của chúng như sau:
Φnew = Φla = Φl Nếu | Φla | < | Φv | (7)
Φv Φv Ngược lại Nếu 1 nút ở trên mặt phẳng y = 0 hoặc y = -1 thì ta giới hạn giá trị Φnew bởi
Φv
Nếu 1 nút không khí ở trên mặt phẳng y = 0 hoặc y = 1 thì ta giới hạn giá trị
Φnew bởi Φl
Trang 36b Thay đổi bề mặt trong 3D
Phương pháp bề mặt ảo trong 3D tương tự như trong 2D Đầu tiên, tính hàm khoảng cách Φv cho bề mặt ảo, sau đó hợp nhất nó với bề mặt lỏng – khí bằng cách tính Φnew trên các nút ranh giới của bề mặt mới
Ô lập phương C bây giờ là 3x3x3 là trung tâm trên đường tiếp xúc (Φl(0,0,0) = 0 ) và trục y là phương chất rắn không đổi
Điểm khác biệt chính trong 3D là mặt tiếp xúc trong 3D là đường cong ở trên mặt phẳng chứa bề mặt chất rắn Nó là nguyên nhân dẫn đến sự khác biệt trong cách xác định hàm khoảng cách của bề mặt ảo Φv Chúng ta có thể thấy rằng, nếu đường tiếp xúc đủ trơn và góc tiếp xúc ổn định nhất thì vấn đề khoảng cách ngắn nhất của bề mặt ảo 3D có thể qui về vấn đề khoảng cách ngắn nhất của
Φv trong mặt phẳng 2D của L(t) Giải pháp cho trường hợp 2D này là đưa về phương trình (5) và phương trình (6) Với cách giải quyết của trường hợp 2D thì không cần phải biết chính xác vị trí của điểm gần nhất L(t0) trên L(t) Song chúng
ta cần biết khoảng cách ngắn nhất Ψ từ các nút trên mặt phẳng y=0 đến đường tiếp xúc L(t)
Chúng ta sẽ tìm hiểu xem làm thế nào để lấy lại được Ψ từ hàm khoảng cách bề mặt chất lỏng ban đầu Φl
Hình 11: Hai trường hợp có thể chấp nhận được trong ước lượng khoảng cách Ψ
đến đường tiếp xúc Nút đỏ là mặt tiếp xúc
Y=1
Y=0
Liquid Air
Liquid-Air Surface
Trang 37Gọi Cx1,0,z1 và Cx2,0,z2 là 2 điểm cạnh nhau trên đường ranh giới của bề mặt chất lỏng, với Φl(x1, 0, z1) < 0 và Φl(x1, 0, z1) > 0
Và Cx1,1,z1 và Cx2,1,z2 là 2 điểm nằm phía trên chúng trên mặt phẳng y = 1
Có 2 trường hợp có thể chấp nhận được để ước lượng Ψ tùy theo các mặt tiếp xúc chất lỏng khác nhau (hình 11)
- Trong trường hợp bên trái : khi góc hiện tại θc > Π/2 và bề mặt chất lỏng đủ trơn thì:
y = 0, khoảng cách mới được chọn bằng cách sử dụng phương trình 8 Các node biên của nước được lờ đi, sau đó những nút không phải là node biên được ước lượng bằng cách sử dụng phương pháp fast marching 3D