Cấu trúc một chương trình viết bằng Java3D

Một phần của tài liệu Nghiên cứu mô hình mặt các kỹ thuật chuyển động (Trang 49)

Scenegraph là một cấu trúc cây có thứ bậc bao gồm khối, ánh sáng, âm thanh, … Chương trình ứng dụng xây dựng scenegraph bằng các phương thức và các lớp hỗ trợ của Java 3D. Sau đó, Java 3D sẽ thực thi cấu trúc scenegraph này để render các hình khối, hiển thị âm thanh, ánh sáng và các hoạt ảnh.

Trong một chương trình Java 3D, 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, Java 3D 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 như sau:

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

2) Tạo một đố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 universe như sau:

a. Thiết lập universe với một Locale đơn ở mức cao.

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 virtual universe.

Chương 5 - Cài đặt chương trình

5.1 Giới thiệu

Khuôn mặt là phần đặc biệt nhất của con người bởi dựa vào khuôn mặt có thể phân biệt những cá thể khác nhau. Những biểu hiện trên mặt cho thấy họ đang vui hay buồn, tức giận hay phấn khởi… Con người có khả năng nhận dạng một khuôn mặt giữa trăm nghìn khuôn mặt khác nhau, thậm chí có thể phát hiện được những thay đổi dù rất nhỏ của khuôn mặt. Tạo mô hình mặt và hoạt ảnh mặt là một công việc khó do sự phức tạp trong cấu trúc vật lý của khuôn mặt cùng với sự biến đổi tâm lý của con người khi thể hiện các nét mặt. Tạo hoạt ảnh mặt sao cho đảm bảo độ chân thật, tự nhiên càng khó hơn.

Bài toán đặt ra là thiết kế mô hình ba chiều mô tả khuôn mặt người. Mô hình này có khả năng mô phỏng các cảm xúc của con người thể hiện qua nét mặt như vui, buồn, tức giận… theo các cấp độ khác nhau.

Bài toán được cài đặt trên Java3D. Lí do tôi lựa chọn ngôn ngữ này bởi những ưu điểm nổi bật của Java3D như hỗ trợ lập trình đồ họa, độc lập platform… và điểm quan trọng đó là Java hỗ trợ applet, tức chương trình có thể được gọi từ một trình duyệt của máy khách và như thế là có thể chạy chương trình thông qua giao diện web và hiệu quả chia xẻ thông tin cho người sử dụng là vô cùng lớn.

Các dữ liệu đầu vào và yêu cầu đầu ra đối với bài toán như sau:

Dữ liệu đầu vào:

- File mô tả lưới mặt, gồm các điểm tọa độ 3D và thứ tự liên kết các điểm.

- File mô tả các cơ.

- File mô tả các vùng của mặt.

Kết quả yêu cầu:

- Tạo hoạt ảnh của mặt thể hiện được sáu cảm xúc của mặt: vui, buồn, tức giận, sợ hãi, ngạc nhiên, kinh tởm.

Một phần của tài liệu Nghiên cứu mô hình mặt các kỹ thuật chuyển động (Trang 49)