Cấu trúc của một trình ứng dụng viết bằng Java3D

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứ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 luận văn ths công nghệ thông tin 1 01 10 (Trang 39 - 42)

3.1.5.1. Cấu trúc scenegraph

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.

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].

3.1.5.2. Trình tự ựể viết một ứng dụng bằng Java3D

Trong một chương trình Java3D, trình tự các bước ựể tạo ra các thành phần scene graph và các quan hệ giữa chúng ựược chia làm 6 bước. Sau khi xây dựng xong, Java3D sẽ render scene graph này và hiển thị các thành phần ựồ họa trong một cửa sổ trên màn hình. Các bước nhu sau:

1) Tạo ựối tượng Canvas3D và ựắnh nó vào một panel Applet.

2) Tạo ựối tượng BranchGroup làm gốc của một scene branch graph.

3) Xây dựng các nút Shape3D và các TransformGroup tương ứng với từng nút. 4) Gắn các trạng thái RotationInterpolator vào TransformGroup.

5) Gọi hàm tiện ắch xây dựng Ộvũ trụ ảoỢ như sau:

b. Tạo các ựối tượng PhysicalBody, PhysicalEnvironment, View và ViewPlatform.

c. Tạo một ựối tượng BranchGroup làm gốc cho view platform branch graph.

d. Chèn view platform branch graph vào Locale.

6) Chèn scene branch graph vào Locale của bộ tạo Ộvũ trụ ảoỢ.

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứ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 luận văn ths công nghệ thông tin 1 01 10 (Trang 39 - 42)

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

(92 trang)