Luận văn Xây dựng chương trình mô phỏng 3D hướng dẫn các kỹ năng xử lý thoát hiểm khi gặp hỏa hoạn trong các trường học

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LUẬN VĂN THẠC SĨ ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG 3D HƯỚNG DẪN CÁC KỸ NĂNG XỬ LÝ THOÁT HIỂM KHI GẶP HỎA HOẠN TRONG CÁC TRƯỜNG HỌC 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 i LỜ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

pdf58 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 336 | Lượt tải: 0download
Tóm tắt tài liệu Luận văn Xây dựng chương trình mô phỏng 3D hướng dẫn các kỹ năng xử lý thoát hiểm khi gặp hỏa hoạn trong các trường học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 ii LỜ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 iii MỤ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 iv 2.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 v DANH 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 vi Hì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 1 LỜ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. 2 CHƯƠ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 3 1.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: 4 Mộ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 5 Tuy 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 6 kế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. 7 Hì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 8 Mộ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. 9 Hì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...đỉnh Vmin là đỉnh có tọa độ nhỏ nhất theo các trục tọa độ (x, y, z). Bước 3: Chọn ra cặp đỉnh Vmax, Vmin sao cho khoảng cách giữa chúng theo các trục tọa độ là lớn nhất. Bước 4: Chọn tâm C của khối cầu là trung điểm của vector Vmax - Vmin Bước 5: Chọn bán kính của khối cầu bằng một nửa độ dài Vmax - Vmin Bước 6: Duyệt tất cả các đỉnh còn lại, gọi d là khoảng cách từ đỉnh đang xét tới tâm của khối cầu. Nếu một đỉnh nào đó nằm ngoài khối cầu thì ta di chuyển tâm C của khối cầu một khoảng (d+r)/2 và chọn bán kính mới của khối cầu là (d+r)/2. Khi đã duyệt tất cả các đỉnh thì chắc chắn rằng khối cầu đã bao tất cả các đỉnh (hay các điểm). Phát hiện va chạm giữa hai khối bao cầu Một khối cầu được xác định bởi tâm và bán kính của nó. Giải quyết vấn đề va chạm giữa 2 khối cầu có vẻ đơn giản hơn. Bằng cách tính khoảng cách giữa 2 tâm của khối cầu, nếu khoảng cách này nhỏ hơn hoặc bằng tổng của 2 bán kính của 2 khối cầu thì 2 khối cầu giao nhau. Hình 2.15. Hai khối cầu xảy ra va chạm 27 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 Có rất nhiều dạng BV phức tạp khác được dùng trong một vài trường hợp đặc biệt. Để tạo ra chúng đòi hỏi rất nhiều các thông số. Tuy nhiên, càng phức tạp thì càng làm giảm được khoảng không gian trống giữa đối tượng và hộp bao. Sự lựa chọn phụ thuộc rất nhiều vào hình dạng của vật thể, chẳng hạn như nếu vật thể có dạng khối dài thì giải pháp có thể chọn là khối bao cầu (bounding sphere) hoặc khối bao trụ (bounding cylinder). Hình 2.16. Hộp bao dạng đa diện lồi Với hộp bao dạng đa diện lồi (k-Dop) [7] ta hạn chế được rất nhiều khoảng không gian trống giữa vật thể và hộp bao. Tuy nhiên, việc tạo ra hộp bao dạng này đôi khi quá phức tạp (phức tạp nhất) và việc thao tác trên chúng mất quá nhiều công đoạn. Nó chỉ được sử dụng đối với các chương trình cần độ chính xác cao. Đối với các chương trình nhỏ yêu cầu tốc độ thì không nên chọn hộp bao dạng này. Thông thường, người ta thường giới hạn số mặt hay số cạnh của đa diện tới một giá trị nào đó (chẳng hạn k = 5, 6, 7) tùy thuộc vào từng ứng dụng cụ thể. Hình 2.17. Minh họa một số hộp bao K-Dop Không gian trống giữa hộp bao và đối tượng càng nhỏ thì độ chính xác càng lớn. Nhưng để đạt độ chính xác cao với K-Dop các đa diện có số mặt rất lớn, Đặc biệt với các vật thể phức tạp việc xây dựng K-Dop dần tiến tới việc xác định va chạm của tất cả các mặt hình thành lên đối tượng 3D. Vì vậy nhược điểm lớn nhất của K-Dop là thuật 28 toán tiến tới vét cạn tất cả các mặt, điều này là không thực tế với một hệ thống mô phỏng đòi ỏh i độ chính xác cao, khi phát hiện va chạm phải trả một chi phí thời gian lớn. Từ những nhược điểm về độ chính xác và thời gian thực thi của các thuật toán xác định va chạm đã được đề xuất, đòi hỏi phải có những nghiên cứu xây dựng các phương pháp va chạm có độ chính xác cao nhưng vẫn đảm bảo thời gian tính toán. Phần tiếp theo của bài báo trình bày các giải pháp đảm bảo mô phỏng các tương tác cơ học tương đối chính xác trong thời gian thực. Như vậy, để giảm khoảng không gian trống thì hộp bao tạo ra và sử dụng càng trở nên phức tạp (xem biểu đồ). Hình 2.18. Độ phức tạp trong tính toán đối với các hộp bao 2.3. Kỹ thuật xây dựng mô hình 3D Tùy theo kĩ thuật và kinh nghiệm làm việc mỗi cá nhân có thể đưa cho mình những phương pháp khác nhau để đi vào thiết kế, hay xây dựng một sản phẩm. Cách mà người ta làm ra nó sẽ ảnh hưởng bởi nhân tố thời gian và lượng chất xám phải đầu tư vào. Để tạo ra cùng 1 sản phẩm sẽ có nhiều con đường cho ta lựa chọn, đi bằng cách nào cho hợp lí, tối ưu nhất, tiết kiệm thời gian và công sức nhất. Tôi xin trình bày 3 phương pháp dưới đây: 2.3.1.Phương pháp thiết kế đi từ tổng thể đến chi tiết Các vật thể hữu hình trong cuộc sống của chúng ta hầu hết được cấu tạo nên từ những hình khối cơ bản, cũng như vậy trong phần mềm mô phỏng 3DS Max đã cung cấp cho chúng ta các hình khối đó để thể hiện các đối tượng trong không gian 3 chiều: khối cầu, khối trụ, khối hộp v.v.. Để vẽ được các dạng khối cơ bản này trên trong phần mềm thiết kế 3Ds Max bảng lệnh Command Panel chọn Creat sau đó chọn Geometry (dạng hình học) phần 29 mềm sẽ xổ xuống cho ta một danh sách các Object Type : Box, Sphere, Cylinder, Torus, Teapot, Cone, Tube, Plane v.v.. Hình 2.19. Một số hình khối 3D cơ bản Bằng việc quan sát vật thể cần mô phỏng hay thiết kế, người thực hiện rút ra cho mình những nhận xét, cấu tạo của vật thể, như mô phỏng chiếc nón lá Việt Nam- nó có dạng hình chóp nhọn thì tại sao ta không dùng luôn chức năng Cone (chóp nhọn) để vẽ, sẽ rất nhanh chóng, tuy nhiên nhiều vật thể khác có thể không đơn giản như vậy, người ta có thể phải sử dụng kết hợp nhiều hình khối, lấy phần giao, phần bù để tạo được vật thể như ý muốn. Từ các hình khối cơ bản đã tạo được như trên, 3DS Max cũng cho chúng ta công cụ để hiệu chỉnh nó. Có 3 công cụ rất hữu ích sau: Select and Move (công cụ di chuyển) Dùng để chọn và di chuyển đối tượng theo trục x, y hoặc z. Khi đã chọn được đối tượng thì giữ trái chuột và rê chuột tới vị trí mới theo trục x, y, z hoặc theo cả 3 hướng. Nếu muốn chính xác thì cần phải gọi hộp thoại Move Thuộc tính không gian Type - In sau đó nhập các giá trị tương ứng. Để hiện hộp thoại này thì click chuột phải ngay trên nút Select and Move. 30 Hình 2.20. Công cụ Select and Move trong thiết kế Select and Rotate (công cụ xoay) Dùng để chọn và xoay đối tượng, thao tác tương tự như với Select and Move. Nếu muốn quay đối tượng với độ chính xác cao thì cần phải gọi hộp thoại Rotate Thuộc tính không gian Type - In bằng cách click phải chuột ngay trên nút Rotate and Move sau đó nhập vào giá trị tương ứng. Select and Uniform Scale (công cụ thu, phóng) Dùng để chọn và thay đổi kích thước đều trên bề mặt của đối tượng hoặc thay đổi kích thước không đều trên bề mặt của đối tượng. Ngoài ra còn có chế độ hiệu chỉnh nâng cao Editable Poly Đây là cách thường dùng để tạo hình trong 3ds max, ngoài Editable Poly bạn còn gặp Editable Mesh, Editable Pactch, NURBS. Để sử dụng được chế độ này bạn cần phải chuyển đổi những hình khối cơ bản trở thành những khối có khả năng chỉnh sửa được. Cách làm: bạn chọn vật thể cần chuyển đổi, click phải chuột chọn Convert To: - > chọn chế độ cần chuyển đổi, ở đây tôi nói đến chế độ Editable Poly, phần mềm sẽ hiện giao diện như sau: 31 Hình 2.21. Chế độ Editable Poly Ở đây có các chế độ hiệu chỉnh cạnh, đường, điểm, mặt, và khối. Kích chọn từng chế độ sẽ xuất hiện một bảng chức năng tương ứng nữa. Bằng cách này bạn có thể co kéo, bóp dãn. Khối cơ bản của chúng ta sẽ như một cục đất nặn mà thành hình hay không là do kĩ năng nhào lặn của mỗi người. Tuy nhiên sẽ vô cùng khó khăn trong việc xác định chiều và quan sát trong không gian 3D. 2.3.2. Phương pháp thiết kế đi từ chi tiết đến tổng thể Ngược lại với phương pháp trên, để bắt tay vào xây dựng vật thể theo phương pháp này ta sẽ phải chuẩn bị ảnh hình chiếu của vật thể thường là hình chiếu mặt trước và hình chiếu mặt trái hoặc hình chiếu mặt phải. Ưu điểm của phương pháp này là độ chính xác cao hơn phương pháp trên, ở trên việc tạo ra vật thể hoàn toàn do khả năng quan sát trong không gian và cảm tính, ướm chừng của người thực hiện. Còn ở phương pháp này ta có thể tạo chính xác hoàn toàn chi tiết khi có cơ sở dữ liệu ảnh đầy đủ, tuy nhiên làm theo phương pháp này cần nhiều thời gian và độ tỉ mỉ hơn. Vì thế tùy theo yêu cầu của sản phẩm mà ta chọn cho mình một phương pháp phù hợp. Ở đây cũng chia làm 2 cách như sau: Cách 1: Tạo hai tấm Plane mặt chiếu đứng và chiếu cạnh, tạo hình khối cơ bản để đối chiếu hiệu chỉnh theo. 32 Hình 2.22. Hai tấm plane chiếu đứng và cạnh (cách 1) Cách 2: Cũng tạo hai tấm Plane mặt chiếu đứng và chiếu cạnh, nhưng thay vào đó không tạo hình khối đối chiếu mà dùng đường Line đồ theo 2 mặt chiếu. Hình 2.23. Hai tấm plance chiếu đứng và cạnh (cách 2) 2.3.3. Phương pháp thiết kế phối hợp Tận dụng hiệu quả của từng phương pháp, cách tốt nhất cho công việc của chúng ta là sử dụng linh hoạt kết hợp các phương pháp. Vì khách quan mà nói mọi vật thể trong cuộc sống đều tương đối phức tạp, bằng khả năng phân tích tốt cùng với sự linh hoạt công việc thiết kế xây dựng của các nhà mô phỏng sẽ được thực hiện dễ dàng và nhanh chóng, hiệu quả hơn. Một số thành phần ta dùng phương pháp hiệu chỉnh từ khối, một số thành phần thì dùng Line vẽ thêm và hiệu chỉnh. 33 Sau khi phân tích đưa ra phương pháp thiết kế mô hình các hiện vật dựa trên các phần mềm 3 chiều. Các ảnh chụp của từng mô hình sẽ được đưa vào trong các phần mềm ba chiều làm mẫu. Sau khi xây dựng toàn bộ các đối tượng, tiếp tục xây dựng không gian 3D ảo và đưa các đối tượng vào trong đó tạo thành một cảnh như cảnh ngoài đời thực. Hình 2.24. Mô hình trường ĐH Hùng Vương góc 1 Hình 2.25. Mô hình trường ĐH Hùng Vương góc 2 34 Hình 2.26. Mô hình trường ĐH Hùng vương góc 3 Hình 2.27. Mô hình phòng học giảng đường trường ĐH Hùng vương 2.4. Kỹ thuật điều khiển nhân vật Có nhiều kỹ thuật được áp dụng trong diễn họa, trong đó tùy theo yêu cầu, mục đích trong quá trình diễn họa sẽ có những kỹ thuật khác nhau được lựa chọn. Dưới đây là một số kỹ thuật phổ dụng thường được sử dụng rộng rãi trong đồ họa mô phỏng và thực tại ảo. 2.4.1. Kỹ thuật điều khiển chuyển động theo đường Path Kỹ thuật này cho phép một hay nhiều đối tượng chuyển động theo một đường đi đã được xác định trước bởi các điểm trong không gian [7] gọi là Path. Theo đó, một 35 đường nối các điểm trong không gian sẽ tạo thành một quỹ đạo. Đối tượng sẽ chuyển động theo quỹ đạo trên đường Path từ điểm đầu tiên liên tiếp tới điểm cuối cùng. Khi tới điểm cuối cùng có ba sự lựa chọn thường thấy: Một là kết thúc quá trình chuyển động của đối tượng tại điểm cuối cùng, hai là đối tượng chuyển động theo chiều ngược lại trên đường Path, ba là chuyển động tiếp tục tới điểm đầu tiên tạo thành một vòng khép kín. Quỹ đạo chuyển động trên đường Path có thể ở hình dạng đường gấp khúc tạo ra bằng cách nối các điểm trên đường Path lại bởi các đường thẳng hoặc ở dạng các đường cong, trong đó dạng đường cong thường được sử dụng hơn do quy đạo chuyển động mềm hơn và không tạo ra các sự thay đổi đột ngột về góc quay của đối tượng. Với dạng đường cong, trên quỹ đạo chuyển động có thể thêm những vị trí đánh dấu đặc biệt để tinh chỉnh quỹ đạo chuyển động của đối tượng. a) Đường Path thẳng b) Đường Path cong Hình 2.28. Đường Path trong điều khiển chuyển động đối tượng Trong quá trình vận động, các tham số chính cần trong điều khiển cần phải thiết đặt gồm vận tốc di chuyển của đối tượng, góc quay của đối tượng tại điểm quay, hướng của đối tượng, tham số xây dựng quỹ đạo với đường Path cong. Với ưu điểm đơn giản, dễ cài đặt (đặc biệt với đường Path tạo bởi các đường thẳng) kỹ thuật sử dụng đường Path thường áp dụng đối với các chuyển động đơn giản có quỹ đạo không đổi, không có thay đổi nội tại bên trong của đối tượng. Đường Path gặp nhiều khó khăn khi điều khiển chuyển động của đối tượng phức tạp, mà ở đó các đối tượng con trong một đối tượng cũng tồn tại chuyển động kết hợp với chuyển động của đối tượng cha tạo thành một chuyển động tổng thể phức tạp. Đồng thời với các chuyển động có tính tương tác cao giữa các thành phần và ảnh hưởng bởi các yếu tố môi trường như trọng lực, va chạm, từ trường v.v.. là những vấn đề mà kỹ thuật đường Path khó mô phỏng được. 2.4.2. Kỹ thuật tạo chuyển động Set Driver Key Đây là kỹ thuật điều khiển chuyển động của một đối tượng bị phụ thuộc vào thuộc tính, chuyển động của một đối tượng khác. Ví dụ như chuyển động của các bánh răng, chuyển động của xích xe và bánh xe, chuyển động của khớp xương khi kết nối với nhau 36 v.v.. Kỹ thuật này cho phép tạo ra mối rằng buộc giữa các thuộc tính chuyển động của các đối tượng với nhau. Khi đó, sử chuyển động của một, một nhóm đối tượng phụ thuộc vào các thuộc tính điều khiển của đối tượng khác. Khi số lượng đối tượng tham gia chuyển động càng nhiều kỹ thuật này càng trên trở lên phức tạp. Đối với các chuyển động tuân theo rằng buộc của vật lý, trong quá trình điều khiển các đối tượng tương tác với nhau thông qua các luật mà chủ yếu là các tương tác về cơ học. Tuy nhiên, để mô phỏng hoàn toàn các tương tác về cơ học là điều tương đối phức tạp, đặc biệt là các tương tác trong đó tồn tại các thuộc tính về đàn hồi. Trên thực tế, các điều khiển Set Driven Key thường xây dựng một tập các thuộc tính phụ thuộc, dựa trên việc thiết đặt giá trị cho các thuộc tính này mà trong quá trình điều khiển tạo ra các rằng buộc về chuyển động khác nhau. Ưu điểm của kỹ thuật này là dễ dàng tạo ra các chuyển động tương đối phức tạp bằng việc thay đổi các giá trị thiết đặt rằng buộc. Đặc biệt trong trường hợp một nhóm đối tượng có chuyển động tương đối giống nhau. Ví dụ như chuyển động của các khớp xương ở đuôi động vật, chuyển động của các toa tàu, chuyển động của các mắt xích v.v.. Tuy nhiên, Set Driven Key gặp nhiều khó khăn trong trường hợp sự chuyển động của một đối tượng có nhiều phương án phụ thuộc và đối tượng khác. Ví dụ như chuyển động của đầu so với thân, ở đó tồn tại những rằng buộc cứng và cả những rằng buộc mềm. Khi thân di chuyển đầu cũng phải di chuyển theo nhưng trong lúc di chuyển phần đầu có thể quay trái, quay phải và làm rất nhiều các tư thế khác nhau tạo ra rất nhiều các hình thái khác nhau. 2.4.3. Kỹ thuật tạo chuyển động KeyFrame Keyframe [2] [11], là kỹ thuật diễn họa sử dụng các điểm đánh dấu để xác định các nhịp chuyển động của đối tượng. Mỗi điểm đánh dấu là một thiết đặt trạng thái của đối tượng. Các điểm đánh dấu được thiết đặt liên tục theo thời gian, sự sắp xếp liên tiếp các trạng thái này tạo ra các dạng chuyển động khác nhau cho đối tượng. Trong hầu hết các phần mềm đồ họa, để xây dựng chuyển động của một đối tượng, Keyframe được coi là phương pháp thể hiện chuyển động một cách phổ biến nhất. Sự thay đổi trạng thái của các đối tượng theo thời gian dựa trên các điểm đánh dấu trong trường hợp số lượng ít sẽ không đủ tạo ra sự chuyển động một cách liên tục. Khi đó giữa hai điểm đánh dấu sẽ được tính toán tạo ra trạng thái chuyển tiếp giữa hai trạng thái kề nhau. 37 Hình 2.29. Chuyển động nhận vật sử dụng keyframe Nhìn một cách khác, kỹ thuật keyframe giống như một dạng kịch bản chuẩn bị trước, ở đó các chuyển động được thiết đặt sẵn và trình diễn khi được gọi tới. Nó cho phép dàn dựng và xây dựng một hình ảnh động bằng cách bố trí các đối tượng tại những vị trí khác nhau và lưu lại những trạng thái ở thời điểm này thành những điểm đánh dấu. Những thời điểm quan trọng trở thành các điểm cố định trong thời gian qua đó đối tượng có khả năng diễn họa chuyển động theo thời gian. Khi số lượng các điểm đánh dấu ít, việc nội suy tính toán các điểm giữa là điều quan trọng cần phải thực hiện. Giả sử ta có hai trạng thái là K1 và K1; t1, t2 lần lượt là thời gian xác định của K1 và K2 (t1<t2) trong toàn bộ quá trình của hành động. Các giá trị K1.value, K2.valude là cấu hình trạng thái của đối tượng tại K1 và K2. Một trạng thái Ktg tại thời điểm t (t1<t<t2) là chuyển tiếp giữa K1 và K2 có cầu hình được xác định bằng nội suy tuyết tính công thức sau: Ktg = K1.value + ((t – t1)/(t2 – t1))*(K2.value – K1.value) (5) Kỹ thuật KeyFrame có điểm tương đồng với kỹ thuật điều khiển theo đường Path. Sự khác nhau nằm ở chỗ mỗi điểm đánh dấu của đường Path chỉ là một điểm trong không gian, trong khi mỗi điểm đánh dấu của KeyFrame là một trạng thái của đối tượng. Cũng giống với điều khiển theo đường Path nội suy tuyến tính tạo trạng thái trung gian sẽ làm mất đi tính liên tục của chuyển động, đặc biệt là tại vị trí các điểm đánh dấu. Để tạo tính liên tục theo thời gian cho các chuyển động, các kỹ thuật tính toán điểm chuyển tiếp ở dạng đường cong cho các cấu hình trạng thái được đề xuất. Có thể nhắc tới một số thuật toán thường được áp dụng như: Hermite, Bezier, Catmull-Rom, Blended parabolas, B-splines, NURBS v.v.. Bên cạnh đó việc chuyển đổi giữa góc Euler và Quaternions tạo ra các ưu điểm trong quá trình nội suy trạng thái giữa. Để tạo ra một giây diễn họa, với kỹ thuật cũ các họa sĩ, nhà thiết kế phải tạo ra nhiều khung hình mô tả các trạng thái liên tiếp nhau. Kỹ thuật KeyFrame với việc áp dụng các kỹ thuật nội suy trạng thái giữa làm quá trình xây dựng một chuyển động trở 38 lên đơn giản hơn do không phải thiết đặt hết tất cả các trạng thái. KeyFrame là một kỹ thuật điều khiễn diễn họa dễ sử dụng, tuy nhiên để chuyển động liên tục và giống thật thì các trạng thái đánh dấu không được cách nhau quá xa. Vì điều đó, kỹ thuật này vẫn đòi ỏh i nhiều chi phí trong quá trình xây dựng chuyển động. 2.4.4. Kỹ thuật FK và IK điều khiển đối tượng có xương Trong thực tế, có nhiều đối tượng có cùng một cấu trúc. Điển hình cho các đối tượng này là con người, các loài động vật. Vì vậy một nhóm các kỹ thuật điều khiển chuyên biệt nhắm tới cáa đối tượng này được hình thành. Qua đó, thay vì điều khiển các phần tách rời của đối tượng, quá trình điều khiển nhắm tới việc điều khiển khung xương bên trong. Việc thay đổi của khung xương dẫn tới sự thay đổi về bề mặt bên ngoài của đối tượng, cũng như tạo ra chuyển động. Một khung xương [11] bao gồm 2 thành phần cơ bản. Đầu tiên là khớp, nơi 2 xương hoặc nhiều xương liên kết với nhau. Khi một xương được gắn với một khớp, hoạt động và chuyển động của xương sẽ được điều khiển bởi chuyển động quay và di chuyển của khớp đó. Thứ hai là xương, phần cứng nối tiếp các khớp. Xương được điều khiển bởi sự di chuyển và quay của khớp. Khung xương của đối tượng thường được cấu trúc bởi một hệ thống phân cấp theo dạng hình cây. Có hai kỹ thuật thường được sử dụng trong điều khiển đối tượng có khung xương là FK (Forward kinematics) [12] và IK (Inverse kinematics) [13]. Với hệ thống xương được phân cấp theo cấu trúc cây, kỹ thuật FK điều khiển toàn bộ hệ thống xương theo trình tự từ gốc tới lá. Ở đó, các thành phần ở mức phân cấp cao (càng gần gốc phân cấp càng cao) được điều khiển trước rồi tới các thành phần ở phân cấp thấp hơn. Khi thành phần ở phân cấp cao thay đổi thuộc tính sẽ ảnh hưởng tương ứng tới các thành phần ở phân cấp thấp là con của nó. Ví dụ việc ứng dụng phương pháp FK trong điều khiển chuyển động của tay người. Trong đó các ngón tay là con của cổ tay, cổ tay là con của khủy tay, khủy tay là con của bả vai. Khi điều khiển chuyển động mọi thay đổi của bả vai sẽ ảnh hưởng tới khủy tay, cổ tay, ngón tay. Mọi thay đổi của khủy tay ảnh hưởng tới cổ tay và ngón tay. Quá trình điều khiển sẽ thay đổi thuộc tính của bả vai rồi tới khủy tay, tới cổ tay và cuối cùng là ngón tay. FK là kỹ thuật điều khiển thuận theo cấu trúc phân cấp của xương, vì vậy tương đối thuận tiện trong quá trình cài đặt. Tuy nhiên, nhược điểm của phương pháp này là việc tạo ra một trạng thái của đối tượng ta phải thay đổi nhiều thuộc tính của các khớp xương đồng nghĩa với việc phải lưu trữ nhiều trạng thái của một đối tượng. Kỹ thuật IK [13] có cách tiếp cận khác so với FK, ở đó hệ thống khớp làm việc như các hệ thống thứ bậc nhưng bao gồm một điểm đầu và một điểm cuối của hệ khớp 39 xương được liên kết với nhau. Các khớp xương trong hệ thống này có quan hệ mật thiết với nhau trong chuyển động và chịu sự điều hướng di chuyển của 2 điểm đầu và cuối của hệ thống xương. Trong kỹ thuật này, vị trí của điểm cuối được xác định trước, tiếp đó cần phải tìm ra các góc độ của các khớp khác trong hệ thống. Như vậy có thể có một hoặc nhiều kết quả ở đó hệ thống xương phân cấp có thể đảm bảo điểm cuối ở đúng vị trí hoặc không có đáp án đúng nào cả. Kỹ thuật IK có hai đầu, một đầu giữ vai trò cố định và một đầu giữ vai trò điều khiển chuyển động. Sự xoay của các khớp xương khác được tính toán tự động bởi một bộ điều khiển IK (IK solver). Khi đã thêm điều khiển IK thì việc tạo chuyển động cho cả đoạn xương chỉ cần tác động vào đỉnh của. Thông thường phải sử dụng nhiều điều khiển IK để tạo chuyển động cho đối tượng, khi đó sự ưu tiên giữa các điều khiển IK dựa theo cấu trúc thứ tự của khung xương. IK mang nhiều ưu điểm cho việc tạo ra số tượng các hành động của đối tượng trong thời gian ngắn. Tuy nhiên, việc xây dựng bộ điều khiển cho IK là tương đối phức tạp. Đặc biệt là đáp án cho một trạng thái đỉnh của IK có thể không chỉ là một trường hợp, vì vậy các trạng thái của các khớp nằm giữa khó kiểm xoát trong trường hợp cần một hành động chính xác. Mỗi kỹ thuật điều khiển đều mang các ưu điểm riêng và nhược điểm riêng. Không có kỹ thuật nào hoàn toàn tốt trong mọi trường hợp. Vì vậy, khi lựa chọn kỹ thuật điều khiển vào ứng dụng cần xem xét đến các đặc điểm của bài toán cần giải quyết. Từ đó, lựa chọn giải pháp hợp lý và tối ưu nhất để giải quyết các vấn đề được đặt ra. 40 CHƯƠNG 3: THỰC NGHIỆM VÀ ỨNG DỤNG 3.1. Yêu cầu thực nghiệm, ứng dụng Vì những nguyên nhân cấp thiết và sự nguy hiểm lớn của hỏa hoàn đế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. Công trình xây dựng có đảm bảo thoát khói hay không? Nếu xảy ra hỏa hoạn thì sau bao lâu người ở trong nhà sẽ hít phải khói độc? Người ở trong nhà có cơ hội nào để thoát hiểm hay không? Giải pháp nào để cải thiện bản thiết kế công trình vừa giữ được hình dáng thiết kế ban đầu nhưng vẫn đảm bảo khả năng thoát khói? Đó là những câu hỏi là nguyên nhân vì sao phải xây dựng chương trình kiểm tra phản ứng của công trình trước hỏa hoạn. Trong nội dung luận văn xây dựng các tính huống cần thiết khi xảy ra hỏa hoạn, từ đó giúp người tham gia có được kiến thức và kỹ năng cơ bản để bảo vệ tính mạng bản thân và thoát hiểm. 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 đã được trình bày trong chương 2 để xây dựng chương trình ứng dụng mô phỏng hỏa hoạn và một số tình huống thoát hiểm. Trong phạm vi luận văn dừng lại ở việc mô phỏng hình ảnh và xây dựng tình huống. Như đã trình bày trong chương 1, việc tạo ra một hệ mô phỏng hoàn toàn chính xác là điều khó khăn, đòi hỏi nhiều nghiên cứu và chi phí cho hệ thống mô phỏng. Vì lý do đó kết quả của chương trình mô phỏng có độ chính xác tương đối. Hình 3.1.Công trình xây dựng đã được mô hình hóa ba chiều 41 Các yêu cầu cơ bản của ứng dụng mô phỏng bảo gồm:  Mô phỏng tổng quan kiến trúc các tòa nhà trường Đại học Hùng Vương.  Mô phỏng chi hệ thống kiến trúc của thư viện trường Đại học Hùng Vương.  Mô phỏng hình ảnh khói, lửa khi xảy ra hỏa hoạn.  Mô phỏng một số tình huống thoát hiểm. 3.2. Phân tích, lựa chọn công cụ Dựa trên những nghiên cứu về các kỹ thuật tạo hiệu ứng khói, lửa, trong luận văn sử dụng phương pháp Particle kết hợp với tính toán va chạm và điều khiển đối tượng trong không gian ba chiều trong mô phỏng hỏa hoạn. Đầu vào của chương trình mô phỏng là thiết kế 3D của công trình là hệ thống kiến trúc của Đại học Hùng Vương và chi tiết là khu thư viện của nhà trường. Khi một công trình xây dựng được tiến hành thường có bản thiết kế chi tiết. Dựa trên bản thiết kế chi tiết này ta thu được một bản thiết kế đã được số hóa. Trên thực tế hiện nay các thiết kế của công trình xây dựng thường được kiến trúc sư thực hiện trên máy tính bởi các phần mềm thiết kế. Từ các thông số chi tiết này dựa trên các phầm mềm thiết kế nhằm mô hình hóa thành các mô hình 3D là đầu vào cho chương trình mô phỏng. Trong nội dung luận văn sửa dụng công cụ 3DsMax cho quá trình mô hình hóa các nội dung kiến trúc cần mô phỏng. Một vấn đề quan trọng khi xây dựng một chương trình mô phỏng chính là nền tảng đồ họa và ngôn ngữ lập trình đồ họa. Trong nội dung luận văn sử dụng ngôn ngữ lập trình Visual C# và nền tảng lập trình đồ họa Unity. Quy trình phát triển trong Unity khá trực quan cho người mới bắt đầu. Một chương trìnhh đồ họa điển hình thường được chia thành nhiều bối cảnh, và mỗi bối cảnh chứa nhiều đối tượng khác nhau trong đó. Mỗi đối tượng trong môi trường ảo lại có một số các kịch bản đi kèm, và những kịch bản này sẽ xác định hành vi và tương tác cho đối tượng đó. Các kịch bản được viết bằng UnityScript có thể là: JavaScript, C#, hoặc Boo. Trong nội dung luận văn, Unity được sử dụng cho các minh họa về lập trình đồ họa 3D. Điều đó sẽ giúp những người nghiên cứu tiếp cận nhanh hơn và có được các sản phẩm ứng dụng một cách nhanh chóng với chất lượng ở mức cao. 3.3. Một số kết quả mô phỏng thực nghiệm 3.3.1. Hình ảnh kiến trúc thư viện Đại học Hùng Vương Hình ảnh khu thư viện của Trường Đại học Hùng Vương sau khi số hóa, và các thông số chi tiết thành các mô hình 3D là đầu vào cho chương trình mô phỏng 42 Hình 3.2.Hình ảnh kiến trúc trong thư viện Nhận xét: Với tham số đầu vào là hình ảnh thư viện dạng 2D thì mô hình sau khi được xây dựng 3D vẫn giữ được màu sắc, hình ảnh, bố cục đạt yêu cầu. 3.3.2. Hình ảnh khói trong quá trình mô phỏng Như đã trình bày ở trên, chương trình mô phỏng với sự điều chỉnh các tham số khác nhau sẽ cho kết quả khác nhau. Dưới đây là hình ảnh mô phỏng khói khi chạy chương trình thu được và ảnh khói tự nhiên. 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 43 Hai hình ảnh khói trong hình trên: Một ảnh được lấy từ cột khói từ một vụ cháy nhà, còn lại là do chương trình mô phỏng tạo ra bằng thuật toán Particle kết hợp xác định va chạm. Nhận xét: Dựa trên những kỹ thuật mô phỏng khói đã được trình bày trong chương 2, trong luận văn sử dụng thuật toán mô phỏng khói và va chạm để xây dựng khói. Các tham số đầu vào sẽ được điều chỉnh để tạo ra đám khói trong công trình khi xảy ra hỏa hoạn (các tham số được mô tả chi tiết trong chương 2 của luận văn). Kết quả đầu ra là hình ảnh thư viện được mô phỏng khi đám khói phát sinh và lan ra các phần của công trình. Như đã trình bày, chương trình này được cài đặt với ngôn ngữ lập trình Visual C# và công cụ hỗ trợ là Unity. Phần thực nghiệm được trình bày sử dụng kiến trúc thư viện. Thư viện đã được mô hình hóa 3D như trình bày phần trước. Trong hình 3.4 hình ảnh khói bay lên cao bao phủ trần ngôi nhà. Hình 3.4. Khói bay lên cao bao phủ bên trong thư viện 3.3.3. Hình ảnh lửa trong quá trình mô phỏng Hình ảnh mô phỏng lửa khi chạy chương trình khi sử dụng các tham số thu được và ảnh lửa tự nhiên. 44 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 Hai hình ảnh khói trong hình trên: Một ảnh được lấy từ việc đốt một đống củi, còn lại là do chương trình mô phỏng tạo ra bằng phương pháp Particle System, để xây dựng hình ảnh cho một Particle lửa sử dụng kỹ thuật alpha channel. Nhận xét: Dựa trên kỹ thuật mô phỏng lửa đã được trình bày trong chương 2, Các tham số đầu vào sẽ được điều chỉnh để tạo ra lửa trong công trình khi xảy ra hỏa hoạn. Kết quả đầu ra là hình ảnh thư viện được mô phỏng khi đám cháy lan ra các phần của công trình. Chương trình này được cài đặt với ngôn ngữ lập trình Visual C# và công cụ hỗ trợ là Unity. Phần thực nghiệm được trình bày tại phòng đọc sách thư viện. Với ngọn lửa bốc cháy lên cao bám vào bờ tường, bàn ghế, các vật dụng dễ cháy. Phần mô phỏng đã đảm bảo được ngọn lửa cháy tại các vị trí khác nhau với các tham số đầu vào khác nhau sẽ có hình dạng khác nhau. 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 45 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 Tham số Giá trị Max Particles 1000 Thời gian sống (_lifeTime) 1,3 – 1,5 Kích thước (_size) 2,4 - 3 3.3.4. Mô phỏng di chuyển, các tình huống khi sảy ra va chạm Hình 3.8. Các điểm va chạm Trigger tương ứng câu hỏi thoát hiểm 46 Hình ảnh các điểm Trigger: Là các điểm va chạm và tại đó sử dụng các thuật toán va chạm biết được khi nào đến điểm đó và đưa ra các câu hỏi tương ứng. Các đường di chuyển áp dụng kỹ thuật điều khiển chuyển động theo đường Path cong để kết nối các điểm Trigger tao đường di chuyển cho nhân vật. Hình 3.9. Hình ảnh đường Path và các điểm va chạm Trigger Nhận xét: Nhân vật sẽ di chuyển từ điểm va chạm Trigger 1 qua đường Path đến các điểm va chạm tiếp theo đồng thời quan sát các mô phỏng khói, lửa xung quanh thông qua các camera trên nhân vật từ đó đưa ra các lựa chọn tốt nhất tại các điểm va chạm để đến được đích là cầu thang bộ. 3.3.5. Một số hình ảnh mô phỏng tình huống trong chương trình 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 47 Hình 3.11.Tình huống phát hiện đám cháy ngoài tầm kiểm soát 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 48 Hình 3.13.Tình huống lựa chọn thang máy cho quá trình thoát hiểm Hình 3.14.Thành công thoát hiểm 3.3.6. Kết quả chương trình, đánh giá hiệu quả Dựa trên các kỹ thuật mô phỏng khói, lửa các kỹ thuật va chạm và chuyển động trong chương 2, trong luận văn đã sử dụng thuật toán mô phỏng khói, lửa dựa trên kỹ thuật Particle, các kỹ thuật va chạm và chuyển động để xây dựng chương trình hướng 49 dẫn các kỹ năng thoát hiểm trong các trường học. Chương trình xây dựng với mục tiêu giúp các thầy cô và các em học sinh có được những kỹ năng cơ bản nhất khi xảy ra hỏa hoạn. Với đầu vào là mô hình 3D tòa nhà Trường Đại học Hùng Vương và khu vực Thư viện là địa điểm thực nghiệm. Các tham số đầu vào sẽ được điều chỉnh để tạo ra đám khói, cháy khi xảy ra hỏa hoan. Kết quả đầu ra là hình ảnh công trình được mô phỏng khi đám cháy, khói phát sinh đồng thời đối tượng chuyển động theo hướng dẫn thoát hiểm thành công. Như đã trình bày, ph

Các file đính kèm theo tài liệu này:

  • pdfluan_van_xay_dung_chuong_trinh_mo_phong_3d_huong_dan_cac_ky.pdf
Tài liệu liên quan