CHƯƠNG I: TONG QUAN VE THỰC TẠI AO VA VA CHAM TRONG THUC TAI AO 1.1 Khái quát về thực tại ảo 1.1 Thế nào là thực tại ảo Thực tại ảo được định nghĩa theo nhiều cách khác nhau, xét trên phương diện chức năng thì có thể định nghĩa như sau: Thực tại ảo là một môi trường ba chiều được phát sinh, tổng hợp và điều khiển thông qua máy vi tính nhằm mục đích mô phỏng lại thế giới thực hoặc một thế giới theo trong tưởng tượng của con người. Nó cho phép người dùng thông qua các thiết bị ngoại vi và bộ chuyên đổi tương tác với những sự vật, hành động của thế giới ảo mà như tương tác với các sự kiện, hành động của thế giới thực. Qua những phân tích trên, chúng ta có thé thấy định nghĩa của C. Coiffet về thực tại ảo là tương đối chính xác: VR — Thực tại ảo là một hệ thống giao diện cấp cao giữa người sử dụng và máy tính.
Hệ thống này mô phỏng các sự vật và hiện tượng theo giời gian thực và tương tác với người sử dụng qua tông hợp các kênh cảm giác. Đó là ngũ giác bao gồm: thị giác, thính giác, xúc giác, khứu giác và vị giác [3][7].2 Các đặc tính của thực tai ao Một hệ thống thực tại ảo phải có ba đặc tính sau: khả năng đắm chìm (Immersion), tính tương tac (Interactive) va tính tưởng tượng (Imagination).1 Ba đặc tính của một hệ thống thực tại ảo a. Cảm giác đắm chìm (hnmersion) Cảm giác đắm chìm: là một hiệu ứng tạo khả năng tập trung sự chú ý cao nhất một cách có chọn lọc vào chính những thông tin từ người sử dụng hệ thống thực tế ảo. Người sử dụng cảm thay mình là một phan của thé giới ảo, hòa mình lẫn vào thé giới đó.
Tính tương tác (Interactice) Tinh tương tác: có hai khía cạnh của tính tương tác trong một thế giới ảo: sự du hành bên trong thế giới và động lực học của môi trường. Sự du hành là khả năng của người dùng dé di chuyền khắp nơi một cách độc lập, cứ như là đang ở bên trong một môi trường thật. Động lực học của môi trường là những quy tắc về cách thức mà người, vật và mọi thứ tương tác với nhau trong một trật tự dé trao đổi năng lượng hoặc thông tin. Tinh tưởng tượng (Imagination) Các ứng dụng trong lĩnh vực đời sống do các nhà phát triển thực tai ảo thiết kế, điều này phụ thuộc rất nhiều vào khả năng tưởng tượng của con người, đó chính là đặc tính tưởng tượng (Imagination) của thực tại ảo.
Vì vậy, có thể coi thực tại ảo là tông hợp cua ba yêu tô: dam chìm, tương tác, và tưởng tượng.3 Cac thành phan chính trong thực tại ảo HỆ THỐNG MÁY TÍNH ỨNG DỤNG VR ENGINE APPLICATION PHAN CUNG HỆ THONG THỰC TAI AO PHAN MEM HARDWARE VRSYSTEM SOFWARE Ỳ *MỘ HÌNH NÀY THIẾT BỊ NHẬP XUẤT ểÀA Soeur CƠ SỞ DỮ LIỆU vo & DATABASE Hình 1.2 Các thành phan trong hệ thống thực tại ảo Một hệ thông thực tại ảo tổng quát bao gồm 5 thành phần [3]: phan mém (SW), phan cứng (HW), mang liên kết, người dùng và các ứng dung. Phần cứng Phần cứng của một hệ thống VR bao gồm: o Máy tính (PC hay Workstation với cau hình đồ họa mạnh). o Các thiết bị đầu vào (Input devices). o Các thiết bị đầu ra (Output devices).
Phan mém Phan mềm luôn là linh hồn của thực tai ảo cũng như đối với bất cứ một hệ thống máy tính hiện đại nào. Phần mềm của bat kỳ hệ thống thực tại ảo nào cũng phải bảo đảm các công dụng chính: tạo hình, mô phỏng và lưu trữ lại trong cơ sở dữ liệu (database).14 Phân loại các hệ thống thực tại ảo Hệ thống thực tại ảo được phân ra 3 loại chính: hệ thống VR không nhập vai (Non — Immersive), hệ thống VR bán nhập vai (Semi — Immersive) và hệ thống VR nhập vai (Immersive). Một số cách phân loại khác dựa vào mức độ phức tạp hoặc phương thức hoạt động của hệ thống.5 Ung dụng của thực tại ảo a. Quân sự Mô phỏng đã được sử dụng dé dự báo, phân tích và lập kế hoạch cho các cuộc xung đột tiềm năng với độ chính xác mà công nghệ thế hệ trước không thé dat được.
Y hoc Việc xây dung các hệ thống giải phẫu giúp giải quyết được van dé khan hiếm về mau vật cũng như giúp được sinh viên và giảng viên có thé thực hành, tương tác ngay trên máy tính mà có cảm giác như đang thực hành trên những mẫu vật thực. Giáo duc Một số trường đào tạo lái xe của Việt Nam hiện nay cũng đang sử dụng phần mềm mô phỏng tập lái xe ô tô 3D, cung cấp khả năng tương tác của người sử dụng với môi trường mô phỏng, tạo cho người học lái có được cảm giác như lái xe thật, từ đó tránh được các rủi ro khi điều khiển phương tiện. Thiết kế xây dựng Khả năng cho phép khách hành tự do tham quan, khảo sát căn nhà của họ trong tương lai theo nhiều góc độ và vi trí thực sự đem lại hiệu quả trực quan mang tinh cách mạng trong lĩnh vực mang nhiều đặc điểm nghệ thuật này. Giải trí Với sự phát triển của kỹ thuật mô phỏng người ta đã có thé xây dựng các bộ phim hoạt hình 3D, tạo dựng các kỹ xão điện ảnh, các cảnh quay sống động, chân thật mà giảm bớt được rất nhiều thời gian và chi phí.16 Công cụ phát triển ứng dụng thực tại ảo a.
Các phan mềm xây dựng mô hình Phần quan trọng nhất trong các hệ thống thực tại ảo chính là mô hình, mô hình mô tả, biểu diễn một đối tượng trong thế giới thực bao gồm hình dạng bề mặt và hoạt động của đối tượng. Hiện nay, có rất nhiều phần mềm tạo mô hình ba chiều như Maya, 3Ds max, LightWare,. Các công cụ lập trình Công cụ lập trình trong các ứng dụng thực tại ảo thường là các thư viện đồ họa 3D được xây dựng sẵn, miễn phí như DirectX, OpenGL, OpenSG, OpenSceneGraph.2 Va chạm trong thực tại ảo 1.1 Khái niệm va cham Va chạm là một hiện tượng thường gặp trong đời sống hàng ngày va trong khoa học kỹ thuật. Nói đến va chạm, đơn giản có nghĩa là khi một vật va vào một vật khác.
Vậy, va chạm là một sự kiện riêng lẻ trong đó một lực tương đối mạnh tác động vào từng vật, trong hai hoặc nhiều vật va chạm và trong một thời gian tương đối ngắn. Ngoài ra, có thê nêu sự rõ ràng giữa các thời gian trước, trong và sau khi va chạm. a Bién 1 của hệ kề Trước Đang Sau Hình 1.3 Sơ đồ động trình bày một hệ có va chạm đang xảy ra 1.2 Tam quan trọng của va cham và xử lý va chạm trong thực tại ảo Như đã nói ở trên, va chạm là điều không thê tránh khỏi trong cuộc sống hàng ngày. Đó có thé là những va chạm nhỏ như: những qua bi a, búa — dinh,.
cho tới những va chạm mang tính chất nghiêm trọng như tai nạn giao thông. Việc nghiên cứu các kỹ thuật va chạm và xử lý hậu va chạm trong các hệ thong thực tại ảo là rat cần thiết nhằm ứng dung dé mô phỏng các tình huống giao thông phục vụ cho mục đích tuyên truyền, trợ giúp người tham gia giao thông ý thức hơn khi tham gia điều khién phương tiện. CHƯƠNG II: MỘT SO VAN ĐÈ TRONG XỬ LÝ VA CHAM 2.1 Phát hiện va chạm Phát hiện va chạm là một trong những van dé trọng tam của mỗi hệ thông thực tại ảo. Mỗi hệ thống thực tại ảo đều phải có khả năng phát hiện khi nào thì có va chạm xảy ra và xảy ra với những đối tượng nào để có những xử lý sau va chạm phù hợp.
Hầu hết các hệ thống thực tại ảo đều sử dụng phương pháp gần đúng dé phát hiện va chạm, phương pháp gần đúng hay được sử dụng là phương pháp dùng các hình bao quanh đối tượng [14]. Đối với phương pháp phát hiện va chạm dựa vào hộp bao ta có hai kỹ thuật phô biến: sử dụng hộp bao có các cạnh song song với trục tọa độ (Axis-Aligned Bounding Boxes — AABB) và sử dụng hộp bao theo hướng của đối tượng (Oriented Bounding Boxes — OBB). Việc sử dụng hộp bao AABB được thực hiện nhanh chóng nhưng cho sai số lớn còn sử dụng hộp bao OBB tuy phức tạp hơn nhưng cho sai sô nhỏ hơn nhiêu.1 Tính toán va chạm 2.1 Phương pháp dùng bao cầu (Bounding Sphere) a. Tim giao diém gitta mot tia va mat phang Đề phát hiện va chạm chúng ta sử dụng một thuật toán đơn giản tạm gọi là lần theo tia (ray tracing).
Một tia được xác định bởi một điểm hay còn gọi là gốc và một vector xác định hướng mà tia đó sẽ đi theo. Phương trình của một tia có dạng: PointOnRay = RayStart + t * Raydirection (2.1) Trong do: - tlaso thực, t €[0;«) - PointOnRay: mot điểm thuộc tia - RayStart: điểm gốc của tia - Raydirection: hướng của tia Theo phương trình (2.1) ở trên thì khi t= 0 thì PointOnRay chính là điểm gốc. Với các giá trị khác của t thì PointOnRay chạy khắp tia. PointOnRay, RayStart, Raydirection là các đại lượng vector trong không gian R3 nhận các giá trị (x,y,z).
Tiếp theo chúng ta sẽ sử dụng tia dé biểu diễn và tính toán sự va chạm của khối cầu với mặt phang và các khối cầu. Phương trình mặt phăng biểu diễn thông qua vector có dạng : XndotX=d (2.2) Trong đó: - Xn, X là các vector và d nhận giá trị thực - Xn là pháp tuyén của mặt phẳng - X là một điểm thuộc mặt phẳng đang xét - _ đ là khoảng cách từ gốc của hệ toa độ Oxyz tới mặt phẳng Theo phương trình (2.2), dé biểu diễn một mặt phăng trong không gian 3D hay Rề ta chỉ cần một điểm nằm trên mặt phẳng đó và một vector pháp tuyến tại điểm đó (Vector pháp tuyến là vector vuông góc với mặt phăng). Dé có thể xác định được vector pháp tuyến của mặt phang ta chỉ cần xác định được hai vector không song song trong mặt phẳng đó. Tích có hướng của hai vector này sẽ tạo thành vector pháp tuyến.
Tổng kết ta có được hai phương trình: PointOnRay = RayStart + t * Raydirection Xn dot X=d Nếu tia giao với đường thăng tai điểm nao đó thì điểm đó thì điểm đó thỏa mãn cả hai phương trình (2.