Mô phỏng được dùng để mô tả và phân tích các hoạt động của một hệ thống, với mục tiêu là thể hiện giống nhất những gì đang xảy trong thế giới thực.. Cụ thể còn tồn tại những nhược điểm
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Giáo viên hướng dẫn : PGS TS NGUYỄN VĂN HUÂN
Học viên : Phùng Duy Linh Lớp : Cao học K17
Thái Nguyên - 2020
Trang 2LỜI CAM ĐOAN
Tôi - Phùng Duy Linh xin cam đoan những nội dung trình bày luận văn này là kết quả tìm hiểu, nghiên cứu của bản thân dưới sự hướng dẫn của PGS TS Nguyễn Văn Huân và các nhà nghiên cứu đi trước Nội dung tham khảo, kế thừa, phát triển từ các công trình đã được công bố được trích dẫn, ghi rõ nguồn gốc Kết quả mô phỏng, thí nghiệm được lấy từ chương trình của bản thân
Nếu có gì sai phạm tôi xin hoàn toàn chịu trách nhiệm
Người cam đoan
Phùng Duy Linh
Trang 3LỜI CẢM ƠN
Trong quá trình thực hiện luận văn mặc dù gặp rất nhiều khó khăn nhưng tôi luôn nhận được sự quan tâm, giúp đỡ từ thầy cô, đồng nghiệp bạn bè và người thân Đây là nguồn động lực giúp tôi hoàn thành luận văn này
Tôi xin gửi lời chân thành cảm ơn tới PGS TS Nguyễn Văn Huân đã tận tình giúp đỡ, hướng dẫn và chỉ bảo trong quá trình thực hiện luận văn
Tôi xin chân thành cảm ơn tới quý thầy, cô trường Đại học Công nghệ thông tin
và truyền thông - Đại học Thái Nguyên đã tận tình chỉ bảo, truyền đạt những kiến thức qúy báu giúp tôi hoàn thành nhiệm vụ học tập trong suốt thời gian theo học tại trường Quý thầy cô đã giúp tôi có được những kiến thức quan trọng trong lĩnh vực Công nghệ thông tin, là nền tảng vững chắc cho những nghiên cứu của bản thân trong thời gian tới
Tôi xin cảm ơn anh em, đông nghiệp đã giúp đỡ, ủng hộ tinh thần trong thời gian tôi tham gia học tập
Cuối cùng, tôi xin cảm ơn tất cả những người đã luôn luôn quan tâm, sẻ chia và động viên tôi
Thái Nguyên, ngày tháng năm 2020
Phùng Duy Linh
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH ẢNH v
LỜI NÓI ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ MÔ PHỎNG 2
1.1.Khái quát về mô phỏng 2
1.1.1.Khái niệm mô phỏng 2
1.1.2 Ưu điểm và nhược điểm của mô phỏng 3
1.1.3 Xu hướng thực hiện mô phỏng ba chiều 5
1.2 Các ứng dụng của công nghệ mô phỏng 7
1.2.1 Kiến trúc và thiết bị công nghệ 7
1.2.2 Giải trí 8
1.2.3 Giáo dục và Đào tạo 9
1.2.4 Y học 10
1.3 Bài toán thoát hiểm và mô phỏng khói, lửa 11
1.3.1 Bài toán thoát hiểm khi xảy ra hỏa hoạn 11
1.3.2 Tổng quan về mô phỏng khói 11
1.3.3 Tổng quan về mô phỏng lửa 12
CHƯƠNG 2: MỘT SỐ KỸ THUẬT ĐỒ HỌA ÁP DỤNG TRONG MÔ PHỎNG HỎA
HOẠN 14
2.1 Kỹ thuật Particle trong mô phỏng khói, lửa 14
2.1.1 Particle trong mô phỏng khói 16
2.1.2 Particle trong mô phỏng lửa 18
2.2 Kỹ thuật phát hiện và xử lý va chạm trong mô phỏng 21
2.2.1 Các kỹ thuật va chạm 21
Trang 52.2.2 Kỹ thuật phát hiện va chạm dựa vào hộp bao AABB 22
2.2.3 Kỹ thuật phát hiện va chạm dựa vào hộp bao OBB 23
2.2.4 Kỹ thuật phát hiện va chạm dựa vào khối bao cầu 24
2.2.5 Kỹ thuật phát hiện va chạm dựa vào hộp bao đa diện lồi 27
2.3 Kỹ thuật xây dựng mô hình 3D 28
2.3.1.Phương pháp thiết kế đi từ tổng thể đến chi tiết 28
2.3.2 Phương pháp thiết kế đi từ chi tiết đến tổng thể 31
2.3.3 Phương pháp thiết kế phối hợp 32
2.4 Kỹ thuật điều khiển nhân vật 34
2.4.1 Kỹ thuật điều khiển chuyển động theo đường Path 34
2.4.2 Kỹ thuật tạo chuyển động Set Driver Key 35
2.4.3 Kỹ thuật tạo chuyển động KeyFrame 36
2.4.4 Kỹ thuật FK và IK điều khiển đối tượng có xương 38
CHƯƠNG 3: THỰC NGHIỆM VÀ ỨNG DỤNG 40
3.1 Yêu cầu thực nghiệm, ứng dụng 40
3.2 Phân tích, lựa chọn công cụ 41
3.3 Một số kết quả mô phỏng thực nghiệm 41
3.3.1 Hình ảnh kiến trúc thư viện Đại học Hùng Vương 41
3.3.2 Hình ảnh khói trong quá trình mô phỏng 42
3.3.3 Hình ảnh lửa trong quá trình mô phỏng 43
3.3.4 Mô phỏng di chuyển, các tình huống khi sảy ra va chạm 45
3.3.5 Một số hình ảnh mô phỏng tình huống trong chương trình 46
3.3.6 Kết quả chương trình, đánh giá hiệu quả 48
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 51
Trang 6DANH MỤC HÌNH ẢNH
Hình 1.1 Mô phỏng phẫu thuật 2
Hình 1.2 Mô phỏng đối tượng tĩnh 6
Hình 1.3 Mô phỏng đối tượng động 7
Hình 1.4 Ứng dụng trong mô phỏng kiến trúc 7
Hình 1.5.Mô phỏng lái xe trong giải trí 9
Hình 1.6 Buồng lái mô phỏng máy bay ảo của Học viện Phòng Không-Không quân Việt Nam 9
Hình 1.7 Khói từ nhà máy điện hạt nhân Oi trước sự cố Fukushima 12
Hình 1.8 Lửa trong bài toán mô phỏng cháy rừng 13
Hình 2.1.Star Trek II - 1982 15
Hình 2.2 Quy trình thực hiện hệ Particle 16
Hình 2.3 Khói với các tham số cơ bản hệ Particle 16
Hình 2.4 Khói mô phỏng: (a)Tham số khuếch tán (b) Tham số môi trường… 17
Hình 2.5 Khói khi sử dụng mặt nạ 17
Hình 2.6 Khói khi có vật cản và va chạm 18
Hình 2.7 Cộng ảnh Alpha Channel vào ảnh để tạo mặt nạ 18
Hình 2.8 Ảnh ngọn lửa được mô phỏng bởi hệ Particle 20
Hình 2.9 Sự thay đổi hướng của vecto vận tốc 20
Hình 2.10 Hộp bao AABB 22
Hình 2.11 Xây dựng hộp bao AABB 22
Hình 2.12 Hợp nhất và kiểm tra va chạm giữa AABB và OBB 23
Hình 2.13 Phát hiện va chạm giữa 2 hộp bao AABB 23
Hình 2.14 Hợp nhất và kiểm tra va chạm giữa 2 khối bao cầu 25
Hình 2.15 Hai khối cầu xảy ra va chạm 26
Hình 2.16 Hộp bao dạng đa diện lồi 27
Hình 2.17 Minh họa một số hộp bao K-Dop 27
Hình 2.18 Độ phức tạp trong tính toán đối với các hộp bao 28
Hình 2.19 Một số hình khối 3D cơ bản 29
Hình 2.20 Công cụ Select and Move trong thiết kế 30
Trang 7Hình 2.21 Chế độ Editable Poly 31
Hình 2.22 Hai tấm plane chiếu đứng và cạnh (cách 1) 32
Hình 2.23 Hai tấm plance chiếu đứng và cạnh (cách 2) 32
Hình 2.24 Mô hình trường ĐH Hùng Vương góc 1 33
Hình 2.25 Mô hình trường ĐH Hùng Vương góc 2 33
Hình 2.26 Mô hình trường ĐH Hùng vương góc 3 34
Hình 2.27 Mô hình phòng học giảng đường trường ĐH Hùng vương 34
Hình 2.28 Đường Path trong điều khiển chuyển động đối tượng 35
Hình 2.29 Chuyển động nhận vật sử dụng keyframe 37
Hình 3.1.Công trình xây dựng đã được mô hình hóa ba chiều 40
Hình 3.2 Hình ảnh kiến trúc trong thư viện 42
Hình 3.3 Hình ảnh khói tự nhiên và khói lấy từ chương trình mô phỏng 42
Hình 3.4 Khói bay lên cao bao phủ bên trong thư viện 43
Hình 3.5 Hình ảnh lửa tự nhiên và lửa lấy từ chương trình mô phỏng 44
Hình 3.6 Hình ảnh khu vực trong thư viện trước, sau khi xảy ra hỏa hoạn 44
Hình 3.7 Hình ảnh khu vực trong thư viện khi xảy ra hỏa hoạn nhìn từ trên cao 45
Hình 3.8 Các điểm va chạm Trigger tương ứng câu hỏi thoát hiểm 45
Hình 3.9 Hình ảnh đường Path và các điểm va chạm Trigger 46
Hình 3.10 Tình huống bên ngoài khu vực lan can khi bắt đầu xảy ra cháy 46
Hình 3.11 Tình huống phát hiện đám cháy ngoài tầm kiểm soát 47
Hình 3.12 Thông báo khi lựa chọn sai trong các tình huống thoát hiểm 47
Hình 3.13 Tình huống lựa chọn thang máy cho quá trình thoát hiểm 48
Hình 3.14 Thành công thoát hiểm 48
Trang 8LỜI NÓI ĐẦU
Ngày nay, mô phỏng đã ngày càng chứng tỏ vai trò quan trọng trong đời sống cũng như trong khoa học, kỹ thuật Mô phỏng hiện diện ở hầu như mọi lĩnh vực văn hóa, kinh tế, chính trị, khoa học, đời sống v.v Sự phát triển nhanh chóng của phần cứng
đã giúp cho các phần mềm mô phỏng ngày càng đáp ứng được những đòi hỏi khắt khe của thực tiễn Điều này làm cho những người trước đây vốn lưỡng lự bởi khả năng hạn chế của mô phỏng trên máy tính cũng đã bị thuyết phục
Bên cạnh đó, hậu quả của các cuộc hỏa hoạn là vô cùng to lớn, sau mỗi cuộc hỏa hoạn có thể làm cho thiệt hại nặng về tài sản, môi trường và kể cả tính mạng con người Với mong muốn xây dựng một chương trình mô phỏng để dạy các kỹ năng xử lý hỏa hoạn ở các giảng đường cao tầng hay thư viện của các trường, luận văn đặt tìm hiểu các
kỹ thuật mô phỏng và từ đó xây dựng các tình huống hướng dẫn các thầy cô giáo, các
em học sinh có thể xử lý một cách tốt nhất trong các trường hợp hỏa hoạn sảy ra đột xuất
Nội dung luận văn được chia làm 3 phần chính: Chương 1 trình bày tổng quan về công nghệ mô phỏng, đồng thời trình bày bài toán mô phỏng hỏa hoạn cũng như những
ý nghĩa thực tiễn của bài toán này khi mô phỏng các tình huống thoát hiểm Chương 2
là những nghiên cứu, phân tích về các kỹ thuật sử dụng trong mô phỏng khói lửa từ đó
áp dụng vào cài đặt và mô phỏng tình huống Chương 3 là trình bày thực nghiệm và ứng dụng của mô phỏng khói, lửa áp dụng trong việc xây dựng các tình huống thoát hiểm khi gặp hỏa hoạn Phần cuối cùng là kết luận và hướng phát triển tiếp theo của luận văn
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ MÔ PHỎNG
1.1 Khái quát về mô phỏng
Mô phỏng [1,3] được sử dụng để giảm thiểu rủi ro và chi phí khi tạo một hệ thống mới hoặc thay đổi hệ thống đang có Hơn thế nữa, còn nhiều hệ thống chỉ mới tồn tại trên lý thuyết, chưa hề được triển khai trong thế giới thực do thiếu các điều kiện cần thiết hoặc kinh phí quá lớn Việc mô phỏng các hệ thống đó sẽ giúp cho các nhà khoa học hiểu rõ hơn bản chất của hệ thống trước khi đem vào áp dụng Cuộc sống càng hiện đại thì những yêu cầu về độ chính xác trong việc mô phỏng càng khắt khe hơn Vì vậy, những kĩ thuật mới trong mô phỏng trên máy tính trở nên quan trọng và cần phải nghiên cứu để hiểu rõ nó
1.1.1 Khái niệm mô phỏng
Mô phỏng là phỏng theo một hoạt động của một tiến trình thế giới thực hay một
hệ thống trong suốt thời gian nó tồn tại [3] Mô phỏng được dùng để mô tả và phân tích
các hoạt động của một hệ thống, với mục tiêu là thể hiện giống nhất những gì đang xảy trong thế giới thực Mô phỏng trên máy tính là mô phỏng mà trong đó các mô hình được tạo ra thông qua việc lập trình
Việc mô phỏng trên máy tính bao gồm thiết kế một mô hình vật lý của hệ thống, thực thi mô hình đó trên một máy tính và phân tích kết quả đầu ra Từ đó, người ta phân
mô phỏng thành ba lĩnh vực nhỏ: thiết kế mô hình, thực thi mô hình và phân tích mô hình
Mô hình được định nghĩa là biểu diễn của một hệ thống thực Một mô hình không nên quá phức tạp, mà chỉ cần đủ để trả lời những câu hỏi mà người ta đặt ra khi nghiên cứu Bởi vì một hệ thống thực luôn có rất nhiều ràng buộc và ảnh hưởng qua lại với những hệ thống khác, việc mô phỏng toàn bộ tất cả các mối quan hệ này là hết sức khó khăn mà nhiều khi không giúp ích gì cho việc nghiên cứu hệ thống
Hình 1.1 Mô phỏng phẫu thuật
Trang 101.1.2 Ưu điểm và nhược điểm của mô phỏng
Sự cạnh tranh trong công nghệ máy tính làm cho các hãng sản xuất phần cứng liên tục tạo ra các sản phẩm tốt hơn Gần như các công ty đưa ra các sản phẩm mới với nhiều tính năng, bộ nhớ, khả năng đồ họa và sức mạnh vi xử lý lớn hơn chỉ trong thời gian ngắn Điều này tạo hiệu ứng thúc đẩy sự phát triển của các ngành liên quan khác, đặc biệt là kỹ nghệ mô phỏng bằng phần mềm Sự phát triển của phần cứng tỉ lệ thuận với sự phát triển của phần mềm
Số lượng ngành nghề sử dụng mô phỏng như một công cụ hỗ trợ cho công việc đang tăng lên một cách nhanh chóng Các nhà quản lý đã nhận ra rất nhiều ưu điểm của công nghệ mô phỏng trong việc tiết kiệm chi phí và nâng cao hiệu quả sản xuất
Ưu điểm
Sử dụng mô phỏng mang lại rất nhiều ưu điểm trong việc đưa ra các quyết định
về phương hướng sản xuất và phát triển Trong đó, nổi bật nhất là những ưu điểm sau:
Cho phép thử nghiệm mà không phá vỡ hệ thống hiện tại:
Với một hệ thống đang tồn tại, một ý tưởng mới đang có ý định áp dụng vào có thể rất khó, chi phí bỏ ra nhiều và thậm chí bất khả thi Mô phỏng cho phép tạo ra một
mô hình và so sánh để đảm bảo rằng mô hình đó phản ánh đúng đắn hệ thống hiện tại Bất cứ một thay đổi nào muốn áp dụng vào hệ thống thực tế có thể được tiến hành trên
mô hình đó và kiểm tra tất cả các ảnh hưởng lên mô hình Sau quá trình đánh giá đó những thay đổi mới được áp dụng vào thực tế khi đã đảm bảo rằng sẽ không có một sai sót nào đó xảy ra có thể phá vỡ hệ thống sẵn có
Kiểm tra các lý thuyết trước khi cài đặt:
Mô phỏng trên trên máy tính cho phép các lý thuyết được kiểm tra trước khi cài đặt, xây dựng một hệ thống mới Phép kiểm tra này sẽ cho phép nhận ra được những kẽ
hở trong thiết kế không được dự đoán trước Từ kết quả kiểm tra này, người thiết kế có thể khắc phục và cải tiến hệ thống trước khi nó được cài đặt Cũng với những sai lầm này, nếu chỉ được phát hiện sau khi đã thiết lập xong hệ thống thì chi phí khắc phục sẽ tăng lên rất cao, thậm chí là không thể sử dụng được
Nhận biết các vấn đề không được dự đoán trước:
Khi một hệ thống được mô phỏng trước khi cài đặt và làm việc theo đúng như tính toán thì mô hình thường được cải tiến để có thể mô phỏng chi tiết hơn lúc ban đầu Việc này có thể làm cho các vấn đề trong thiết kế bị bộc lộ ra Khi lỗi thiết kế được sửa thì chi phí cho việc sửa chữa hệ thống thực sau này sẽ được giảm thiểu Thêm vào đó, các tính năng của hệ thống cũng có thể được cải tiến
Tìm hiểu hệ thống:
Trang 11Một trong những ưu điểm quan trọng nhất của tiến trình mô phỏng là giúp chúng
ta nghiên cứu hệ thống để rút ra những hiểu biết về hệ thống đó Tại thời điểm một dự
án mô phỏng mới được bắt đầu, đặc biệt là một dự án mô hình hóa một hệ thống phức tạp thì các kiến thức về hệ thống thường phân tán vì mỗi chuyên gia đều có những kiến thức riêng trong lĩnh vực của mình Để phát triển mô hình của hệ thống thì các mảnh kiến thức rời rạc đó phải được thu thập lại để tạo thành một bức tranh tổng thể về hệ thống Quá trình tìm hiểu hệ thống thông qua mô hình, ngoài những kiến thức tổng hợp
từ người khác, ta có thể tìm hiểu sâu thêm về những hoạt động cũng như những tương tác của hệ thống với môi trường bên ngoài
Nâng cao tốc độ phân tích:
Sau khi phát triển một mô hình, chúng ta có thể chạy hệ thống mô phỏng ở tốc
độ lớn hơn nhiều so với thế giới thực, do đó tiết kiệm rất nhiều thời gian Một sự kiện
có thể mất hàng năm trong thế giới thực có thể chỉ xảy ra vài phút trong mô hình Việc đưa ra kết quả rất nhanh sẽ đẩy nhanh quá trình phân tích rất nhiều
Phát triển các khái niệm của hệ thống:
Nhằm tạo ra một mô hình có thể làm việc của một hệ thống thì mọi mặt của hệ thống đó cần phải được tìm hiểu Nếu một định nghĩa thiếu sót hay thậm chí là sai trong
hệ thống thì mô hình sẽ không hoạt động chính xác và mô hình đó không thể dùng làm công cụ phân tích hệ thống Vì thế, việc phát triển mô hình đồng nghĩa với việc các nhà phân tích phải đưa ra đầy đủ các định nghĩa, tham số cho các hoạt động của nó Nếu một
số định nghĩa không được xác định rõ ràng, độ an toàn của mô hình sẽ trở thành một vấn đề lớn
Thúc đẩy sáng tạo:
Có một mô hình sẽ giúp nâng cao tính sáng tạo của thiết kế Ví dụ, một kĩ sư có thể đưa ra hai giải pháp cho một vấn đề xảy ra Một đảm bảo cho sự hoạt động của hệ thống nhưng lại đắt Giải pháp còn lại sử dụng phương pháp mới rẻ hơn nhưng lại tồn tại rủi ro Thường thì người ta lựa chọn giải pháp an toàn hơn mà không dám lựa chọn cách làm mới Điều này làm giảm tính sáng tạo trong công việc Nhưng nếu có một mô hình mô phỏng thì giải pháp mới có thể được sử dụng để so sánh Nếu như hệ thống vẫn hoạt động tốt và thực sự giảm chi phí thì người kĩ sư sẽ yên tâm lựa chọn phương pháp mới Ngoài ra, các ý tưởng mới cũng có thể được đưa lên mô hình để kiểm tra mà không
sợ gặp rủi ro
Tựu trung lại, các ưu điểm của mô phỏng đều có điểm chung là giảm rủi ro và tiếp kiệm chi phí
Nhược điểm
Trang 12Tuy vậy, mô phỏng không phải là một phương pháp hoàn hảo đến mức có thể sử dụng trong mọi trường hợp Cụ thể còn tồn tại những nhược điểm như sau:
Khó khăn khi mô phỏng:
Việc tạo ra một hệ thống mô phỏng giống với thực tế đòi hỏi người làm chương trình mô phỏng phải hiểu rõ cấu trúc, phương thức hoạt động, vận hành của hệ thống đó trên thực tế Chỉ một yếu tố không được tính đến có thể dẫn tới sự đổ vỡ của chương trình mô phỏng
Kết quả đưa ra mang tính tương đối:
Nhược điểm này xuất phát từ chính khó khăn đầu tiên khi tiến hành mô phỏng Một hệ thống có thể là rất phức tạp, để hiểu rõ toàn bộ những hệ thống đó là điều khó
có thể khẳng định 100% Bên cạnh đó có nhiều đối tượng mà con người không thể hiểu biết hoàn toàn hoặc chưa được biết đến (một ví dụ điển hình là mô phỏng hố đen) Để khẳng định kết quả đưa ra là chính xác tuyệt đối, đơn giải là tiến hành thực nghiệm chứ không phải mô phỏng, nhưng lúc đó chi phí sẽ là rất lớn
Khó để xác thực:
Quá trình xác thực là nhằm đảm bảo mô hình được xây dựng phản ánh chính xác hoạt động của hệ thống Nếu như hệ thống chưa có thực thì việc kiểm tra này không thể thực hiện được Thậm chí với một hệ thống đã có thì việc xác định này cũng rất khó khăn, vì thường thì một hệ thống có nhiều hoạt động và quan hệ phức tạp
1.1.3 Xu hướng thực hiện mô phỏng ba chiều
Có nhiều xu hướng khác nhau nhằm tiếp cận và xây dựng một hệ thông mô phỏng ba chiều Tuy nhiên có thể nhắc tới hai xu hướng chính cụ thể như sau:
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++ v.v 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 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
Trang 13kết xuất (Rendering).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 3Dv.v Một số bộ công cụ mô phỏng thông dụng là: 3DsMax, 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
Hình 1.2 Mô phỏng đối tượng tĩnh
Mô phỏng động: mô phỏng động được tách thành hai 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:
Mô phỏng động theo thời gian thực: là dạng mô phỏng đối tượng có sự chuyển động hoặc có tính chất thay đổi theo thời gian, không gian, và khi có tương tác thì hệ phải đáp ứng sự kiện đó trong một khoảng thời gian nhất định (quá thời gian đó thì kết quả không còn có ý nghĩa) Đây là dạng mô phỏng phức tạp nhất, khó khăn nhất Nhưng
đó lại là một đặc tính của thực tại ảo và mang tính ứng dụng cao, hiệu có nhiều chương trình mô phỏng thời gian thực được áp dụng trong thực tế
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
Trang 14Hình 1.3 Mô phỏng đối tượng động
Để thực hiện mô phỏng sự vật ta lại có hai 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
sử dụng mặt nạ
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
1.2 Các ứng dụng của công nghệ mô phỏng
Hiện nay, công nghệ mô phỏng vẫn là lĩnh vực công nghệ nhiều tiềm năng xét về khía cạnh ứng dụng Một số lĩnh vực ứng dụng chính có khuynh hướng phát triển mạnh
mẽ trong thời gian gần đây có thể nhắc tới như sau:
1.2.1 Kiến trúc và thiết bị công nghệ
Hình 1.4 Ứng dụng trong mô phỏng kiến trúc
Trang 15Một trong những lĩnh vực ứng dụng tiêu biểu nhất của là thiết kế kiến trúc Khả năng mô hình hoá thế giới 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 nghệ thuật này
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ệ 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, và đây cũng là một ưu điểm điển hình của công nghệ mô phỏng 1.2.2 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ông nghệ mô phỏng với một loạt các trò chơi mô phỏng 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ế giới thực 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ệ mô phỏng và thực tại ảo trong lĩnh vực này
Những thiết bị phần cứng khác như Găng tay dữ liệu (DataGloves) và Thiết bị
hiển thị đội đầu (Head Mounted Displays-HMD) 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 mô phỏng và 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
Trang 16Hình 1.5 Mô phỏng lái xe trong giải trí
1.2.3 Giáo dục và Đào tạo
Đào tạo là một lĩnh vực điển hình của công nghệ mô phỏng Phát triển trên nền công nghệ và kỹ thuật cao, 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ệ giáo dục 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 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ệ 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, hay nhưng bài học về thoát hiểm v.v
Hình 1.6 Buồng lái mô phỏng máy bay ảo của Học viện Phòng Không - Không quân
Việt Nam
Tất cả những đặc tính này khiến công nghệ mô phỏng 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 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
Trang 17Tí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 ý 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
và 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
1.2.4 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ệ mô phỏng và 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ệ mô phỏng là giả lập giải phẫu
Trên cơ sở các kỹ thuật đồ hoạ máy tính và mô phỏng, 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 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 v.v Đ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
Trang 181.3 Bài toán thoát hiểm và mô phỏng khói, lửa
1.3.1 Bài toán thoát hiểm khi xảy ra hỏa hoạn
Thoát hiểm là một tập kỹ năng và tri thức cần thiết phải trang bị cho tất cả mọi người Ngày ngay các kỹ năng thoát hiểm được quan tâm nhiều và thường xuyên được quan tâm giáo dục và đào tạo, đặc biệt là dành cho các đối tượng trẻ nhỏ và học sinh
Trong thời gian gần đây thường xuyên xảy ra các đám cháy gây thiệt hại nhiều
về người và tài sản Trong đó ảnh hưởng lớn tới tính mạng con người không phải do ngọn lửa mà nguyên nhân chủ yếu lại tới từ khói
Theo cục an toàn lao động: nguyên nhân nghẹt thở vì khói là nguyên nhân dẫn đến tử vong cao hơn, nhanh hơn bị phỏng và cháy Vì vậy hãy di tản nhanh chóng ra khỏi khu vực nhiễm khói càng nhanh càng tốt
Một nghiên cứu ở Hoa Kỳ (http://songkhoe.vn) cho biết: tổn thương do hít khói
là nguyên nhân gây tử vong của trên 50% trường hợp bị bỏng, cao hơn nhiều so với tỷ
lệ tử vong 10% không có thương tổn do hít khói Trong 75.000 nạn nhân bị bỏng nặng, 30% phải điều trị vì ngộ độc khói và những tổn thương do hít khói Hít phải khí CO gây
tử vong 75% trường hợp do hỏa hoạn, nhất là trong một không gian kín
Theo báo sức khỏe gia đình (http://suckhoegiadinh.org): Do tác dụng của các chất trong không khí nóng: khói nóng gây tổn thương nặng hơn so với không khí nóng; hơi nước nóng thường gây bỏng nặng hơn không khí nóng vì gây bỏng toàn bộ đường hô hấp, trong đó tổn thương nặng nhất là ở đường hô hấp Thời gian nạn nhân tiếp xúc với nguồn nhiệt càng lâu thì bỏng càng nặng Ngoài ra, khí thải động cơ ôtô, xe máy, máy phát điện, khí ga, khói than, củi cháy dở v.v cũng là nguyên nhân gây bỏng và ngộ độc rất nặng dễ dẫn đến tử vong
Vì những nguyên nhân cấp thiết và sự nguy hiểm lớn của khói đến tính mạng con người, khi tiến hành xây dựng các công trình nhà ở, phòng ốc cần tính đến trường hợp khi xảy ra hỏa hoạn Trong nội dung luận văn kế thừa các kết quả thu được từ việc nghiên cứu các kỹ thuật tạo hiệu ứng khói, lửa mô phỏng lại một số tình huống xảy ra hỏa hoạn và các xử lý tương ứng với mục tiêu hướng dẫn thoát hiểm và bảo vệ tính
mạng cho con người trong trường hợp hỏa hoạn
1.3.2 Tổng quan về mô phỏng khói
Khói là một đối tượng rất quen thuộc trong đời sống sinh hoạt thường ngày của con người Chúng ta biết đến khói khi nhóm lò, đun bếp hay đơn giản chỉ là đốt một vật nào đó (một que diêm, một điếu thuốc v.v.) Ngày nay với sự phát triển của xã hội ta nhìn thấy khói nhiều hơn khi ra đường, tại những khu công nghiệp hay khi nhìn lên màn
Trang 19hình tivi trong những bộ phim đầy khói lửa, trong những trò chơi trên máy tính, thiết bị
di động v.v
Dựa trên mặt vật lý chúng ta có thể định nghĩa khói như sau: Khói là một loại chất ở trạng thái khí sinh ra khi vật chất bị cháy Nó do ba loại chất ở thể khí, thể lỏng, thể rắn hỗn hợp tạo nên Nếu thiếu đi chất ở thể rắn thì chủng loại của khói ít nhiều cũng khác đi, nhưng chất hỗn hợp đó lại có một đặc điểm chung đó là trong chất hỗn hợp có nhiệt lượng
Vì rằng trong khói có giữ một nhiệt lượng nhất định, cho nên nó trở thành rất nhẹ
và bay lên cao Theo đà tăng lên của độ cao bốc lên, đường kính của đám khói sẽ mở rộng Tuy nhiên nhiệt lượng giảm dần vì thế càng bay lên cao, tốc độ bay lên của nó càng chậm lại Vì trong khói có chứa chất rắn ở dạng bột nên thường ngày chúng ta nhìn thấy khói có loại màu đen, có loại màu vàng, màu trắng v.v
Hình 1.9 Khói từ nhà máy điện hạt nhân Oi trước sự cố Fukushima
Bài toán mô phỏng khói: thuộc lớp các bài toán mô phỏng, với mục đích tái tạo
ra hình ảnh, phương thức hoạt động, tương tác của đối tượng khói trên máy tính Từ đó tạo ra hình ảnh về khói và các thí nghiệm tương tác với đối tượng này trên máy tính giống với thực tế Với bài toán mô phỏng khói có hai nhóm đầu vào: Thứ nhất là nhóm các đầu vào là thuộc tính nội thể của đối tượng khói, thứ hai là nhóm các yếu tố ảnh hưởng của môi trường tới đối tượng khói cần mô phỏng
1.3.3 Tổng quan về mô phỏng lửa
Lửa có thể được xem xét từ nhiều khía cạnh Nó là một nguồn bức xạ, một hỗn hợp khí hoạt động theo các qui luật của cơ chế khí động học, hay một vật chất trong suốt điều biến ánh sáng Tuy nhiên, khi mô phỏng ngọn lửa chúng ta chỉ tập trung vào mô hình hình ảnh của lửa, bởi vì mục tiêu chính của chúng ta là xây dựng mô hình trực quan của ngọn lửa Các thuộc tính vật lý của nó có thể được xác định bằng phương thức quang
Trang 20học dựa vào mô hình đó Phần lớn các mô hình đặc tả ngọn lửa như một vật chất phát ra ánh sáng và có tính trong suốt cao và mặc nhận nó là môi trường không tán xạ Khi không có khói hay độ ẩm thì giả định này là có thể chấp nhận được
Thể hiện ngọn lửa trong đồ họa vi tính cần tạo ra một cảm giác trực quan đúng đắn về tính động của lửa Hiện tại có rất nhiều mô hình được sử dụng để mô phỏng ngọn lửa Trong các mô hình cháy vẫn đang khá sơ sài ở thời điểm hiện tại, các tia lửa được
mô phỏng khá thuyết phục bằng cách sử dụng mô hình đơn giản của cơ chế đốt cháy hỗn hợp khí - nhiên liệu cũng như bằng các mô hình thủ tục phức tạp hơn
Tiến trình thể hiện ngọn lửa là vấn đề then chốt của mô phỏng lửa Trong một thể hiện ba chiều của ngọn lửa, các hình ảnh có thể được tạo ra rất nhanh bằng các kĩ thuật
đồ họa cho ta cảm giác thực sự về một ngọn lửa Để có kết quả tốt hơn, người ta có thể
sử dụng các kĩ thuật như ánh xạ photon coi ngọn lửa như là các nguồn sáng hạt thật sự Các hiệu ứng tâm lý như sự điều chỉnh của mắt người khi thay đổi độ sáng của ngọn lửa cũng được sử dụng
Để thể hiện ngọn lửa, ta có thể sử dụng những kĩ thuật đơn giản như phép chiếu thẳng và phép theo vết tia sáng Chúng ta cũng có thể sử dụng các mô hình thể hiện ngọn lửa dựa trên hình ảnh để tận dụng các thông tin ở các hình ảnh sử dụng Phương hướng trong tương lai là ứng dụng các phân tích chuẩn về các tính chất của ngọn lửa như tính
mờ để đề ra các phương thức mới, mở rộng các phương thức mô phỏng để có thể thể hiện được các thuộc tính vật lý khác của ngọn lửa và thiết kế phương thức để đánh giá một cách khách quan và đáng tin cậy các thuộc tính này [4]
Hình 1.8 Lửa trong bài toán mô phỏng cháy rừng
Trang 21CHƯƠNG 2: MỘT SỐ KỸ THUẬT ĐỒ HỌA ÁP DỤNG
TRONG MÔ PHỎNG HỎA HOẠN
Với mục tiêu đề ra của luận văn hướng tới mô phỏng hỏa hoạn trong trường học,
từ đó xây dựng một số các tình huống hướng dẫn thoát hiểm đòi hỏi các nghiên cứu về hiệu ứng khói, lửa, các kỹ thuật va chạm, điều khiển nhân vật và mô hình hóa ba chiều Trong đó, các kỹ thuật xây dựng hiệu ứng khói lửa ứng dụng trong quá trình mô phỏng lửa và khói sinh ra trong hỏa hoạn, các kỹ thuật va chạm giúp điều khiển, tương tác giữa đổi tượng ảo và các mô hình ba chiều xung quanh, đồng thời xác định va chạm giúp quá trình thiết đặt tình huống khi mà đối tượng ở trong các vị trí khác nhau tồn tại các tình huống khác nhau Các kỹ thuật điều khiển nhân vật cho phép mô phỏng lại các hoạt động đi lại, bò của người tham gia khi thực hiện thoát hiếm Cuối cùng quá trình mô hình hóa cho phép mô hình ba chiều không gian và các vật dụng cần mô phỏng Chương
2 của luận văn sẽ trình bày chi tiết các kỹ thuật này áp dụng trong mô phỏng hỏa hoạn
2.1 Kỹ thuật Particle trong mô phỏng khói, lửa
Particle [5] là một kỹ thuật mô phỏng điển hình được áp dụng rộng rãi trong các bài toán mô phỏng vật chất khí, lỏng Khối khí, chất lỏng với bản chất là tập các phân
tử có liên kết lỏng với nhau, do đó bề mặt, kích thước, hình dạng của các đối tượng này thường xuyên thay đổi và rất khó để tính toán, dự đoán một cách chính xác Những thay đổi này có thể được mô tả bởi phương trình toán học rất phức tạp Particle là một trong những phương pháp đặc biệt được dùng để mô phỏng các đối tượng kiểu này, với ý tưởng mô phỏng các đối tượng khí, lỏng bởi chính các hạt tạo ra chúng Đây là phương pháp mô phỏng gần nhất với bản chất vật lý của đối tượng khói do vậy trong luận văn được lựa chọn làm nền tảng cơ sở cho quá trình mô phỏng khói
Một hệ thống Particle [5] là một tập các thành phần hay các hạt (Particle) riêng biệt Hệ thống Particle điều khiển tập các Particle, cho phép chúng hoạt động một cách
tự động nhưng với một số thuộc tính chung nhất định
Trong thực tại ảo một đối tượng được mô phỏng bởi một hệ Particle mang nhiều đặc điểm khác với các đối tượng 3D bình thường
Một đối tượng 3D bình thường được tạo lên bởi một tập các điểm có quan hệ với nhau, từ đó tạo ra một tập các mặt Trong quá trình vẽ đối tượng cần phải tính toán tập các mặt này Tuy nhiên một hệ Particle tạo bởi một tập các phần tử do đó quá trình xử lý, vẽ cũng hoàn toàn khác
Trang 22 Hệ Particle không phải là thực thể tĩnh mà chuyển động và thay đổi hình dạng theo thời gian Các Particle liên tục "chết đi" và các Particle mới được "sinh ra" trong
hệ thống
Một đối tượng được biểu diễn bằng hệ Particle không được xác định hoàn toàn,
cả về đường nét lẫn hình dạng Thay vào đó, nó được xác định bằng các tiến trình với nhiều tham số ngẫu nhiên Vì thế lần mô phỏng đầu tiên có thể khác lần mô phỏng thứ hai về hình dạng, tuy nhiên vẫn mang các đặc tính chung nhất của đối tượng
Hệ Particle không phải là một giải pháp mới, tối ưu cho mọi bài toán mô phỏng, tuy nhiên đây là một phương pháp kinh điển, là nền tảng phát triển cho các phương pháp khác Hơn 50 năm trước thì những trò chơi đầu tiên trên máy tính cũng đã sử dụng rất nhiều các pixel chuyển động để tạo ra vụ nổ của vũ khí (SpaceWar – 1962, Asteroids –
1978 v.v.) Hệ Particle cũng đã được sử dụng để tạo ra các hiệu ứng 3D trong các bộ phim từ những năm 1980 Alvy Ray Smith và Jim Blinn sử dụng Particle để mô hình hóa việc hình thành và chết đi của các vì sao trong các dải ngân hà trong Cosmos, một seri phim truyền hình về nguồn gốc sự sống và vị trí của trái đất trong vũ trụ được phát hành lần đầu năm 1980 Star Trek II, bộ phim nổi tiếng về đề tài chiến tranh vũ trụ được phát hành năm 1982 cũng sử dụng kĩ thuật Particle để xây dựng hiệu ứng các vụ nổ ngoài vũ trụ Luận văn sẽ đi sâu nghiên cứu rõ hơn kĩ thuật xây dựng một hệ Particle
Trang 23Hình 2.2 Quy trình thực hiện hệ Particle
Một đối tượng được biểu diễn bằng hệ Particle không được xác định hoàn toàn,
cả về đường nét lẫn hình dạng Thay vào đó, nó được xác định bằng các tiến trình với nhiều tham số ngẫu nhiên Vì thế, các lần mô phỏng có thể khác nhau về hình dạng, tuy nhiên vẫn mang các đặc tính chung nhất của đối tượng
Mỗi một Particle được lập trình để thực hiện một tập các lệnh ở mỗi bước Do có tính thủ tục, phương pháp này có thể phối hợp bất cứ mô hình tính toán nào dùng để mô
tả bề ngoài và chuyển động của đối tượng Ví dụ, sự chuyển động và biến đổi của các Particle có thể được gắn vào các phương trình vi phân cục bộ, hay các thuộc tính của Particle có thể được gán vào các cơ chế thống kê xác suất cơ bản
2.1.1 Particle trong mô phỏng khói
Đối với bài toán mô phỏng khói một phần tử trong hệ Particle có các thuộc tính
cơ bản: vị trí sinh ra, số lượng, thời gian sống, vận tốc, màu sắc cho phép mô phỏng một khối khói như hình bên dưới
Hình 2.3 Khói với các tham số cơ bản hệ Particle
Trang 24Áp dụng các thuộc tính về sự khuếch tán và ảnh hưởng của môi trường (ảnh hưởng của gió) ta thu được hình ảnh khói khói tốt hơn trong hình 2.4 bên dưới
Hình 2.4 Khói mô phỏng: (a)Tham số khuếch tán (b) Tham số môi trường
Với tham số khuếch tán: ∆kt⃗⃗⃗ là vector vận tốc thể hiện khả năng khuếch tán của các phần tử Khi đó vận tốc u ⃗⃗⃗ của mỗi hạt ngoài việc phục thuộc vào vận tốc bay lên
∆ y ⃗⃗⃗ theo chiều thẳng đứng còn phụ thuộc vào tham số khuếch tán Với tác động môi trường ∆mt⃗⃗⃗⃗⃗ hình ảnh khối khói được kết xuất được tương đối tốt về mặt động lực của các hạt Để hình ảnh thu được giống hơn với thực tế, các mặt nạ được sử dụng thay thế cho việc kết xuất hình ảnh từ các hạt cơ bản Hình 2.5 là kết quả của khối khói khi sử dụng các mặt nạ khác nhau
Hình 2.5 Khói khi sử dụng mặt nạ
Để khối khói mô phỏng giống với thực tế cần tiến hành xác định va chạm [6] giữa các hạt và giữa các hạt với các đối tượng khác, cần sử dụng các phương pháp phát hiện va chạm trong thực tại ảo [7] Phương pháp sử dụng để phát hiện va chạm trong trường hợp này là sử dụng các khối bao Đối với đối tượng Particle khối bao được sử dụng là khối cầu[8] Đối với các đối tượng khác là các vật thể bị va chạm thì tùy theo hình dạng của vật đó mà quyết định xem sử dụng khối bao nào là hợp lý Hình 2.6 bên dưới là hình ảnh khối khói khi va chạm với một mặt phẳng nằm ngang
Trang 25Hình 2.6 Khói khi có vật cản và va chạm
Quy trình kiểm tra va chạm đồng nghĩa với khối lượng tính toán cũng tăng lên Chất lượng hình ảnh và tương tác khi mô phỏng được nâng cao Tuy nhiên, khối lượng tính toán lớn dẫn đến hệ particle khó mở rộng về số lượng hạt
2.1.2 Particle trong mô phỏng lửa
Lửa là một đối tượng không định hình, tức là nó chưa được định nghĩa một cách
rõ ràng và nó luôn luôn biến đổi theo thời gian Việc sử dụng các phương pháp tổng hợp hình ảnh thông thường để mô phỏng lửa sẽ rất phức tạp Do vậy, để mô phỏng lửa, người
ta thường lựa chọn phương pháp Particle System Để xây dựng hình ảnh cho một particle lửa, chúng ta sẽ sử dụng kĩ thuật alpha channel Đây là một kĩ thuật tạo mặt nạ cho ảnh bipmap trong đồ họa vi tính Đầu vào của quá trình này là một ảnh bipmap gốc ban đầu
và một ảnh bipmap đen trắng dùng để làm alpha channel Thực chất của quá trình này
là thêm vào mỗi pixel ảnh gốc một chỉ số A cho độ trong suốt của pixel đó, ngoài 3 giá trị R, G, B của màu sắc A = 1 tương ứng với điểm màu đen trên alpha channel, khi đó pixel của ảnh gốc sẽ bị mờ hoàn toàn A = 0 tương ứng với điểm màu trắng trên alpha channel, khi đó pixel của ảnh gốc sẽ hoàn toàn không bị mờ Sở dĩ ảnh đen trắng được chọn làm alpha channel bởi vì với loại ảnh này, mỗi pixel có các giá trị R, G, B bằng nhau, do đó ta chỉ cần lựa chọn một trong những chỉ số này để làm chỉ số A của ảnh cần
xử lý
Hình 2.7 Cộng ảnh Alpha Channel vào ảnh để tạo mặt nạ
Trang 26Sau khi thực hiện thuật toán này, ta sẽ có một ảnh mới với màu sắc của ảnh gốc, thêm vào một chỉ số của độ trong suốt cho từng pixel của ảnh alpha channel
Hình ảnh particle lửa ban đầu được xây dựng theo cách này, do đó màu sắc và hình dạng của particle lửa sẽ phụ thuộc vào hai ảnh được chọn làm ảnh gốc và alpha channel Hình ảnh tổng hợp sẽ tham gia vào các chuyển động và biến đổi của riêng từng particle, cho ta cảm giác về màu sắc và độ trong suốt của ngọn lửa
Cũng như một particle tổng quát, particle lửa cũng có những tính chất như sau:
- Vị trí (_position)
- Vận tốc (_velocity)
- Kích thước (_size)
- Thời gian sống (_lifeTime)
- Độ trong suốt (_alpha)
Các thuộc tính này sẽ được truyền vào một giá trị khởi tạo khi chương trình bắt đầu hoạt động Giữa các thuộc tính của particle có những sự ràng buộc nhất định để đảm bảo tính thống nhất giữa hoạt động và hình ảnh của các particle
Particle System mô phỏng ngọn lửa cũng có một số thuộc tính riêng để điều khiển chung cho tất cả các particle lửa:
- Tập hợp particle lửa (fireParticles)
- Vị trí của camera (camera)
là truyền các thông số cần thiết cho particle system hoạt động Các tham số này phải được tính toán và lựa chọn cẩn thận để mang lại hiệu quả mô phỏng tốt nhất Như đã trình bày ở trên, các thông số truyền vào cho từng particle đều được gán ngẫu nhiên quanh một giá trị trung bình và khoảng biến thiên cố định
Cốt lõi của particle system là phương thức điều khiển hoạt động của một particle Trong mô phỏng lửa, phương thức này sẽ quyết định hình dáng, màu sắc và chuyển động chung của ngọn lửa
Trang 27Trong môi trường không trọng lượng, ngọn lửa sẽ có dạng hình cầu Tuy nhiên, khi ở trên mặt đất dưới tác dụng của trọng lực và hiện tượng đối lưu khí quyển, ngọn lửa xuất phát từ một điểm hay một vùng nhỏ sẽ có xu hướng bốc lên cao và bóp vào như
ta thường thấy ở hình ảnh mô phỏng bên dưới
Hình 2.8 Ảnh ngọn lửa được mô phỏng bởi hệ Particle
Để mô phỏng hình dạng của ngọn lửa, vecto vận tốc của particle lửa sẽ được thay đổi hướng liên tục để quĩ đạo particle lửa tạo có hình dạng vòng cung
Hình 2.9 Sự thay đổi hướng của vecto vận tốc
Phương trình sau cho phép thay đổi hướng vận tốc cho particle lửa ở dạng đơn giản:
_velocity.x() -= deltaX;
(1) _velocity.Z() -= deltaZ;
Sau một khoảng thời gian nhất định, thành phần theo trục Ox và Oz sẽ bị trừ đi một lượng deltaX và deltaZ tương ứng Lượng trừ đi sẽ được tính toán sao cho khi hết thời gian sống, vecto chiếu của vecto vận tốc lên mặt phẳng Oxz sẽ cùng phương khác hướng với hình chiếu cũng lên mặt Oxz của vecto vận tốc khởi tạo
Trang 28Phương thức cập nhật trạng thái cho particle là một thủ tục được gọi đi gọi lại trong suốt quá trình hoạt động của particle system Một khi particle hết thời gian sống,
nó được khởi tạo lại để trở thành một particle mới, duy trì sự liên tục của ngọn lửa
2.2 Kỹ thuật phát hiện và xử lý va chạm trong mô phỏng
2.2.1 Các kỹ thuật va chạm
Nói chung sự tương tác giữa các vật xung quanh ta vô cùng phức tạp Nhưng để đơn giản hơn, trong vật lý người ta bỏ qua các tương tác nhỏ không đáng kể Do đó, khi hai vật ở gần nhau, lực tương tác giữa chúng là khá lớn thì ta nói chúng có tương tác với nhau Nếu chúng ở khá xa nhau lực tương tác giảm và nếu lực tương tác giữa các vật quá nhỏ thì ta coi như chúng không còn tương tác nữa Nếu sự tương tác xảy ra giữa các vật trong một khoảng thời gian tương đối ngắn thì ta gọi đó là va chạm Ví dụ: bắn bi,
đá bóng v.v
Va chạm là một hiện tượng thường gặp trong đời sống và trong kỹ thuật Việc
áp dụng các định luật động lực học để giải bài toán va chạm thường gặp nhiều khó khăn
do thời gian va chạm giữa các vật thường rất ngắn (chỉ vào khoảng 10−2 đến 10−5 giây) nên cường độ tác động của các lực lên vật thường rất lớn
Các loại va chạm
Va chạm cũng là một vấn đề khá phức tạp, nhưng trong vật lý người ta phân va chạm ra làm hai loại chính là va chạm đàn hồi và va chạm mềm
Va chạm đàn hồi: là va chạm sau khi tương tác với nhau chúng tách rời nhau (Là
va chạm giữa các vật mà sau khi va chạm cơ năng của hệ được bảo toàn Trong thực tế không có va chạm nào được xem là tuyệt đối đàn hồi Nhưng với những va chạm mà sau khi kết thúc cơ năng của hệ thay đổi rất ít thì ta có thể xem đó là va chạm đàn hồi) Ví dụ va chạm giữa các trái bi trên bàn bi –da
- Trường hợp đặc biệt: va chạm đàn hồi xuyên tâm là va chạm mà trước và sau
va chạm hai vật đều chuyển động trên cùng một đường thẳng
- Phạm vi áp dụng: áp dụng hai định luật bảo toàn là bảo toàn động lượng hoặc bảo toàn cơ năng
Va chạm mềm: là loại va chạm mà sau khi va chạm hai vật dính vào nhau và chuyển động với cùng một vận tốc (Là va chạm xảy ra giữa các vật mà sau khi va chạm
cơ năng của hệ các vật đó không được bảo toàn Một phần cơ năng của hệ được chuyển sang một số dạng năng lượng khác như nhiệt năng, sinh công ) Ví dụ ném một khối đất sét mềm xuống mặt đất, khi va chạm khối đất bẹp xuống, năng lượng sinh ra đã làm biến đổi hình dạng của khối đất
Trang 292.2.2 Kỹ thuật phát hiện va chạm dựa vào hộp bao AABB
Khối bao theo trục AABB (Axis Aligned Bounding Box) [6] là khối bao có dạng hình hộp chữ nhật nhỏ nhất và có các cạnh song song với các trục tọa độ bao lấy đối tượng
Hình 2.10 Hộp bao AABB
Khối bao AABB bao gồm một tâm C, ba hệ số a0, a1, a2 tương ứng theo ba trục tọa độ x, y, z.Trong không gian 3 chiều, một AABB có tâm C và ba hệ số a0, a1, a2 được xác định bởi hai đỉnh có tọa độ lớn nhất (xmax, ymax, zmax) và nhỏ nhất (xmin, ymin, zmin)
Hình 2.11 Xây dựng hộp bao AABB
Trong đó:
xmin = C −a0
2, xmax = C +
a02
(2)
ymin = C −a1
2, ymax = C +
a12
zmin = C −a2
2, zmax = C +
a22