Cấu trúc scenegraph

Một phần của tài liệu Ứng dụng mô hình chuyển động hình nhân 3D vào tương tác người máy và E-learning (Trang 39)

Hình dưới ựây sẽ cung cấp cho người ựọc một cái nhìn tổng quan nhất về cấu trúc scene graph của một trình ứng dụng Java3D.

Hình 16: Scene Graph của một trình ứng dụng Java3D

đầu tiên ta thấy xuất hiện một ựối tượng tối cao là VirtualUniverse Object. Một ựối tượng VirtualUniverse ựịnh nghĩa một Ộvũ trụ ảoỢ . Java3D cho phép tạo nhiều hơn một Ộvũ trụ ảoỢmột hệ thống tổng quát ở mức cao nhất mặc dù ựa số các trình ứng dụng chỉ cần dùng một hệ thống. Một ựối tượng Virtual Universe cung cấp một mặt nền cho các scene graph. Tất cả các scene graph của Java3D phải kết nối với một ựối tượng Virtual Universe thì mới có thể hiển thị ựược.

Dưới Virtual Universe là ựối tượng Locale Object. đối tượng này ựịnh nghĩa gốc gắn với mỗi graph con. Một Virtual Universe có thể mang nhiều ựối tượng Locale. Trong hình vẽ trên thì một ựối tượng Virtual Universe chỉ chứa một Locale duy nhất và ựược xác ựịnh là gắn vào gốc ở tọa ựộ (0.0, 0.0, 0.0).

Bản thân scene graph khởi ựầu với các nút Branch Group. Mỗi BranchGroup cung cấp một gốc cho một graph con ựược gọi là các graph nhánh. Chỉ có các ựối tượng BranchGroup mới kết nối tới ựược các ựối tượng Locale. Trong hình trên ta thấy có 2 graph nhánh và do vậy có 2 nút BranchGraph.

Gắn với BranchGroup bên trái là ựối tượng con Behavior và TransformGroup. đối tượng Behavior chứa mã code Java nhằm thao tác với ma trận dịch chuyển tương ứng với mỗi ựối tượng hình khối. đối tượng TransformGroup xác ựịnh vị trắ (liên quan

tới Locale), hướng, và tỷ lệ của các ựối tượng hình khối trong một hệ thống tổn quát mức cao nhất. Nút con của TransformGroup lại cung cấp hai thành phần con là ựối tượng Geometry và ựối tượng Appearance. đối tượng Geometry mô tả hình dạng của một ựối tượng 3D. đối tượng Appearance mô tả diện mạo của ựối tượng 3D ựó (màu sắc, bề mặt, các ựặc ựiểm về tắnh phản chiếu của vật liệu, vân vân).

Gắn với BranchGroup bên phải là nút TransformGroup và bên dưới TransformGroup là nút ViewPlatform. đối tượng TransformGroup xác ựịnh vị trắ (liên quan ựến Locale), hướng và tỷ lệ của ựối tượng ViewPlatform. Việc dịch chuyển ựối tượng ViewPlatform ựịnh nghĩa vị trắ nhìn của người dùng trong hệ thống tổng quát mức cao.

Cuối cùng, ựối tượng ViewPlatform lại tham chiếu ựến ựối tượng View, ựối tuợng này xác ựịnh tất cả các tham số cần thiết ựể render một khung cảnh từ một ựiểm nhìn của ViewPlatform. Các ựối tượng khác cũng tham chiếu ựến ựối tượng View sẽ chứa các thông tin như khung vẽ trong các bộ render của Java3D, hoặc màn hình chứa khung lưới (canvas) và các thông tin về môi trường vật lý [1] [6] [13].

Một phần của tài liệu Ứng dụng mô hình chuyển động hình nhân 3D vào tương tác người máy và E-learning (Trang 39)

Tải bản đầy đủ (PDF)

(92 trang)