Thực tại ảo (VR Virtual Reality) là công nghệ sử dụng các kỹ thuật mô hình hóa không gian, cùng với sự hỗ trợ của các thiết bị đa phương tiện để xây dựng một thế giới mô phỏng (môi trường ảo) bằng máy tính nhằm đưa người sử dụng vào một thế giới nhân tạo với không gian như thật. Người sử dụng sẽ không như người quan sát bên ngoài, mà trở thành một phần của hệ thống. 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 của người sử dụng nhờ hành động, lời nói,... Người sử dụng có thể nhìn thấy sự vật thay đổi trên màn hình theo ý muốn của họ và cảm nhận bằng các giác quan bởi sự mô phỏng này. 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 được đối tượng như quay, di chuyển,… trên màn hình, 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), thực tại ảo còn có khả năng 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 các cảm giác này ít được sử dụng đến. Hiện nay có khá nhiều khái niệm về thực tại ảo, một trong các định nghĩa được chấp nhận rộng rãi là của C. Burdea và P. Coiffet: “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 thờ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 gồm: thị giác, thính giác, xúc giác, khứu giác, vị giác”.
4.2.4 Plane sensor Cú pháp PlaneSensor { autoOffset TRUE enabled TRUE maxPosition -1 -1 # (- ∞, ∞) minPosition 0 # (- ∞, ∞) offset 0 # (- ∞, ∞) eventOut SFBool isActive eventOut SFVec3f trackPoint_changed eventOut SFVec3f translation_changed } Ánh xạ chuyển động thiết bị trỏ vào mặt phẳng hai chiều song song với mặt phẳng Z=0 hệ tọa độ địa phương Cho phép người dùng thay đổi vị trí đối tượng Sau kích hoạt thiết bị trỏ (nút chuột nhấn xuống) đối tượng hình học cảm biến, kiện isActive TRUE gửi Chuyển động trỏ ánh xạ để dịch chuyển tương đối mặt phẳng song song với mặt địa phương Z=0 cảm biến trùng với điểm ban đầu chỗ giao Thuộc tính enabled: Cho phép/vơ hiệu hóa nút CylinderSensor offset: Xác định vị trí ban đầu vật thể Nếu giá trị (0, 0, 0) vật thể di chuyển từ vị trí ban đầu autoOffset Với giá trị TRUE vị trí ban đầu lần di chuyển vật thứ hai với vị trí kết thúc lần di chuyển thứ Với giá trị FALSE vật thể trở lại vị trí ban đầu sau di chuyển maxPosition minPosition Xác định X, Y lớn nhỏ Được thiết lập để kiểm soát miền giá trị kiện traslation_changed Sự kiện isActive: Gửi giá trị TRUE / FALSE chuột nhấn / nhả translation_changed: Gửi trả vectơ 3D định hướng vật thể sau di chuyển Mỗi lần di chuyển tiếp theo, đầu tương ứng với tổng dịch chuyển từ điểm giao đến điểm giao cộng với giá trị offset trackPoint_changed Gửi tâm hệ tọa độ vật thể sau dịch chuyển so với hệ tọa độ gốc Sự dịch chuyển định nghĩa mặt phẳng Z=0 hệ tọa tọa cảm biến Nếu thiết bị trỏ kéo mặt phẳng Z=0 kích hoạt (ví dụ, đường nằm ngang), trình duyệt giải theo cách khác nhau(ví dụ, kiểm soát tất đường ngang) ... sau di chuyển Mỗi lần di chuyển tiếp theo, đầu tương ứng với tổng dịch chuyển từ điểm giao đến điểm giao cộng với giá trị offset trackPoint_changed Gửi tâm hệ tọa độ vật thể sau dịch chuyển so... offset trackPoint_changed Gửi tâm hệ tọa độ vật thể sau dịch chuyển so với hệ tọa độ gốc Sự dịch chuyển định nghĩa mặt phẳng Z=0 hệ tọa tọa cảm biến Nếu thiết bị trỏ kéo ngồi mặt phẳng Z=0 kích