Luận văn Nghiên cứu kỹ thuật tạo bóng bề mặt của vật thể và ứng dụng

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ PHƯƠNG NGA NGHIÊN CỨU KỸ THUẬT TẠO BÓNG BỀ MẶT CỦA VẬT THỂ VÀ ỨNG DỤNG Ngành: Khoa học máy tính. Mã số: 8 48 01 01. LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS. Vũ Đức Thái Thái Nguyên năm 2020 i LỜI CAM ĐOAN Tên tôi là: Phạm Thị Phương Nga Sinh ngày: 08/10/1979 Học viên lớp cao học CHK17A - Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học T

pdf66 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 Nghiên cứu kỹ thuật tạo bóng bề mặt của vật thể và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Thái Nguyên. Hiện đang công tác tại: Trường THCS Quang Sơn - Đồng Hỷ - tỉnh Thái Nguyên. Xin cam đoan: Đề tài “ Nghiên cứu kỹ thuật tạo bóng bề mặt của vật thể và ứng dụng”, do TS. Vũ Đức Thái hướng dẫn là công trình nghiên cứu của riêng tôi. Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng. Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn. Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật. Thái Nguyên, ngày 17 tháng 09 năm 2020 Tác giả luận văn Phạm Thị Phương Nga ii LỜI CẢM ƠN Tôi xin chân thành cảm ơn TS. Vũ Đức Thái, là thầy giáo trực tiếp hướng dẫn khoa học cho tôi trong quá trình thực hiện luận văn này. Tôi xin chân thành cảm ơn các Thầy, Cô giáo, cán bộ trong trường Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên cùng các anh chị đồng nghiệp trong cơ quan đã tạo những điều kiện thuận lợi cho tôi học tập và nghiên cứu hoàn thành chương trình học tập và thực hiện luận văn tốt nghiệp Tôi xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học Khoa học máy tính CK -17A, trường Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên đã luôn động viên, giúp đỡ và nhiệt tình chia sẻ với tôi những kinh nghiệm học tập, công tác trong suốt khoá học. Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình, bạn bè, những người thân luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện luận văn tốt nghiệp. Mặc dù rất cố gắng, song luận văn này không thể tránh khỏi những thiếu sót, kính mong được sự chỉ dẫn của các quý thầy cô và các bạn. Thái Nguyên, ngày 17 tháng 9 năm 2020 Học viên Phạm Thị Phương Nga 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......................................................................................iv MỞ ĐẦU ........................................................................................................ 1 1. Lý do chọn đề tài ........................................................................................ 1 2. Mục tiêu ...................................................................................................... 4 3. Đối tượng và phạm vi nghiên cứu của đề tài .............................................. 4 Chương 1. TỔNG QUAN VỀ MÔ PHỎNG VÀ BÀI TOÁN HIỂN THỊ MÔ HÌNH BÓNG BỀ MẶT ......................................................................... 5 1.1. Tổng quan về thực tại ảo .......................................................................... 5 1.1.1.Thực tại ảo là gì ..................................................................................... 5 1.1.2. Lịch sử phát triển của thực tại ảo ...................................................................... 5 1.1.3 .Ứng dụng của thực tại ảo .................................................................................. 6 1.2. Mô hình 3D trong thực tại ảo ................................................................... 6 1.3. Vai trò của việc mô phỏng không gian 3D ............................................ 10 1.4. Mô hình hóa mô hình 3D ....................................................................... 11 1.4.1. Hệ trục tọa độ...................................................................................... 12 1.4.2. Kỹ thuật hiển thị mô hình Bump Mapping. ........................................ 13 1.4.3. Kỹ thuật xử lý ảnh hoa văn ................................................................. 19 1.4.4. Kỹ thuật Ánh xạ bề mặt chạm nổi. .................................................................. 20 1.4.5. Kỹ thuật sử dụng môi trường ánh xạ bump mapping ..................................... 20 Chương 2. MỘT SỐ KỸ THUẬT HIỂN THỊ BỀ MẶT CỦA VẬT THỂ 3D ................................................................................................................. 22 2.1. Kỹ thuật chiếu sáng ............................................................................... 22 2.2. Hiệu ứng ánh sáng ................................................................................. 24 2.2.1.Các hiệu ứng ánh sáng ..................................................................................... 24 2.3.Thuật toán chiếu sáng toàn cục ............................................................... 28 2.3.1.Một số thuật toán chiếu sáng toàn cục ............................................................. 28 2.4.Kỹ thuật chiếu sáng cục bộ ..................................................................... 32 Chương 3. MÔ PHỎNG TÁC ĐỘNG ÁNH SÁNG LÊN BỀ MẶT VẬT THỂ .............................................................................................................. 44 3.1. Phân tích các yêu cầu hệ thống .............................................................. 44 3.2. Phân tích chi tiết .................................................................................... 45 3.2.1. Phân tích hình ảnh .............................................................................. 45 3.2.2. Phân tích chức năng người dùng ......................................................... 46 3.2.3.Phân tích các yêu cầu biểu diễn ........................................................... 47 3.3 . Thiết kế các thuật toán .......................................................................... 49 3.3.1.Thuật toán xác định hướng ánh sáng trong môi trường ....................... 49 3.3.2. Thuật toán tính toán tương tác giữa các vật thể khi xoay.................... 50 3.4. Thiết kế giao diện .................................................................................. 51 KẾT LUẬN.................................................................................................. 57 TÀI LIỆU THAM KHẢO .......................................................................... 58 PHỤ LỤC iv DANH MỤC HÌNH ẢNH Hình 1.1. Một hình ảnh kết quả thực nghiệm ................................................. 10 Hình 1.2. Hệ trục tọa độ Trục ......................................................................... 12 Hình 1.3. Bề mặt đá tại nhà thờ đá Phát Diệm ................................................ 14 Hình 1.4. Cây đổ bóng .................................................................................... 15 Hình 1.5. Không gian tiếp tuyến ..................................................................... 17 Hình 1.6. Sự phản xạ của tia sáng trên bề mặt ............................................... 18 Hình 2.1. Nguyên tắc đặt đèn trong trưng bày ................................................ 23 Hình 2.2. Minh họa quá trình sinh và dò tia của ray tracing .......................... 29 Hình 2.3. Các bước xử lý trong giải thuật Ray tracing ................................... 30 Hình 2.4. So sánh giữa Scan line và ray tracing ............................................. 31 Hình 2.5. Chiếu sáng bằng photon mapping ................................................... 32 Hình 2.6. Các bước xử lý trong giải thuật Scan line. ...................................... 33 Hình 2.7. MAX cung cấp ba loại điều chỉnh điểm chốt ................................ 38 Hình 2.8. Use Selection Center (tâm của tập chọn) ....................................... 39 Hình 2.9. Transform Coordinate Center (tâm của hệ tọa độ phép biến đổi) .. 39 Hình 2.10. Trước khi Occlusion Culling. ....................................................... 40 Hình 2.11. Dung lượng phát triển bóng Culling. ........................................... 42 Hình 2.12. Một ảnh hoa văn phức tạp ............................................................. 43 Hình 3.1. Một số vật thể trưng bày ................................................................. 45 Hình 3.2. Bề mặt vật thể trong suốt ................................................................ 46 Hình 3.3. So sánh ảnh bị nhiễu sáng và đã chỉnh sửa ..................................... 46 Hình 3.4. Biểu đồ Use case ............................................................................. 47 Hình 3.5. Sơ đồ phân tích ............................................................................. 48 Hình 3.6. Mô hình thuật toán xác định hướng ánh sáng trong môi trường .... 49 Hình 3.7. Sơ đồ khối của phương pháp tích phân số hỗn hợp ........................ 51 Hình 3.8. Biểu diễn hiện vật Trống với hướng chiếu sáng từ trên xuống ...... 53 Hình 3.9. Biểu diễn hiện vật Bình với hướng chiếu sáng từ trên xuống ........ 54 Hình 4.0. Biểu diễn hiện vật Cồng với hướng chiếu sáng từ trên xuống ...... 55 Hình 4.1. Biểu diễn hiện vật Giỏ với hướng chiếu sáng từ trên xuống ......... 56 1 MỞ ĐẦU 1. Lý do chọn đề tài Trưng bày ảo là một lĩnh vực đã và được ứng dụng trong giải quyết nhiều vấn đề của đời sống thực tế. Trong bảo tàng, trưng bày ảo được ứng dụng để tạo ra các phòng trưng bày ảo, qua đó khách tham quan có thể đến bảo tàng, xem và hiểu biết thông tin về các hiện vật, v.v. của bảo tàng mà không cần đến tận nơi. Trong thương mại, đặc biệt là thương mại điện tử, trưng bày ảo là nơi cho phép các nhà sản xuất, nhà kinh doanh, v.v. giới thiệu quảng bá sản phẩm của mình đến người tiêu dùng một cách đầy đủ và chính xác. Trong lĩnh vực văn hóa nghệ thuật, trưng bày ảo chính là một công cụ hữu hiệu để các nghệ sỹ giới thiệu và quảng bá sản phẩm tinh thần của mình đến với độc giả. Trong hầu hết các lĩnh vực của thực tế chúng ta đều có thể tìm thấy một vấn đề có thể ứng dụng, sử dụng trưng bày ảo như là một công cụ trực tiếp hoặc gián tiếp để giải quyết vấn đề đó. Thời gian gần đây với sự phát triền mạnh mẽ của các công nghệ Thực tại ảo, Thực tại ảo trộn, Thực tại tăng cường, đã tạo một khả năng phát triển mạnh mẽ cho việc phát triển và ứng dụng của trưng bày ảo. Với sự hỗ trợ của các công nghệ mới này, người ta có thể đưa những hiện vật ảo ra ngoài không gian thực để người tham quan có thể xem thậm chí là tương tác và sử dụng hiện vật ảo đó như thật. Qua đó, giải quyết được nhiều vấn đề như: thiếu hiện vật, bảo quản hiện vật trong bảo tàng hoặc các vấn đề về kinh tế (chi phí làm sản phẩm mẫu) trong thương mại. Để xây dựng các ứng dụng thực tế sử dụng công nghệ trưng bày ảo có rất nhiều vấn đề được đặt ra cần nghiên cứu và giả quyết ví dụ như: vấn đề về xây dựng và tối ưu hóa mô hình để có thể sử dụng được, vấn đề về quản lý thông tin bao gồm cả các thông tin về vị trí trưng bày của từng hiện vật, vấn đề về tính toán va chạm gi ữa hiện vật ảo với môi trường thật, v.v. Vấn đề quan trọng nhất trong các ứng dụng đồ họa ba chiều thời gian thực nói chung và trong các ứng dụng trưng bày ảo nói riêng là tạo ra những hình ảnh chân thật. Để có được những hình ảnh như vậy điều quan trọng là tính toán được 2 các tác động của môi trường lên biểu diễn bề mặt đối tượng. Các tác động của môi trường lên bề mặt đối tượng có thể phân thành hai loại chính: một là các tác động không làm thay đổi bản chất bề mặt của đối tượng mà chỉ làm thay đổi hình ảnh từ người quan sát; hai là các tác động làm thay đổi kết cấu, tính chất, đặc điểm bề mặt thậm chí là đặc điểm hình học của đối tượng. Với loại thứ nhất, thể hiện các tác động làm thay đổi hình ảnh quan sát của đối tượng. Việc tính toán các tác động này về bản chất, chính là quá trình kết xuất ảnh hai chiều từ đối tượng, góc quan sát và các điều kiện môi trường, toàn bộ quá trình này được gọi là (Rendering) [7, 22]. Trong Rendering ngoài yếu tố nội tại của đối tượng, ánh sáng là yếu tố quan trọng và có ảnh hưởng nhiều đến việc biểu diễn bề mặt đối tượng, đây là yếu tố mà mọi ứng dụng ba chiều đều không thể bỏ qua. Việc tính toán ảnh hưởng của ánh sáng lên biểu diễn bề mặt đối tượng được thể hiện thông qua hai hiệu ứng chính đó là hiệu ứng bóng bề mặt (Shading) và hiệu ứng bóng đổ (Shadow). Nghiên cứu về bóng bề mặt là các nghiên cứu cơ bản và quan trọng trong đồ họa ba chiều thời gian thực. Có nhiều kỹ thuật tô bóng đã được đề xuất và đang được sử dụng rộng rãi hiện nay có thể kể đến như kỹ thuật tô bóng Gouraud [7] được đề xuất năm 1971 đây chính là kỹ thuật nền tảng cho mọi kỹ thuật tiếp theo; kỹ thuật tô bóng Phong [12] và Phong Blinn [2] là hai kỹ thuật được cài đặt và sử dụng rộng rãi nhất hiện nay. Ngoài các kỹ thuật trên hiện nay các kỹ thuật sử dụng bản đồ phụ trợ như Normal Mapping, Parallax Mapping, Displacement Mapping [5, 16, 18] nhằm làm tăng độ chi tiết của bề mặt đối tượng nhưng không làm thay đổi số lượng đa giác biểu diễn cũng đang được sử dụng rộng rãi. Vấn đề tô bóng là vấn đề kinh điển và đã được nghiên cứu từ rất lâu tuy nhiên do phải đáp ứng yêu cầu thời gian thực nên việc tô bóng cho các đối tượng như như lông, tóc, khói, mây, các đối tượng lỏng, v.v. hoặc việc thể hiện các hiệu ứng gương, khúc xạ, thấu kính, v.v. là những vấn đề khó và tiếp tục được nghiên cứu. Các công trình nghiên cứu tiêu biểu có thể xem trong các tài liệu tham khảo [9, 10, 11, 14, 20] . 3 Một trong những vấn đề quan trọng cần nghiên cứu để xây dựng các ứng dụng trưng bày ảo đó là ảnh hưởng của môi trường đến biểu diễn bề mặt đối tượng đặc biệt là ảnh hưởng của ánh sáng thông qua các nguồn sáng đến biểu diễn bề mặt đối tượng. Ảnh hưởng của nguồn sáng lên biển diễn bề mặt đối tượng như đã biết gồm hai phần chính do là ảnh hưởng đến việc hiển thị đối tượng và ảnh hưởng thứ hai là làm thay đổi bề mặt đối tượng. Ảnh hưởng của nguồn sáng lên hiển thị đối tượng thông qua chiếu sáng là việc không thể thiếu được vì phải có chiếu sáng thì mời có đồ họa ba chiều và trưng bày ảo đồng thời trưng bày ảo có một số đặc điểm riêng biệt của nó vì vậy nghiên cứu về chiếu sáng và chiếu sáng trong trưng bày ảo là một vấn đề cần thiết. Trên thực tế các đối tượng thay đổi theo thời gian do đó nghiên cứu ảnh hưởng của nguồn sáng và các điều kiện môi trường đến bề mặt đối tượng không chỉ có tác đụng làm tăng chất lượng hình ảnh của ứng dụng trưng bày ảo mà các kết quả nghiên cứu này còn có thể sử dụng làm công cụ để trợ giúp cho việc trưng bày đối tượng thực làm để cho chúng ít bị thay đổi, phá hủy theo thời gian dưới sự tác động của ánh sáng và môi trường. Nhận biết được sự quan trọng đó, với mục đích mô phỏng được sự ảnh hưởng của các nguồn sáng vào biểu diễn bề mặt của đối tượng ba chiều trên cơ sở đó phát triển hệ thống trưng bày ảo các hiện vật ảo ba chiều. Mục tiêu cụ thể là nghiên cứu các kỹ thuật chiếu sáng và hiệu ứng bóng bề mặt của vật thể trưng bày trong không gian ba chiều Tôi đã lựa chọn đề tài:” Nghiên cứu kỹ thuật tạo bóng bề mặt của vật thể và ứng dụng”. Đề tài nghiên cứu các thuật toán để cài đặt mô phỏng cho một số hiện vật trong Nhà bảo tàng văn hóa các dân tộc Việt Nam tại thành phố Thái Nguyên. Ứng dụng kết quả đã nghiên cứu vào xây dựng một phần mềm trưng bày ảo cho một số hiện vật tại Bảo tàng Văn hóa các dân tộc Việt Nam tại TP Thái Nguyên với các lý thuyết phân tích về tác động của môi trường lên hiện vật. 4 2. Mục tiêu - Nghiên cứu các thuật toán đã và đang được vận dụng tại Việt Nam và thế giới để khái quát hóa lựa chọn công cụ phù hợp nhất cho việc cài đặt. - Lựa chọn các vật thể và không gian thích hợp để phân tích các hình ảnh thực tiễn làm cơ sở đối chứng cho kết quả cài đặt - Đánh giá rút kinh nghiệm về thuật toán để có thể cải tiến việc mô phỏng tốt hơn. 3. Đối tượng và phạm vi nghiên cứu của đề tài + Đối tượng nghiên cứu:  Đối tượng nghiên cứu là các kỹ thuật chiếu sáng, các kỹ thuật biểu diễn sự biến đổi của đối tượng dưới sự tác động của ánh sáng và điều kiện môi trường trong lĩnh vực thực tại ảo và đồ họa ba chiều. + Phạm vi nghiên cứu:  Tập trung nghiên cứu các kỹ thuật tính toán bản đồ chiếu sáng và ứng dụng kết hợp bản đồ chiếu sáng cho các ứng dụng trưng bày ảo. Ảnh hưởng của ánh sáng lên sự biến đổi bề mặt một số loại chất liệu phổ biến trong lĩnh vực trưng bày ảo. 5 Chương 1 TỔNG QUAN VỀ MÔ PHỎNG VÀ BÀI TOÁN HIỂN THỊ MÔ HÌNH BÓNG BỀ MẶT 1.1. Tổng quan về thực tại ảo 1.1.1.Thực tại ảo là gì Thực tại ảo (Virtual reality- VR) là một hệ thống mô phỏng trong đó đồ họa máy tính được sử dụng để tạo ra một thế giới "như thật". Hơn nữa, thế giới "nhân tạo" này không tĩnh tại, mà lại phản ứng, thay đổi theo ý muốn (tín hiệu vào) của người sử dụng (nhờ hành động, lời nói,..). Điều này xác định một đặc tính chính của VR, đó là tương tác thời gian thực. Thời gian thực ở đây có nghĩa là máy tính có khả năng nhận biết được tín hiệu vào của người sử dụng và thay đổi ngay lập tức thế giới ảo. Người sử dụng nhìn thấy sự vật thay đổi trên màn hình ngay theo ý muốn và bị thu hút bởi sự mô phỏng này. Tương tác và khả năng thu hút của VR góp phần lớn vào cảm giác đắm chìm, cảm giác trở thành một phần của hành động trên màn hình mà người sử dụng đang trải nghiệm. Nhưng VR còn đẩy cảm giác này "thật" hơn nữa nhờ tác động lên tất cả các kênh cảm giác của con người. Trong thực tế, người dùng không những nhìn thấy đối tượng đồ họa 3D nổi, điều khiển (xoay, di chuyển,..) được đối tượng trên màn hình (như trong game), mà còn sờ và cảm thấy chúng như có thật. Ngoài khả năng nhìn (thị giác), nghe (thính giác), sờ (xúc giác), các nhà nghiên cứu cũng đã nghiên cứu để tạo các cảm giác khác như ngửi (khứu giác), nếm (vị giác). Tuy nhiên hiện nay trong VR các cảm giác này cũng ít được sử dụng đến. Như vậy: “Thực tại ảo là công nghệ sử dụng các kỹ thuật mô hình hoá không gian ba chiều với sự hỗ trợ của các thiết bị đa phương tiện hiện đại để xây dựng một thế giới mô phỏng bằng máy tính”, [3,4,6,7,8] 1.1.2. Lịch sử phát triển của thực tại ảo Thực tại ảo là một thuật ngữ mới xuất hiện khoảng đầu thập kỷ 90, nhưng ở Mỹ và châu Âu VR đã và đang trở thành một công nghệ mũi nhọn nhờ khả năng ứng dụng rộng rãi trong mọi lĩnh vực (nghiên cứu và công nghiệp, giáo dục và đào tạo cũng như thương mại, giải trí,) tiềm năng kinh tế cũng như tính lưỡng dụng 6 (trong dân dụng, quân sự) của nó. VR không phải là một phát minh mới, mà ngay từ năm 1962 Morton Heilig (Mỹ) đã phát minh ra thiết bị mô phỏng SENSORAMA. Tuy nhiên cũng như nhiều ngành công nghệ khác, VR chỉ thực sự được phát triển ứng dụng rộng rãi trong những năm gần đây nhờ vào sự phát triển của tin học (phần mềm) và máy tính (phần cứng). Thuật ngữ “virtual reality – thực tại ảo được đưa ra bởi Jaron Lanier (người sáng lập công ty VPL Research, tại Redwood – California, một trong những công ty đầu tiên cung cấp các sản phẩm cho môi trường ảo). Sự hình dung liên quan đến các tác động đầu ra mà máy tính tạo ra về thị giác, thính giác hay các giác quan khác khi người sử dụng tương tác với thế giới bên trong máy tính. Thế giới này có thể là các mô hình được thiết kế với sự trợ giúp của máy tính, là sự mô phỏng hay là cách nhìn nhận một cơ sở dữ liệu. Hệ thống có thể có tính động, các mô phỏng vật lý hay các hoạt cảnh. 1.1.3 .Ứng dụng của thực tại ảo Tại các nước phát triển, chúng ta có thể nhận thấy VR được ứng dụng trong mọi lĩnh vực: Khoa học kỹ thuật, kiến trúc, quân sự, giải trí, du lịch,... và đáp ứng mọi nhu cầu: Nghiên cứu- Giáo dục- Thương mại-dịch vụ. Y học, du lịch là lĩnh vực ứng dụng truyền thống của VR. Bên cạnh đó VR cũng được ứng dụng trong giáo dục, nghệ thuật, giải trí, du lịch ảo (Virtual Tour), bất động sản... Trong lĩnh vực quân sự, VR cũng được ứng dụng rất nhiều ở các nước phát triển. Bên cạnh các ứng dụng truyền thống ở trên, cũng có một số ứng dụng mới nổi lên trong thời gian gần đây của VR như: VR ứng dụng trong sản xuất, VR ứng dụng trong ngành rôbốt, VR ứng dụng trong hiển thị thông tin (thăm dò dầu mỏ, hiển thị thông tin khối, ứng dụng cho ngành du lịch, ứng dụng cho thị trường bất động sản....) VR có tiềm năng ứng dụng vô cùng lớn. Có thể nói tóm lại một điều: Mọi lĩnh vực "có thật " trong cuộc sống đều có thể ứng dụng "thực tế ảo" để nghiên cứu và phát triển hoàn thiện hơn [1]. 1.2. Mô hình 3D trong thực tại ảo Mô hình 3D hiện đang ngày càng phổ biến và sử dụng rộng rãi trong các ứng dụng mô phỏng, thực tại ảo. Ta thấy, với các khoảng cách khác nhau trong khi quan sát chúng ta sẽ thấy các độ chi tiết khác nhau của mô hình. Điều này có nghĩa các mô hình ở gần sẽ rất chi tiết trong khi các mô hình càng ở xa sẽ càng mờ. Để tối ưu 7 tính toán chúng ta thường phải có sẵn các mô hình 3D với các mức độ chi tiết khác nhau. Khi biểu diễn vật ở mỗi khoảng cách nhất định chương trình sẽ gọi và sử dụng mô hình với độ chi tiết tương ứng, kỹ thuật này trong thực tại ảo gọi là LOD (Level Of Detail) . Kỹ thuật này đã được F. Biljecki , H. Ledoux và J. Stoter trình bày để biểu diễn các mô hình 3D các tòa nhà năm 2016 [15], Như vậy, mỗi mô hình 3D phải thiết kế lại nhiều lần với độ chi tiết khác nhau. Điều này dẫn tới thời gian và chi phí tạo ra mô hình ra tăng và đồng nghĩa với tổng chi phí cho một hệ thống trưng bày ảo là lớn. Để giảm chi phí khi xây dựng mô hình cần áp dụng các chiến lược tự động tối ưu mô hình dựa trên khoảng cách quan sát ngay khi chương trình đang chạy. Quá trình tối ưu này gọi là LOD tự động. Trong đó, độ chi tiết của mô hình được tự động tính toán dựa trên khoảng cách của nó tới vị trí quan sát. Có ba phương pháp chính để tạo ra mô hình 3D: Một là sử dụng các phần mềm thiết kế 3D tạo ra thư viện mô hình (do các nhà thiết tạo ra). Hai là sử dụng các lệnh trong ngôn ngữ lập trình để vẽ ra các mô hình. Ba là sử dụng các thiết bị máy quét 3D tạo mô hình từ vật thể thực. Phương pháp dùng lệnh rất vất vả tốn kém và hầu như không còn được sử dụng nữa. Phương pháp sử dụng các thiết bị phần cứng là máy quét để tạo mô hình 3D mang nhiều ưu điểm như thời gian tạo ra một mô hình ngắn, độ chính xác cao, tính ổn định, chi phí rẻ v.v.. Tuy nhiên, mô hình tạo ra từ máy quét có một nhược điểm chính là số lượng lưới lớn. Do đó, trên thực tế đa phần các chương trình mô phỏng thực tại ảo thường sử dụng các mô hình sinh ra từ phần mềm thiết kế 3D. Khi xây dựng ứng dụng, chúng ta cần giải pháp tiết kiệm các chi phí khi xây dựng mô hình. Ý tưởng của giải pháp chúng ta chỉ thiết kế mô hình 3D của đối tượng một lần duy nhất còn các cấp độ giảm lưới sẽ tự động tạo ra mô hình mới tương ứng. Đầu tiên, ta phải xây dựng các mô hình hiện vật 3D ở mức độ chi tiết nhất. Sau đó dựa vào khoảng cách từ mắt người tham quan ảo đến vị trí của hiện vật 3D sẽ tiến hành rút gọn bề mặt lưới của mô hình đó. Quy luật là khoảng cách càng xa thì lưới của mô hình đó càng giảm. Chúng tôi chia độ chi tiết của mô hình thành bốn mức từ LOD1 tới LOD4. Trong đó, lưới mức độ một (LOD1) ở trong khoảng cách gần nhất với mức mô tả chi tiết nhất, và lưới cấp độ bốn (LOD4) ở khoảng cách xa nhất. 8 Quá trình chuyển từ LOD1 sang thấp hơn là quá trình rút gọn lưới của các mô hình trong cảnh của bảo tàng mà chúng tôi mong muốn [2]. Số lưới của mô hình cấp độ LOD2 bằng khoảng 50% số lưới của mô hình cấp độ LOD1, tương tự ta quy định số lưới LOD3 bằng khoảng 25% số lưới LOD1, và số lưới LOD4 bằng khoảng 12,5% số lưới LOD1. Với việc giảm lưới này thì các mô hình sẽ bị biến dạng và đôi khi sẽ không còn là chính mô hình đó mà biến thành một mô hình khác và điều này không chấp nhận được. Do đó, chúng ta cần một thuật toán rút gọn lưới hợp lý sao cho khi chúng ta giảm lưới ở các cấp độ khác nhau thì việc mô hình bị biến dạng là thấp nhất. Trong các phần tiếp theo của bài báo chúng tôi trình bày kỹ thuật tối ưu lưới và kết quả sau quá trình cài đặt ứng dụng trong bài toàn trưng bày ảo. Có hai dạng bài toán tối ưu mô hình 3D thường được nhắc đến trong lĩnh vực mô phỏng 3D với đầu vào và đầu ra cùng là mô hình 3D nhưng mang những đặc điểm khác nhau giữa mô hình trước tối ưu và sau tối ưu. Thứ nhất, là tối ưu về mặt hình ảnh. Ở đó, với đầu vào là một mô hình 3D đã được thiết kế hoặc thu từ máy quét người xử lý cần nâng cao chất lượng hình ảnh của mô hình. Khi đó chúng ta cần chú ý tới việc tối ưu chất lượng hình ảnh hoặc lưới của mô hình, điều này dẫn tới các bài toán xử lý về ánh sáng, góc cạnh để khi render thu được hình ảnh chân thực nhất có thể. Trên thực tế quá trình tối ưu này dẫn tới một trường phái thiết kế siêu thực. Ở đó những nhà thiết kế có thể thay thế nhân vật thực bằng nhân vật thiết kế ảo. Thứ hai, là tối số lượng lưới (mặt và đỉnh trong mô hình) với bài toán này đầu vào là một mô hình 3D (thường là mô hình thu được từ máy quét) và đầu ra là mô hình đó với số lượng lưới giảm đi nhưng vẫn đảm bảo hình dạng và hình ảnh của đối tượng không thay đổi nhiều giữa trước và sau tối ưu. Trong nội dung luận văn tập trung vào giải quyết bài toán thứ hai. Tức là nghiên cứu các kỹ thuật làm giảm lưới mô hình 3D nhưng vẫn đảm bảo giữ được hình dạng và hình ảnh của đối tượng sau khi render. Đồ họa máy tính 3D thường được nói đến là mô hình (model) 3D. Ngoài các đồ họa được kết xuất, model được chứa trong các tập tin dữ liệu đồ họa. Tuy nhiên, có sự khác biệt. Model 3D là đại diện toán học của bất kỳ đối tượng ba chiều. Một mô hình không phải là một kỹ thuật đồ họa cho đến khi nó được hiển thị. Một mô hình có thể được hiển thị trực quan như là một hình ảnh hai chiều thông qua một quá trình gọi là kết xuất 3D, hoặc được sử dụng trong mô phỏng máy tính phi đồ 9 họa và tính toán. Đồ hoạ 3D đang được nghiên cứu ứng dụng trong mọi lĩnh vực một cách mạnh mẽ hiện nay là: Khoa học kỹ thuật, kiến trúc, quân sự, giải trí, du lịch, địa ốc... và đáp ứng mọi nhu cầu: Nghiên cứu - Giáo dục - Thương mại - dịch vụ. Bên cạnh các ứng dụng truyền thống ở trên, cũng có một số ứng dụng mới nổi lên trong thời gian gần đây của đồ hoạ 3D như: đồ hoạ 3D ứng dụng trong sản suất, trong ngành rôbốt, trong hiển thị thông tin (thăm dò dầu mỏ, hiển thị thông tin khối, ) đồ hoạ 3D có tiềm năng ứng dụng vô cùng lớn. Có thể nói: Mọi lĩnh vực “có thật” trong cuộc sống đều có thể ứng dụng “thực tế ảo” để nghiên cứu và phát triển hoàn thiện hơn. Một lĩnh vực đầy hứa hẹn là việc sử dụng trưng bày ảo 3D trong giáo dục - giải trí, cụm từ này đang được sử dụng rộng rãi, nó thể hiện cho một nền giáo dục hiện đại không theo khuôn phép truyền thống, điều đó có nghĩa là vừa có thể học và vừa có thể giải trí trong khi học sinh đang tham gia một kịch bản nhập vai nào đó hoặc có thể tham gia một trò chơi... trên thực tế tương tác nhập vai có thể nắm bắt được sự chú ý của người sử dụng hệ thống, cùng một lúc có thể cung cấp nhiều thông tin không giống như phương pháp trước đây khi sử dụng hệ thống không phải là đa phương tiện. Ngoài ra, trưng bày ảo 3D là một cách thể hiện rất hiện đại của sự tương tác giữa người dùng và máy tính nó không dừng lại ở việc người dùng chỉ sử dụng máy tính với những mục đích cho công việc, mà nó còn mở ra vô vàn những thứ hấp dẫn khác với người sử dụng hệ thống mà người dùng như đang hóa thân thành nhân vật được khám phá nhiều nơi mà mình chưa biết. Hầu hết các trưng bày, trình diễn từ ảnh tĩnh đến các video hoạt hình đều biểu diễn trong không gian 3D, do vậy việc nghiên cứu các kỹ thuật thể hiện hình ảnh 3D ngày càng được phát triển rộng rãi. Việc thể hiện 3D với các tác động của ánh sáng nâng cao hiệu quả thị giác làm cho việc quan sát vật thể rõ hơn tăng cường, nhấn mạnh những phần trọng tâm của vật thể theo mong muốn của người quan sát. Do vậy, việc nghiên cứu tổng quan để đưa ra những vấn đề cần phát triển là cần thiết là mục tiêu đề tài cần đạt được. + Ứng dụng chiếu sáng toàn cục và chiếu sáng cục bộ trong trưng bày ảo - Trong các ứng dụng trưng bày ảo, chúng ta có thể chia thành hai phần độc lập một là không gian trưng bày là nơi mà ta sẽ đặt các hiện vật ảo vào 10 đó, hai là các hiện vật được trưng bày. Không gian trưng bày thường là các phòng cố định, các bố trí chiếu sáng trong không gian này cũng thường cố định do đó chúng ta có thể ứng dụng kỹ thuật chiếu sáng toàn cục để tạo trước bản đồ chiếu sáng cho toàn bộ không gian và trong quá trình kết xuất ảnh của không gian chúng ta sẽ sử dụng trực tiếp bản đồ chiếu sáng này để tính ánh sáng cho từng điểm trong không gian. Các hiện vật ảo được đặt vào các vị trí cho trước trong không gian trưng bày, tại mỗi vị trí ta có thể các hiện vật có thể thay đổi các hiện vật để tạo ra sự sinh động cho không gian, mỗi hiện vật được chiếu sáng để làm nổi bật nó trong không gian do đó chúng ta có thể sử dụng kỹ thuật chiếu sáng cục bộ để chiếu sáng cho từng hiện vật. Với tư tưởng như vậy chúng tôi tiến hành cài đặt và áp dụng nó vào việc trưng bày các hiện vật trong bảo tàng và dưới đây là một số hình ảnh minh họa cho kết quả thực nghiệm. Hình 1.1. Một hình ảnh kết quả thực nghiệm 1.3. Vai trò của việc mô phỏng không gian 3D Từ trước tới nay ,các dự án mô phỏng thường hay tập trung vào 2D đơn giản, từ các hình ảnh 2D, video 2D đã xây dựng, có thể triển khai qua các kênh truyền thống để tạo ra một một hệ thống mô phỏng để mọi người có thể xem, thực hành như trên máy tính, trên nền tảng webstie, hay trên các hệ thống máy chiếu, phong lab chuyên dụng tùy thuộc từng nội dung. 11 Sự hạn chế của công nghệ 2D trở thành 1 rào cản cho sự phát triển, nó không phát huy được hết các ưu điểm của các hệ thống mô phỏng. Công nghệ Mô phỏng 3D là bước tiến tiếp theo, về thực tế công nghệ 3D đã hầu như khắc phục đượ các yếu điểm của công nghệ mô phỏng 2D như : các điểm khuất, góc khuất khi mô phỏng lại các vật thể, máy móc,k...cập chiếu sáng toàn cục là chiếu sáng mà tại mỗi điểm giá trị cường độ sáng được tính dựa trên sự ảnh hưởng tổng hợp của các nguồn sáng trực tiếp và các nguồn sáng gián tiếp (ánh sáng phản xạ lại từ các điểm, đối tượng xung điểm điểm đang xét). Với hướng tiếp cận này độ phức tạp tính toán của các thuật toán thường là rất lớn do đó khó có khả năng ứng dụng trực tiếp vào công đoạn kết xuất ảnh cho các ứng dụng trưng bày ảo. Tuy nhiên chúng ta có thể sử dụng chúng để tính trước các bản đồ sáng. Các bản đồ sáng thu được bằng các thuật toán này, sau đó có thể ứng dụng trực tiếp vào trong quá trình tạo hình ảnh môi trường theo thời gian thực mà không phải tiến hành chiếu sáng lại. Việc ứng dụng bản đồ chiếu sáng trong trưng bày ảo một mặt làm tăng tốc độ kết xuất hình ảnh không gian trưng bày một mặt khác chất lượng chiếu sáng cũng được cải thiện có được điều này là vì các tính toán chiếu sáng phức tạp đã được thực hiện trước ở bước tính bản đồ chiếu sáng. Ngoài ra bản đồ chiếu sáng có thể làm công cụ để đo lường cường độ sáng 29 của không gian tại mọi điểm qua đó có thể đánh giá được hiệu quả của chiếu sáng toàn cục. Các kỹ thuật tạo hình dựa trên chiếu sáng toàn cục đã và đang được sử dụng phổ biến hiện nay có thể kêt đến như kỹ thuật Ray tracing, Radiosity, Photomapping v.v..  Thuật toán Ray tracing: Ray tracing là một kỹ thuật tạo hình ảnh trong đồ họa 3D được đưa ra khá sớm bởi tác giả Appel A[4] vào năm 1968 cho đến ngày này đã có nhiều nghiên cứu nhằm cải tiến tốc độ cũng như chất lượng của của kỹ thuật này tuy nhiên tư tưởng cốt lõi của kỹ thuật là hầu như không thay đổi. Hình 2.2: Minh họa quá trình sinh và dò tia của ray tracing Ý tưởng cơ bản của kỹ thuật này dựa trên việc dò tia ánh sáng đến được với các điểm trên màn chiếu. Nó thực hiện thông qua các bước cơ bản như sau: Từ điểm quan sát và mặt phẳng quan sát ta xây dựng một tập hợp các tia xuất phát từ điểm quan sát đi qua mỗi điểm trên mặt phẳng quan sát. Với mỗi tia sinh được ta thực hiện quá trình dò tia bằng cách tìm điểm trên đa giác thuộc một đối tượng bất kỳ gần nhất trong không gian thế giới va chạm với tia cần dò, khi tìm thấy một điểm và chạm với tia cần dò tại điểm va chạm đó ta tiến hành việc tính toán ánh sáng tại điểm va chạm. Việc tính toán ánh sáng tại điểm va chạm được thực hiện bằng cách xây dựng các tia với điểm gốc là điểm va chạm và điểm ngọn là các điểm trên các nguồn sáng trong không 30 gian nếu trên đường đi của các tia này không va chạm với bất kỳ điểm đối tượng nào khác trong không gian thì tiến hành tính toán ánh sáng cho điểm gốc theo các hiệu ứng đã được trình bày trong phần 3.1. Nếu dừng ở đây thì thuật toán này sẽ được gọi là thuật toán Ray casting là một thuật toán chiếu sáng cục bộ. Giá trị chiếu sáng tại điểm đầu tiên này là giá trị chiếu sáng trực tiếp. Tiếp tục trên điểm va chạm chúng ta tiến hành xây dựng các tia phản xạ và khúc xạ và sau thực hiện đệ quy quá trình dò ánh sáng cho các tia phản xạ, khúc xạ thụ được, giá trị chiếu sáng thu được trên các tia phản xạ và khúc xạ là giá trị chiếu sáng gián tiếp. Việc thực hiện đệ quy được dừng lại khi số bước lặp đệ quy vượt quá một ngưỡng hoặc hệ số ảnh hưởng của các giá trị sáng gián tiếp lên giá trị sáng trực tiếp ban đầu nhỏ hơn một ngưỡng cho trước. Giá trị ánh sáng tại một điểm sẽ được thông qua sự tổng hợp giá trị sáng trực tiếp và các giá trị sáng gián tiếp. Ngày nay thuật toán này đã được các hãng sản xuất phần cứng xây dựng và tích hợp trong các thiết bị tăng tốc đồ họa của họ. Hình dưới đây là sơ đồ hoạt động của thuật toán Ray tracing được tích hợp trong một số thiết bị tăng tốc đồ họa của hãng Nvidia Hình 2.3. Các bước xử lý trong giải thuật Ray tracing Bằng việc cứng hóa các bước thực hiện của kỹ thuật ray tracing trong các thiết bị tăng tốc đồ họa có sức mạnh tính toán hàng Gfs việc render thời gian thực bằng ray tracing đang dần khả thi hơn. Hình dưới đây là so sánh kết quả của cùng một cảnh với hai kỹ thuật chiếu sáng dựa trên scan line và chiếu sáng bằng ray tracing 31 Scan line Ray tracing Hình 2.4: So sánh giữa Scan line và ray tracing  Thuật toán Photon mapping Photon mapping là một thuật toán chiếu sáng toàn cục với các tiếp cận dựa trên việc mô phỏng lại đặc tính hạt của ánh sáng. Trái ngược với kỹ thuật ray tracing photon mapping sinh ra các tia đặc trưng cho các photon ánh sáng xuất phát từ nguồn sáng, các photon này chuyển động trong không không gian theo đường thẳng, khi gặp bề mặt đối tượng nó sẽ tương tác với bề mặt đối tượng, phản xạ, kết hợp, khúc xạ hấp thụ v.v.. sau đó bức xạ ngược lại môi trường một tập các tia mới mang đặc tính của tia ban đầu kết hợp với các đặc tính của bề mặt. Ảnh cần dựng trong trường hợp này sẽ là một màn chắn ảo trong không gian sử dụng để đón nhưng tia tới được bề mặt của ảnh. Khi đó giá trị màu sắc của từng điểm trên màn chiếu là tổng hợp các giá trị của các tia đến được màn chiếu sau một khoảng thời gian nhất định. Dưới đây là một hình ảnh thử nghiệm của kỹ thuật photon mapping 32 Hình 2.5: Chiếu sáng bằng photon mapping Do cách tiếp cận của photon mapping là dựa trên mô phỏng là photon của ánh sáng nên nó có khả năng thể hiện được hầu hết các hiệu ứng của ánh sáng như phản xạ, khúc xạ thậm chí cả hiệu ứng thấu kính, lăng kính photon maping cũng có khả năng thể hiện được (đây là hai hiệu ứng mà ray tracing không có khả năng thể hiện được một cách trực tiếp). Tuy nhiên do xuất phát từ nguồn sáng có rất nhiều tia sáng không liên quan đến ảnh quan sát cũng được tính toán vì vầy tốc độ thực hiện của thuật toán này là phức tạp hơn nhiều so với ray tracing. Các kỹ raytracing và photon mapping là các kỹ thuật chiếu sáng toàn cục được ứng dụng phổ biến ngoài ra chúng còn nhiều kỹ thuật chiếu sáng toàn cục khác cũng được ứng dụng trong đồ họa 3D ví dụ như radiocity[9], hoặc các kỹ thuật dựa trên phương pháp tính toán Monte Carlo[16] v.v. 2.4. Kỹ thuật chiếu sáng cục bộ - Kỹ thuật chiếu sáng cục bộ là kỹ thuật chiếu sáng mà giá trị ánh sáng tại mỗi điểm chỉ ảnh hưởng trực tiếp bởi các nguồn sáng trực tiếp mà không chịu ảnh hưởng bởi các nguồn sáng gián tiếp. Các kỹ thuật chiếu sáng cục bộ 33 có thể kể đến là ray casting và scan line. Trong đó kỹ thuật scan line là kỹ thuật được đưa ra và ứng dụng khá sớm, hiện nay đây là giải thuật được cứng hóa trong hầu hết các thiết bị tăng tốc đồ họa ngày nay. Trong thực tế người ta hay sử dụng khái niệm Graphics pipeline khi đề cập đến trình thực hiện của kỹ thuật này. Các bước chính trong kỹ thuật được thể hiện thông qua hình 10 dưới đây. Trong đó quá trình Vertex processing là quá trình xử lý tại mỗi đỉnh trên từng đa giác đầu vào thông thường tại đây các điểm sẽ được chuyển đổi từ không gian địa phương của đối tượng về không gian địa phương của camera, cùng với đó các giá trị cường độ sáng, pháp tuyến trên từng điểm cũng được ước lượng cách tính giá trị cường độ sáng tại từng điểm cụ được thực hiện thông qua các mô hình chiếu sáng đã được đề cập trong phần 3.1. Bước thứ hai của giải thuật này chính là Rasterization tại bước này đầu vào là các điểm đã được chuyển đổi từ không gian địa phương của camera xang không gian quan sát thông qua một phép chiếu 3D v.v.. Tại đây các điểm trong đa giác sẽ được ánh xạ xang không gian ảnh sau đó thuật toán scand line được sử dụng để xử lý từng điểm trên ảnh dựa vào các tham số của từng đỉnh và vị trí tương đối của điểm đang xét so với các đỉnh của đa giác đầu vào. Bước cuối cùng của quá trình này là kết hợp giá trị màu sắc của điểm đang xét với giá trị cũ để tạo ra giá trị màu sắc cuối cùng. Hình 2.6. Các bước xử lý trong giải thuật Scan line. Các mô hình thiết bị tăng tốc đồ họa hiện nay đều cho phép người lập trình thay lập trình từng bước trong một luồng xử lý cho trước. Do đó người 34 tac có thể tùy biến các thành phần để tạo ra các hiệu đồ họa ứng mong muốn. Các ngôn ngữ lập trình cho các thiết bị này có thể kể đến như GLSL, CL, hay HLSL v.v.. Để hiển thị các vật thể 3D nói chung và đặc trưng ánh sáng trong mô tả vật thể cần có các công cụ trợ giúp để tạo hình, phối cảnh, tô bóng. Đặc biệt tập trung vào vấn đề xử lý ánh sáng để lựa chọn hướng chiếu, góc nhìn tốt nhất trong biểu diễn vật thể để có thể làm nổi bật những yếu tố cần nhấn mạnh cho người quan sát. Từ những phân tích, tính toán ở trên nay vận dụng vào thực hiện các thuật toán ứng dụng trên một môi trường đồ họa máy tính cụ thể để biểu diễn một số vật thể 3D trong khuông viên nhà bảo tàng với một số hiện vật. Từ việc biểu diễn rời rạc các vật thể ta có thể tích hợp hệ thống thành một phần mềm thể hiện kịch bản biểu diễn với các vật, tổng thể không gian, các vị trí quan sát khác nhau để khách thăm có thể lựa chọn các hình ảnh phù hợp với nhu cầu thăm quan nghiên cứu. Để triển khai cài đặt, chúng ta có thể sử dụng một công cụ đồ họa máy tính phù hợp với nhu cầu đối với từng loại đối tượng và mục tiêu biểu diễn. Hiện nay có một số phần mềm thông dụng như: Thư viện xử lý đồ họa OpenGL: OpenGL là một tiêu chuẩn kỹ thuật đồ họa nhằm mục đích tạo ra một giao diện lập trình ứng dụng đồ họa 3D được phát triển đầu tiên bởi Silicon Graphic, Inc. OpenGL đã trở thành một chuẩn công nghiệp và các đặc tính kỹ thuật của OpenGL do Uỷ ban kỹ thuật ARB. OpenGL cho phép phát triển các ứng dụng đồ họa sử dụng nhiều ngôn ngữ lập trình khác nhau như C/C++, Java, Delphi, v.v, tuy nhiên OpenGL cũng có thể được dùng trong ứng dụng đồ họa 2D. Giao diện lập trình này chứa khoảng 250 hàm để vẽ các cảnh phức tạp từ những hàm đơn giản và được ứng dụng rộng rãi trong các trò chơi điện tử. Ngoài ra còn được dùng trong các ứng dụng CAD, thực tại ảo, mô phỏng khoa học, mô 35 phỏng thông tin, phát triển trò chơi. OpenGL sử dụng hệ tọa độ theo quy tắc bàn tay phải. Công cụ 3DS max: 3DS Max là một ứng dụng mạnh, tích hợp các mô hình 3 chiều, hoạt cảnh, và tạo cảnh 3D (rendering). Môi trường dễ học của nó cho phép các nghệ sĩ nhanh chóng tạo dựng một cách nhanh chóng các sản phẩm. 3DS Max thường được sử dụng để tạo phim và các đoạn video nghệ thuật, phát triển game, thiết kế sản phẩm đa phương tiện multimedia.. 3DS Max là đang dẫn đầu các phần mềm trong lĩnh vực thiết kế trực quan, phát triển game, thiết kế các hiệu ứng ảo và đào tạo. Quy trình chuẩn của một sản phẩm 3D tĩnh là : Modelling (dựng hình) – Mapping&Shading (Gán vật liệu) – Lighting (thiết lập ánh sáng) – Rendering (kết xuất ảnh). + Công cụ 3D Studio Max version 7.0-8.0 Giao diện làm việc: 1. Menu bar (menu hệ thống) 2. Window/Crossing selection toggle 3. Snap tools (các công cụ bắt dính) 4. Command panels (bảng lệnh) 5. Object categories 6. Rollout (bảng cuộn) 7. Active viewport (khung nhìn hiện hành) 8. Viewport navigation controls (các điều khiển đối với khung nhìn) 9. Animation playback controls 10. Animation keying controls 11. Absolute/Relative coordinate toggle and coordinate display 12. Prompt line and status bar 13. MAXScript mini-listener 14. Track bar 36 15. Time slider (thanh trượt thời gian) 16. Main toolbar (thanh công cụ chính) Menubar: Chứa các menu: File, Edit, Tools, Group , Views, Create, Modifiers, Character, Reactor, Amination, GraphEdittors, Rendering, Customize, MAXScript, Help. Một số menu đặc trưng cần quan tâm là: + Group: đây là menu bao gồm các lệnh để nhóm đối tượng. + Create: bao gồm các lệnh để tạo ra các hình 2D, 3D và một số dạng hình học khác. + Modifiers: chứa các lệnh hiệu chỉnh. + Reactor: chứa các lệnh để tạo ra hay áp dụng tính chất của vật như: mềm, cứng, thể rắn, lỏng, khí.... + Character: chứa các lệnh để tạo ra sự chuyển động của hệ thống: vd: các cử động của tay, chân, bước đi... + Animation: chứa các lệnh liên quan đến trạng thái động. + Rendering: chứa các lệnh liên quan đến hậu cảnh, ảnh nền, các hiệu ứng (sương mù, khói...). + Customize: các tùy chọn thiết lập cho Max. + MaxScript: hoạt động theo kiểu tệp tin batch của HĐH MS-DOS. Tab panel Bảng tập hợp các thanh công cụ khác nhau: a) Main toolbar: Thanh công cụ chính của Max, chứa một số lệnh thông dụng thực hiện bằng việcc chọn các icon. b) Command panel * Geometry: Chứa các lệnh tạo các đối tượng 3D: khối hộp (Box), khối cầu (Shepre), khối chóp (Cone)... - Khi bạn chọn nút Geometry sẽ có một danh sách xổ xuống bên dưới nút đó, liệt kê nhiều loại khối hình học khác mà bạn có thể tạo ra như: khối hộp, khối cầu, khối chóp, khối ống, khối trụ, ấm trà... 37 - Khi click lệnh bất kỳ thì sẽ xuất hiện thanh cuộn ở dưới hộp Parameters cho phép bạn nhập các giá trị như chiều cao (Height), chiều rộng (Width), chiều dài (Length) và nhiều thông số khác nữa. Vì các thông số cho một đối tượng đôi khi cần nhiều thanh cuộn, các thanh cuộn trong một vài trường hợp có thể trở nên dài hơn sức chứa của màn hình, do vậy bạn có thể dùng mouse để cuốn thanh cuộn lên hoặc xuống bằng cách click và drag theo chiều đứng vào bất kỳ chỗ nào trống của bảng cuộn. * Shape: chứa các lệnh để tạo các đối tượng 2D: đường thẳng (Line), hình tròn (Circle), hình chữ nhật (Rectangle) * Light & Cameras: chứa các lệnh tạo ánh sáng và camera. * Helpers: chứa các lệnh về các đối tượng trợ giúp, như tạo lưới riêng, tạo các Gizmo để diễn tả lửa cháy... * Space Warp: chứa các lệnh dùng để tạo một số hiệu ứng đặc biệt như: bom nổ, gió, sóng... * System: chứa các lệnh liên quan đến chuyển động, ví dụ sự chuyển động của của cánh tay, bước chân... Thiết lập khung nhìn Khi khởi động Max sẽ thấy có 4 khung nhìn mặc định là Top, Front, Left và Perspective (khung nhìn phối cảnh). Để định kiểu hiển thị đối tượng cho 1 khung nhìn thì ta Click chuột phải vào tên của 1 khung nhìn bất kỳ trong các khung nhìn. Sau đó chọn các thiết lập hiển thị sau: + Smooth Highlight: tô đối tượng theo dạng mịn và bóng. + WireFrame: hiển thị đối tượng dưới dạng khung nhìn đơn. + Smooth: hiển thị đối tượng dưới dạng mịn. + Facets Highlight: hiển thị đối tượng dưới dạng phẳng và bóng. + Edged Faces: hiển thị đối tượng dưới dạng khung nhìn Edge. + Bounding Box: hiển thị đối tượng dưới dạng khung nhìn hộp. + Các phép biển đổi đồ thị 38 Biểu tượng Gizmo biến đổi luôn nằm tại tâm biến đổi của đối tượng. Tâm biến đổi này được gọi là điểm chốt (Pivot Point). Tất cả các đối tượng đều được làm biến đổi trong mối tương quan với điểm chốt này. Điểm chốt đặc biệt quan trọng khi bạn thực hiện lệnh xoay. Các điều chỉnh cho điểm chốt nằm tại Main Toolbar, bên cạnh hộp danh sách thả xuống của các hệ trục tọa độ tham chiếu. Các nút lệnh cho phép bạn xác lập vị trí điểm chốt của hệ tọa độ tham chiếu. MAX cung cấp ba loại điều chỉnh điểm chốt: - Use Pivot Point Center (tâm của điểm chốt) Mỗi đối tượng trong Max có một hệ tọa độ cục bộ của riêng nó. Gốc của hệ tọa độ cục bộ này, được gọi là điểm chốt, tùy theo đối tượng có tâm ở giữa hoặc tâm ở đáy. Đây là vị trí mặc định. Khi bạn chọn một hệ tọa độ khác, chúng luôn có gốc tọa độ tại điểm chốt, nhưng phương hướng thì khác nhau. Ví dụ: Chọn cùng lúc hai đối tượng, mỗi đối tượng có một tâm riêng, khi xoay, chúng sẽ xoay theo tâm xoay của riêng mình. Hình 2.7. MAX cung cấp ba loại điều chỉnh điểm chốt - Use Selection Center (tâm của tập chọn) : Khi chọn nhiều đối tượng, loại tùy chọn của tâm điểm chốt sẽ không còn dễ sử dụng nữa. Tùy chọn này xác định điểm chốt nằm ngay tại tâm hình học 39 của các đối tượng đang được chọn, và khi xoay, tất cả các đối tượng sẽ sử dụng tâm chung giữa các đối tượng. Hình 2.8. Use Selection Center (tâm của tập chọn) - Use Transform Coordinate Center (tâm của hệ tọa độ phép biến đổi) Khi bạn chọn một hệ tọa độ tham chiếu, nó có thể có một tâm điểm riêng. Ví dụ, tùy chọn hệ tọa độ World có tâm điểm tại 0, 0, 0. Hình 2.9. Transform Coordinate Center (tâm của hệ tọa độ phép biến đổi) - Thay đổi vị trí điểm chốt (tâm xoay) Để thay đổi hẳn vị trí điểm chốt của một đối tượng, chọn đối tượng đó, rồi click bảng lệnh Hiarechy (phả hệ), nơi bạn có thể tìm thấy các điều chỉnh cho điểm chốt. - Affect Pivot Only Chỉ làm biến đổi điểm chốt của đối tượng mà thôi, bạn không thể di chuyển, xoay, scale khối hình học khi nút lệnh này được bật. Một biểu tượng đặc biệt xuất hiện để bạn thực hiện các phép biến đổi (di chuyển, xoay, scale) cho điểm chốt. - Affect Object Only 40 Ngược lại với lệnh Affect Pivot Only. Ở đây điểm chốt vẫn giữ nguyên vị trí, bạn làm biến đổi trên đối tượng tùy ý. - Center to Object Gióng cho điểm chốt trở về giữa tâm của đối tượng hiện hành - Align to Object Gióng cho các trục X, Y, Z của điểm chốt trùng khớp với các trục X, Y, Z của hệ toạ độ cục bộ được chọn. - Align to World Gióng các trục X, Y, Z của điểm chốt trùng khớp với hệ tọa độ thế giới - Reset Pivot Định trở lại điểm chốt về vị trí mặc định Có rất nhiều trường hợp bạn cần phải thay đổi vị trí điểm chốt cho một đối tượng. Khi bạn nhập một đối tượng từ một chương trình khác, bạn thường phải dùng đến bảng lệnh này, vì thường thì điểm chốt của đối tượng được nhập vào chưa sẵn sàng nằm ngay tại tâm của nó đâu. + Đánh bóng các khối Shadow volumes. Lấy một cái nhìn giả định này. Các đường màu đen cho thấy miền quan sát: Hình 2.10. Trước khi Occlusion Culling. Tư tưởng đằng sau kỹ thuật khối bóng là điều này: 41 Hình 2.11. Dung lượng phát triển bóng Đối với mỗi lỗ hổng tiềm năng, tạo một bóng đổ. Ảnh mà điểm nhìn là một nguồn sáng thực tế. Khối bóng đối với một đối tượng sau đó là miền không gian mà nằm trong bóng tối của đối tượng đó. Giải pháp, tất nhiên, là bất kỳ đối tượng mà nằm trong khối bóng của đối tượng khác là không nhìn thấy được, và có thể được chọn lọc từ đó. Trong hình, các khối bóng chỉ được báo trong cùng màu như đối tượng mà các khối bóng thuộc quyền sở hữu. Một cách hiển nhiên, đường màu xanh là lỗ hổng quan trọng nhất. (lỗ hổng là một đối tượng mà một phần hoặc hoàn toàn cản trở lượng ánh sáng đến mắt). Tìm các occluder tốt. Mục tiêu của kỹ thuật shadow volume là để giảm sự phức tạp chiều sâu, nhưng nếu đã tạo ra một shadow volume đối với mỗi đối tượng trong cảnh, tổng phí lớn hơn sự tiết kiệm. Cần chọn một số đối tượng được giới hạn từ cảnh mà sẽ làm các occluder tốt nhất. Giả định rằng cảnh bao gồm polygon soup – tức là không có sự phân cấp hoặc phân chia nhỏ bất cứ gì. Điều này có nghĩa rằng sẽ cần tìm các đa giác lớn để sử dụng như các occluder. Sử dụng các đa giác có thuận lợi là nó làm mọi thứ đơn giản hơn nhiều: Tạo một shadow volume thì tương đối khó khăn đối với các đối tượng rắn, nhưng đối với các đa giác đó là một vấn đề nhỏ. 42 Tất nhiên, không phải đa giác làm một occluder tốt. Sẽ muốn khởi động bằng cách chọn một đa giác lớn nhất trong cảnh. Nếu chỉ làm việc cùng với các hình tam giác, có thể hiệu quả hơn đối với nhóm một vài tam giác trong một đa giác lớn và sử dụng như một occluder. Có thể vẫn sử dụng các tam giác cho rendering, bởi vậy sẽ không là một vấn đề. Điều duy nhất cần ghi nhớ là occluder phải là lồi. Khi đã chọn một nhóm đầy đủ của các đa giác lớn, sẽ muốn kiểm tra nếu các đa giác quả thực là các occluder tốt. Có thể làm điều này bằng cách tạo một tập ngẫu nhiên các điểm nhìn cung quanh đa giác, và kiểm tra bao nhiêu các đa giác khác nó bít kín từ các điểm nhìn. Tất nhiên, chỉ nên lựa chọn các điểm nhìn mà thực sự với tới được bởi người sử dụng của ứng dụng, bởi vậy kiểm tra nếu các điểm tạo thực sự bên ngoài cảnh. Giữ các occluder mà phát sinh các kết quả tốt nhất và loại bỏ những occluder khác. Culling. Lựa chọn các occluder được làm như một tiền xử lý, tất nhiên, vì tất cả các thử nghiệm và lỗi có thể tạo cho nó một bit của một thao tác kéo dài. Một khi đã chọn chúng , tuy nhiên, mọi thứ trở nên khá đơn giản. Khi rendering một cảnh, xử lý tất cả các occluder, Tạo các shadow volume đối với chúng và culling mọi thứ biến mất là bên trong. Để tối ưu hóa quá trình culling, nên cố gắng sắp xếp các occluder đến nỗi mà một occluder quan trọng nhất được xử lý đầu tiên. Sẽ cần sắp xếp một vài số liệu để xác định rằng một occluder “quan trọng” như thế nào. Số liệu này có thể dựa trên vùng không gian màn hình của occluder, và trên khoảng cách của nó đến camera. Xa hơn nữa, các backfacing occluder nên bị bỏ qua, như nên là các occluder mà bên ngoài phạm vi của tầm nhìn. Tạo một shadow volume đối với một đa giác là một nhiệm vụ nhỏ. Nó dễ dang để định nghĩa một mặt phẳng từ ba điểm, và đó là tất cả cần làm. Đối với mỗi cạnh của đa giác, tạo một mặt phẳng sử dụng hai đỉnh của cạnh và vị trí camera. Sauk hi làm điều đó, cũng nên thêm mặt phẳng lên đa giác mà nó nằm trên – mặt khác sẽ kết thúc culling các đối tượng mà đứng trước 43 occluder. Chắc chắn rằng tất cả các pháp tuyến của mặt phẳng điểm trong cùng một hướng (Hoặc bên trong hoặc bên ngoài của shadow volume). Hình 2.12. Một ảnh hoa văn phức tạp Khi đã tạo ra một khối bóng, cần phải cắt xén toàn bộ cảnh chống lại nó. Loại bỏ bất cứ gì bên trong. Điều này bao gồm cả các lỗ hổng khác, tất nhiên, như không có điểm trong các lỗ hổng vô hình đang xử lý. Cắt xén thực tế thì rất đơn giản trong trường hợp này: Nếu một đa giác được tiêu hủy, tất cả các đỉnh phải nằm bên trong khối bóng. Do đó, tất cả cần làm là kiểm tra các điểm chống lại các phương trình mặt phẳng của khối. Kiểm tra mỗi một đa giác trong cảnh chống lại tất cả các khối bóng có lẽ là đỡ tốn kém hơn một bít, bởi vậy sẽ cần một vài cách để tăng tốc việc này lên. Một cây octree (octree là một cây cấu trúc dữ liệu, trong đó mỗi nút nội bộ có đến tám con. Octrees thường được sử dụng để phân vùng một không gian ba chiều bằng cách phân chia đệ quy nó vào tám octants. Octrees là ba chiều tương tự của các cây tứ phân. Tên sẽ được thành lập từ Tháng Mười + cây, và thường viết "octree", không phải "octtree") sẽ cho phép để kiểm tra các hộp chống lại các khối bóng, thay vào đó là các đa giác riêng lẻ. Theo cách này, sẽ loại bỏ các phần lớn cảnh khá nhanh chóng. Nếu muốn làm, sau này có thể vẫn kiểm tra các đa giác còn lại. Như vậy, để biểu diễn vật thể 3D với những kết cấu ánh sáng chúng ta phải có các kỹ thuật để thực thi trên phần mềm, nghiên cứu này đã tìm hiểu phát triển một số kinh nghiệm và phương pháp để đạt được mục tiêu biểu diễn vật thể có hiệu quả nhất. 44 Chương 3 MÔ PHỎNG TÁC ĐỘNG ÁNH SÁNG LÊN BỀ MẶT VẬT THỂ 3.1. Phân tích các yêu cầu hệ thống Hệ thống biểu diễn các vật 3D cần thể hiện các góc nhìn quan sát vật như trong không gian 3 chiều. Người quan sát có thể đứng ở bất cứ vị trí và góc nhìn nào để quan sát vật. Tuy nhiên trong biểu diễn không thể thể hiện như trong thế giới thực mà cần lựa chọn những vị trí, điểm quan sát quan trọng để thỏa mãn nhu cầu quan sát nhưng số hình biểu diễn không quá lớn. Yêu cầu thiết kế là chọn đúng, đủ các hình để thực hiện vẽ thể hiện - Hệ thống trình diễn 3D cần tạo ra không gian quan sát và các hình ảnh tương ứng để người dùng “nhìn” vật thể như trong thế giới thực - Dựa trên nền tảng lý thuyết nghiên cứu của đề tài chủ yếu mô tả thuộc tính bóng (bóng bề mặt và bóng đổ) của vật trong giới tự nhiên có tính đến sự thay đổi của bề mặt vật thể dưới tác động của môi trường - Khi thể hiện ngoài hình ảnh tĩnh còn cần thể hiện tính động của vật thể (vị trí nguồn sáng thay đổi, cường độ ánh sáng thay đổi đều ảnh hưởng đến bóng của vật thể) - Bên cạnh thể hiện vật thể trưng bày cô lập, hệ thống cần phân tích trong một không gian bảo tàng tích hợp có nhiều vật thể từ đó mới phát triển thành hệ thống bảo tảng ảo triển khai ứng dụng được trong thực tiễn - Lựa chọn các vật thể đặc trưng để có thể khai thác tối ưu các thuật toán biểu diễn đảm bảo thực nghiệm tốt các ý tưởng của thuật toán phát triển. Mỗi vật thể cần phân tích như trên để lựa chọn số lượng các hình ảnh thích hợp - Phân tích tương tác giữa người dùng với hình ảnh 3D của vật thể: Các đối tượng người dùng như: Nhân viên bảo tàng, khách thăm quan phổ thông, các chuyên gia, nhà nghiên cứu. - Phân tích các chức năng phần mềm và giao diện thể hiện 45 3.2. Phân tích chi tiết 3.2.1. Phân tích hình ảnh Để phân tích các khía cạnh của vật 3D trước hết ta cần khảo sát trong thế giới thực các đặc trưng hình ảnh để thấy các đặc điểm cần diễn tả Ví dụ: Hình dưới đây là một chiếc cối giã gạo, trống con (ảnh trong bảo tàng Văn hóa các dân tộc Việt Nam), dưới góc nhìn trên bên phải ta thấy tương đối rõ nét, tuy nhiên ánh sáng chưa đủ nên cần biểu diễn ánh sáng mạnh hơn. Cũng có thể quan sát thêm một số góc nhìn khác, các góc nhìn này có thể được phát triển trong môi trường ảo. Hình 3.1: Một số vật thể trưng bày Như vậy phần mềm trình diễn không những mô tả như ảnh chụp mà còn phát triển tốt hơn với sự can thiệp của kỹ thuật đồ họa. Đây là một ưu thế của công nghệ thực tại ảo. Bề mặt vật trong suốt ánh sáng chiếu tới chia thành hai phần, phần phản xạ, phần khúc xạ do vậy tạo ra hình ảnh vật như trong Hình sau: 46 Hình 3.2: Bề mặt vật thể trong suốt Để thể hiện hình ảnh đẹp, nhấn một số đặc trưng người họa sĩ cần có con mắt nghệ thuật và biểu diễn có tính sáng tạo, phần mềm thực tại ảo có công cụ hỗ trợ để biểu diễn: Ví dụ: Hình 3.3: So sánh ảnh bị nhiễu sáng và đã chỉnh sửa Hình ảnh thực tế bên phải bị nhòa do nhiễu của ánh sáng tán xạ, ảnh chụp không khắc phục được so với tranh vẽ người họa sĩ thể hiện tốt hơn nhưng vẫn đảm bảo sự trung thực cần thiết. 3.2.2. Phân tích chức năng người dùng Hệ thống có các use case sau: 47 Người dùng là nhân viên bảo tàng: Thực hiện nhiệm vụ xây dựng không gian trưng bày, thiết kế giá đỡ, sắp xếp, trang trí, và chăm sóc hiện vật; với môi trường ảo nhân viên vận hành hệ thống hướng dẫn khách thăm quan xem các thể hiện trình diễn vật thể của phần mềm; họ cũng có thể được hướng dẫn bổ sung các thuộc tính cho vật thể như lời mô tả, chú dẫn, thuyết minh thêm khi giới thiệu vật thể Hình 3.4: Biểu đồ Use case 3.2.3. Phân tích các yêu cầu biểu diễn Để biểu diễn bóng của vật thể ta thấy cần làm rõ các khía cạnh: - Tác động của ánh sáng đến bề mặt vật: Khi quan sát vật dưới sự phản xạ của ánh sáng từ vật khúc xạ qua thủy tinh thể của mắt và tạo ảnh tại điểm vàng của võng mạc. Khi nhìn vật, bộ não phân tích và giải mã ra hình ảnh bề mặt của vật để con người nhìn và phân biệt vật trong môi trường. Để mô tả bề mặt của vật dưới tác động môi trường ta lại cần vận dụng những tri thức từ 48 vật lý, vật liệu, hóa họcđể suy diễn ra trạng thái thực trong tự nhiên dưới tác động của ánh sáng, thời gian - Khi thể hiện vật thể ở trạng thái động (quay quanh một trục) cần nghiên cứu các điểm trọng tâm, các điểm biên, điểm tương tác để xác định vị trí tương đối không gian của vật, bóng đổ của vật. Như vậy quá trình thiết kế vật chuyển động trong không gian cần có nhiều thông tin đầu vào để tính toán và đưa ra giá trị điểm ảnh để vẽ và điều khiển sự biến đổi (vị trí, màu sắc, bề mặt, bóng đổ). Sơ đồ phân tích Input Lựa chọn vật thể Xác định vị trí vậ t Xác định vị trí nguồn sáng Thiết kế cấu trúc hình dạ ng Xác định bề mặt biểu diễn Tích hợp Output + hệ thống Hình 3.5: Sơ đồ phân tích 49 3.3 . Thiết kế các thuật toán 3.3.1.Thuật toán xác định hướng ánh sáng trong môi trường Thuật toán này để tính toán hướng phản xạ của ánh sáng để quan sát vật thể trong một phạm vi không gian xác định. B1. Thu nhận dữ liệu hình ảnh từ môi trường B2. Xác định vùng khối cầu có trong ảnh B3. Xác định vùng chói sáng trong khối cầu B4. Xây dựng pháp tuyến với khối cầu tại tâm của vùng chói sáng B5. Xác định hướng của véc tơ phản xạ Vr Hình 3.6: Mô hình thuật toán xác định hướng ánh sáng trong môi trường Dựa vào mối quan hệ giữa khung nhìn và nguồn sáng trong Hình trên, chúng tôi đề xuất một phương pháp xác định hướng ánh sáng trong phạm vi xác định dựa trên quá trình phân tích tính chất phản xạ ánh sáng trên bề mặt vật thể. Để xác định được hướng của nguồn sáng ta cần xác định hướng của véc tơ phản xạ . Véc tơ phản xạ được tính dựa vào công thức: 50 B6. Xác định hướng nguồn sáng: Hướng nguồn sáng là hướng ngược lại với hướng của véc tơ phản xạ Vr. Từ ảnh thu nhận được ta sử dụng Hough Circle Transform (HCT) để xác định được vị trí cũng như tâm và bán kính của hình cầu. Hình cầu xác định được là (Bc(x,y);R) 3.3.2. Thuật toán tính toán tương tác giữa các vật thể khi xoay Chất lượng của mô phỏng phụ thuộc vào quá trình tính toán tương tác không gian, một phương pháp tích phân số hiệu quả được coi là yếu tố quyết định của quá trình tính toán. Chúng tôi đề xuất phương pháp tích phân số hỗn hợp nhằm tăng tốc độ tính toán. Thông thường trong một môi trường mô phỏng bao gồm nhiều đối tượng di chuyển, kỹ thuật phát hiện vị trí dựa trên giới hạn bao quanh các đối tượng được phân chia thành hai pha: Pha thứ nhất nhanh chóng loại trừ các cặp đối tượng mà giữa chúng không thể xảy ra tương tác, pha thứ hai thực hiện kiểm tra sự giao nhau giữa các cặp còn lại để xác định tương tác Từ cơ sở phân tích như trên, thuật toán tích phân số hỗn hợp sẽ được đề xuất như sau: Bước 1: Sử dụng phương pháp Euler khi bắt đầu mô phỏng phẫu thuật ảo. Bước 2: Thực hiện pha thứ nhất dò tìm va chạm cho đến khi phát hiện va chạm xảy ra và chuyển sang Bước 3. Bước 3: Sử dụng phương pháp Runge-Kutta bậc 4 cho mô phỏng biến dạng. Bước 4: Khi có các dụng cụ tác động đến mô mềm thì sử dụng lại phương pháp Euler. Lặp lại từ Bước 1 đến Bước 4 cho đến khi hoàn thành toàn bộ quá trình mô phỏng. Sơ đồ khối của phương pháp tích phân số hỗn hợp được thể hiện

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

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