ĐẠ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
58 trang |
Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 431 | Lượt tải: 0
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:
- luan_van_xay_dung_chuong_trinh_mo_phong_3d_huong_dan_cac_ky.pdf