1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(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

92 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiê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
Tác giả Đào Minh Thư
Người hướng dẫn TS. Bùi Thế Duy
Trường học Đại học quốc gia Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2005
Thành phố Hà Nội
Định dạng
Số trang 92
Dung lượng 1,75 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1 H-ANIM (0)
    • 1.1. Khái niệm H-anim (0)
    • 1.2. Các thành phần của một H-Anim (0)
      • 1.2.1. Humanoid (8)
      • 1.2.2. Joint (9)
      • 1.2.3. Segment (9)
      • 1.2.4. Site (10)
      • 1.2.5. Displacer (11)
    • 1.3. Cây phân cấp khung xương (0)
      • 1.3.1. Mức phân cấp (LOA - Level Of Articulation) (13)
      • 1.3.2. ISO ủặt tờn cho cỏc ủối tượng Joint (16)
    • 1.4. Cỏc ủiểm ủặc trưng trờn cơ thể người (0)
    • 1.5. Mô hình hóa (23)
  • Chương 2 GIỚI THIỆU MỘT SỐ NGÔN NGỮ LẬP TRÌNH 3D (0)
    • 2.1. SAM (27)
    • 2.3. VPython (29)
    • 2.4. Direct3D (30)
    • 2.5. Cg (31)
    • 2.6. Java3D (31)
      • 3.1.2. Mục tiêu của Java3D (0)
      • 3.1.3. Mô hình lập trình (33)
        • 3.1.3.1. Cấu trỳc cõy trong tổ chức ủối tượng của Java3D (34)
        • 3.1.3.2. Mô hình lập trình Scene Graph (0)
        • 3.1.3.3. Các phương thức render (35)
        • 3.1.3.4. Vấn ủề mở rộng cỏc phương thức (38)
      • 3.1.4. Cách thức thực hiện của Java3D (38)
        • 3.1.4.1. Thực hiện theo kiểu phân lớp (38)
        • 3.1.4.2. ðối với các thiết bị phần cứng (39)
      • 3.1.5. Cấu trúc của một trình ứng dụng viết bằng Java3D (39)
        • 3.1.5.1. Cấu trúc scenegraph (39)
        • 3.1.5.2. Trỡnh tự ủể viết một ứng dụng bằng Java3D (41)
    • 3.2. VRML (42)
      • 3.2.1. Giới thiệu chung về VRML (42)
      • 3.2.2. Bộ duyệt VRML (42)
      • 3.3.3. Soạn thảo file VRML (43)
      • 3.2.4. Các thành phần của file VRML (43)
        • 3.2.4.1. Header và Comments (43)
        • 3.2.4.2. Cỏc nỳt, cỏc trường và ủồ họa khung cảnh (44)
  • Chương 4 GIẢI QUYẾT BÀI TOÁN (0)
    • 4.1. Ngôn ngữ dấu hiệu (0)
      • 4.1.1. Ngôn ngữ dấu hiệu là gì? (46)
      • 4.1.2. Lịch sử ngôn ngữ dấu hiệu (46)
      • 4.1.3. Các ngôn ngữ dấu hiệu hiện nay (49)
    • 4.2. Cấu tạo bàn tay (0)
    • 4.3. FamiliarHand (53)
      • 4.3.1. Quy trình thực hiện (53)
      • 4.3.2. Cấu trúc mô hình bàn tay trong FamiliarHand (54)
      • 4.3.3. Cấu trúc chương trình (56)
      • 4.3.3. Kết quả ủạt ủược (0)
  • Kết luận (72)
  • TÀI LIỆU THAM KHẢO (87)

Nội dung

H-ANIM

Các thành phần của một H-Anim

Humanoid là thành phần chính trong mô hình H-Anim, đóng vai trò là container chứa các yếu tố định nghĩa hệ khung xương, hình khối và giới hạn của hình nhân Các thành phần này bao gồm Joint, Segment, Site và Displacer, cung cấp thông tin chi tiết về mô hình H-Anim Bên cạnh đó, Humanoid còn chứa thông tin về tác giả, bản quyền và các hạn chế thường gặp Dưới đây là ví dụ mô tả lớp đối tượng Humanoid theo chuẩn VRML V2.0 utf8.

The PROTO Humanoid is defined by several key exposed fields, including the center at coordinates (0, 0, 0), a humanoid body represented by an empty node array, and an info field for additional details It features joints, a name field, and a rotation defined by the vector (0, 0, 1) with an angle of 0 The scale is set to (1, 1, 1) with a scale orientation also aligned to (0, 0, 1) Additionally, it includes segments, sites, and a translation vector at (0, 0, 0) The version of this humanoid model is specified as "1.1," and it contains a bounding box center at (0, 0, 0).

Lưu ý rằng “exposedField” là cỏc trường mà scrip cú thể truy nhập ủược ủể ủọc dữ liệu, còn “field” thì không

Các đối tượng Joint trong mô hình H-Anim được tổ chức theo cấu trúc phân cấp, thể hiện mối quan hệ cha-con giữa các khớp trong hệ khung xương Joint không chỉ là các khớp mà còn là các container chứa thông tin về tên và thuộc tính của từng khớp Ví dụ, mô tả lớp đối tượng Joint sử dụng cú pháp VRML V2.0 utf8 như sau:

The PROTO Joint defines several exposed fields, including SFVec3f for the center position, with default values set to (0, 0, 0), and an empty MFNode array for its children It features a limitOrientation defined by SFRotation, initialized to (0, 0, 1, 0), and allows for customizable lower and upper limits through MFFloat arrays The joint can be named using the SFString field, and its rotation is similarly set to (0, 0, 1, 0) Additionally, the scale is defined as SFVec3f with a default of (1, 1, 1), while the scaleOrientation is also initialized to (0, 0, 1, 0) The joint's stiffness is represented by an MFFloat array with values [1, 1, 1], and its translation is set to (0, 0, 0), with options for upper limits provided through another MFFloat array.

Là một đối tượng mô tả các đoạn chi của hình H-Anim, chúng đóng vai trò là vật thể trung gian giữa các khớp xương Chẳng hạn, cẳng tay nối giữa khớp cùi chỏ và khớp cổ tay, trong khi cẳng chân nối giữa khớp đầu gối và khớp cổ chân Để mô tả lớp đối tượng Segment, cú pháp của VRML V2.0 utf8 được sử dụng như sau:

The PROTO Segment defines several key elements for a 3D object, including event inputs for adding and removing child nodes, an exposed field for the center of mass set at coordinates (0, 0, 0), and an array of child nodes Additionally, it features an exposed field for coordinates, a placeholder for displacers, and a name field initialized as an empty string The mass of the object is set to zero, with moments of inertia defined as (1, 1, 1) Lastly, it includes fields for bounding box center at (0, 0, 0) and bounding box size set to (-1, -1, -1).

Mỗi Segment cụ thể bao gồm một số nỳt Site, định nghĩa các vị trí đặc biệt liên quan đến Segment Đối tượng Site được sử dụng với ba mục đích chính.

• ðịnh nghĩa ủiểm kết nối cho cỏc ủối tượng phụ như quần ỏo và trang sức

• ðịnh nghĩa vị trớ cho camera ảo trong khung tham chiếu của một ủối tượng Segment

• ðịnh nghĩa vị trí “end-effector” dùng trong các hệ thống IK (inverse kinematic) [xem giải thích trong phụ lục 2]

The VRML V2.0 utf8 specification describes a Site object with several exposed fields: SFVec3f center initialized to (0, 0, 0), an empty MFNode children array, an SFString name set to an empty string, an SFVec3f scale with values (1, 1, 1), an SFRotation rotation defined as (0, 0, 1, 0), a scaleOrientation also represented as an SFRotation (0, 0, 1, 0), and an SFVec3f translation starting at (0, 0, 0).

Hình dạng của từng đối tượng mạng lưới có thể biến đổi theo yêu cầu của ứng dụng, với thao tác sửa đổi dữ liệu trong trường field của đối tượng mạng lưới Đối với các mô hình khớp nối (articulated avatar), đối tượng mạng lưới thuộc loại Segment, trong khi các mô hình lưới không phẳng (deformable mesh avatar) được xác định trong trường skin của đối tượng Humanoid Việc xác định các nhúm đỉnh trong một mạng lưới là rất quan trọng, vì ứng dụng cần nhận biết những đỉnh nào thuộc phần đầu, bao gồm cả lông mày bên trái Thông tin này được lưu trong nút Displacer.

Dữ liệu trong Displacer được xem như "gợi ý chỉ dẫn" cho việc dịch chuyển các đỉnh trong mạng lưới Đối với mô hình khớp nối, Displacer được lưu trong trường displacer của đối tượng Segment, trong khi với mô hình lưới không phẳng, nó được lưu trong trường displacer của đối tượng Joint Các thông tin dịch chuyển (displacements) này được xác định trong phạm vi của đối tượng Joint và thay đổi theo phạm vi của Humanoid Trong quá trình render, thông tin này sẽ được áp dụng để chuyển đổi mô hình lưới thành mô hình 3 chiều thực tế Displacer có ba mức: ở mức cơ bản nhất, nó giúp nhận biết các đỉnh tương ứng với đặc trưng trên mạng lưới; ở mức hai, nó biểu thị hoạt động cơ bắp đặc biệt, làm biến đổi các đỉnh theo các hướng khác nhau; và ở mức thứ ba, Displacer thể hiện cấu hình hoàn chỉnh của các đỉnh trong mạng lưới, ví dụ như trong trường hợp mô hình 3 chiều của khuôn mặt, mỗi đối tượng Displacer sẽ biểu thị các biểu cảm khác nhau như vui, buồn, hay giận dữ.

Mỗi đối tượng Displacer xác định một sơ đồ các vị trí gọi là “morph target”, được dựng để biến đổi thuộc tính dịch chuyển của mô hình Mức độ co dãn của dịch chuyển trong mỗi đối tượng Displacer có thể được truyền như một tham số từ bên ngoài.

Các đối tượng Displacer được sử dụng chủ yếu để điều khiển các hình thái của khuôn mặt, nhưng chúng cũng có thể áp dụng cho các phần cơ thể khác nhau của hình nhân Ví dụ, việc điều khiển cánh tay có thể thay đổi hình dáng khi cánh tay gập lại, mô phỏng cách các bắp thịt căng lên.

Vớ dụ mụ tả lớp ủối tượng Site dựng cỳ phỏp của VRML V2.0 utf8 như sau: Displacer { coordIndex [ 7, 12, 24, 18 ] displacements [ 0 0.0025 0, 0 0.005 0, 0 0.0025 0, 0 0.001 0 ] name “l_eyebrow_raiser_action”

1.3 Cây phân cp khung x !ng

Cũng giống như một cơ thể người, hình nhân 3D cũng có bộ khung xương ðây

Cây phân cấp khung xương

1.3.1 Mức phân cấp (LOA - Level Of Articulation)

Mô hình H-Anim có khả năng chuyển động nhờ vào việc biến đổi thông số transform của các khớp, được lưu trữ trong đối tượng Displacer Tính chân thực trong chuyển động của mô hình 3D phụ thuộc lớn vào số lượng khớp và đoạn chi; càng nhiều khớp và đoạn chi, mô hình càng tinh vi và chuyển động càng mềm mại ISO quy định rằng một mô hình H-Anim phải có ít nhất một Joint gốc mang tên HumanoidRoot, nhưng thực tế thường có nhiều hơn một Joint Khái niệm mức phân cấp - LOA (Level Of Articulation) chỉ số lượng Joint được định nghĩa trong mô hình hình nhân, với mô hình có từ 14 Joint trở lên được gọi là “mức phân cấp thấp” và từ 72 Joint trở lên là “mức phân cấp cao” Mỗi cây phân cấp khung xương chỉ chứa một đối tượng Joint tên HumanoidRoot, là mức thấp nhất trong cây phân cấp ISO quy định có tất cả 4 mức phân cấp, và để dễ hình dung, bạn có thể tham khảo các hình minh họa dưới đây, là kết quả của các file VRML v2.0 được coding theo từng LOA.

- LOA mức 0 chỉ hỗ trợ một ủối tượng Joint là HumanoidRoot

- LOA mức 1 hỗ trợ cây phân cấp mức thấp

- LOA mức 2 hỗ trợ hệ xương cú xương sống ủược ủơn giản húa

- LOA mức 3 hỗ trợ cõy phõn cấp ủầy ủủ của một H-Anim

1.3.2 ISO ủặt tờn cho cỏc ủối tượng Joint

Bây giờ, chúng ta hãy tìm hiểu về cấu tạo cơ thể người để phát triển khung xương thích hợp cho mô phỏng 3D Hệ xương của con người bao gồm các khúc xương như cẳng tay, bàn tay và bàn chân, được nối với nhau qua các khớp như khuỷu tay, cổ tay và mắt cá chân Khi các khớp xoay, chúng kéo theo sự chuyển động của các xương, ảnh hưởng đến chuyển động của cơ thể Ví dụ, khi xoay cổ tay, các ngón tay sẽ di chuyển, nhưng các bộ phận khác trên cơ thể không bị ảnh hưởng Tương tự, khi co đầu gối, chỉ có cẳng chân và bàn chân cùng các ngón chân di chuyển, trong khi các bộ phận khác vẫn giữ nguyên Bộ khung của một mô hình H-Anim được xây dựng từ các đối tượng Joint liên kết với nhau qua các đối tượng Segment ISO đã định nghĩa tên của các đối tượng Joint như sau:

The article discusses various joint types in the human body, including the left and right hip, knee, ankle, subtalar, midtarsal, and metatarsal joints It also covers vertebral joints from L1 to L5 and T1 to T12, as well as the cervical joints from C1 to C7 Additionally, it mentions the sternoclavicular and acromioclavicular joints, shoulder, elbow, and wrist joints on both the left and right sides, along with the sacroiliac joint in the pelvis and the skull base This comprehensive overview highlights the complexity of the human skeletal system.

The article discusses the various joint components of the human hand, specifically focusing on the pinky, ring, middle, index, and thumb fingers Each finger is categorized into multiple joints, with the left and right hands having distinct joint identifiers: for instance, the left pinky is labeled as l_pinky0 to l_pinky3, while the right pinky is labeled as r_pinky0 to r_pinky3 This pattern continues for the ring, middle, index, and thumb fingers, with each finger having three joints for both hands, reflecting the complexity of hand anatomy.

Cỏc ủối tượng Joint của khuụn mặt l_eyeball_joint l_eyeball_joint l_eyebrow_joint l_eyebrow_joint l_eyelid_joint l_eyelid_joint temporomandibular

Dựa vào cỏc tờn gọi trờn, ISO quy ủịnh cặp ủối tượng Joint:Segment như sau:

The HumanoidRoot structure includes various components of the human body, specifically focusing on the pelvis, hips, thighs, knees, calves, and ankles It details the left side with parts such as the left hip, left thigh, left knee, left calf, left ankle, and extends to the left hindfoot, subtalar, midproximal, midtarsal, middistal, metatarsal, and forefoot Similarly, it outlines the right side with corresponding elements: right hip, right thigh, right knee, right calf, right ankle, and right hindfoot, along with the same subdivisions as the left side Additionally, the article references vertebral levels, ranging from L1 to L5 for the lumbar region, T1 to T12 for the thoracic region, and C7 for the cervical region, providing a comprehensive overview of the human skeletal structure.

The anatomical structure of the right upper limb includes various segments, starting from the right sternoclavicular joint and extending to the hand The right clavicle connects to the right scapula at the acromioclavicular joint, leading to the shoulder and upper arm This is followed by the elbow, which connects to the forearm, and further extends to the wrist and hand The hand comprises several fingers, including the thumb, which is divided into the thumb metacarpal, proximal, middle, and distal segments The index finger consists of the index metacarpal, proximal, middle, and distal sections Similarly, the middle finger is structured with its own metacarpal, proximal, middle, and distal parts, while the ring finger follows the same segmentation Lastly, the pinky finger is also categorized into metacarpal, proximal, middle, and distal segments.

1.4 Cỏc ủi$m ủ%c tr ng trờn c! th$ ng (i

Dựa trên kiến thức giải phẫu học, ISO đã công bố danh sách các điểm đặc biệt trên hình người theo tài liệu ISO số 7250 Bài viết này giới thiệu hình mụ tả vị trí và bảng liệt kê các điểm đặc trưng của một H-Anim, giúp hiểu rõ hơn về cấu trúc cơ thể con người.

Hỡnh 7 : Cỏc ủiểm ủặc trưng trờn cơ thể người.

Số hiệu Tên Số hiệu Tên

28 waist_preferred_post 66 l_metatarsal_pha5

ISO kiểm soát việc mô hình hóa các dạng hình nhân H-Anim nhằm đảm bảo rằng các chuyển động (animation) được xây dựng cho một dạng hình nhân H-Anim có thể áp dụng cho các dạng hình nhân H-Anim khác Công việc này bao gồm việc xác định trạng thái của một mô hình trước khi áp dụng các chuyển động lên nó, từ đó đảm bảo tính nhất quán của các mô hình H-Anim.

Quy định của ISO xác định rằng các dạng hình nhân sẽ được mô hình hóa ở thế ứng, với mặt hướng theo chiều Z+, tức là mặt đối diện với hướng nhìn thẳng của chúng ta Các trục của không gian 3 chiều được quy định rõ ràng.

Hỡnh 8: ISO quy ủịnh hệ trục tọa ủộ 3 chiều

Gốc tọa độ (0, 0, 0) được quy định ở nền, do đó nú sẽ nằm ở giữa chân của hình nhọn Hai chân đặt trên mặt sẽ cách nhau bằng độ rộng của hùng Để dễ hình dung, ta giả thiết mặt bàn chân là phẳng, vì vậy tọa độ theo trục Y của nó sẽ là 0.

Hình 9: Mô hình 3D của hai hình nhân

Cánh tay sẽ được duỗi thẳng và đặt song song với thân hình, lòng bàn tay hướng xuống dưới Các khớp ngón tay từ 1 đến 3 sẽ nằm song song với trục Y, trong khi trục của ngón tay cái nghiêng một góc 90 độ so với trục Z+ Do đó, hệ trục tọa độ của mỗi khớp ngón tay cái cần phải được xoay để thẳng hàng với toàn bộ hình nhân.

Hỡnh 10 : Trục tọa ủộ của cỏc ngún tay

Khuụn mặt ủược mụ hỡnh húa với cỏc lụng mày gión ra, mụi khộp lại và mắt mở to

Hình 11 : Mô hình 3 chiều diễn tả khuôn mặt

Cỏc hỡnh nhõn phải ủược xõy dựng với tỷ lệ kớch thước phự hợp với cơ thể con người trong thực tế

Tất cả tọa độ của các phần trong một mô hình hình học đều chia sẻ một gốc tọa độ chung, nằm giữa hai bàn chân của mô hình Điều này mặc dù gây khó khăn cho việc trình bày nhưng lại thuận lợi cho việc sử dụng cơ chế di chuyển hình khối nhờ vào các ngôn ngữ lập trình Việc áp dụng thao tác chuyển dịch thay vì xây dựng lại các hình khối ở từng vị trí có thể ảnh hưởng lớn đến hiệu suất của chương trình.

Mô hình hóa

ISO kiểm soát việc mô hình hóa các dạng hình nhân H-Anim để đảm bảo rằng các chuyển động (animation) được xây dựng cho một dạng hình nhân H-Anim có thể áp dụng cho các dạng hình nhân H-Anim khác Công việc này thực chất là xác định trạng thái của một mô hình trước khi áp dụng các chuyển động lên nó, từ đó đảm bảo tính nhất quán của các mô hình H-Anim.

Quy định của ISO xác định rằng các hình dạng hình học sẽ được mô hình hóa ở thế ứng, với mặt hướng theo chiều Z+, tức là mặt đối diện với hướng nhìn thẳng của chúng ta Các trục của không gian 3 chiều được quy định một cách rõ ràng.

Hỡnh 8: ISO quy ủịnh hệ trục tọa ủộ 3 chiều

Gốc tọa độ (0, 0, 0) được quy định đặt ở nền, nằm ở giữa chân của hình nón Hai chân của hình nón sẽ cách nhau bằng độ rộng của hình Để dễ hình dung, ta giả thiết lòng bàn chân là phẳng, do đó tọa độ theo trục Y của nó sẽ là 0.

Hình 9: Mô hình 3D của hai hình nhân

Cánh tay sẽ được duỗi thẳng và đặt song song với thân hình, với lòng bàn tay hướng vào trong Các khớp từ 1 đến 3 của các ngón tay cần phải song song với trục Y, trong khi trục của ngón tay cái nghiêng một góc 90 độ so với trục Z+ Do đó, hệ trục tọa độ tại mỗi khớp của ngón tay cái phải được điều chỉnh để thẳng hàng với toàn bộ hình nhân.

Hỡnh 10 : Trục tọa ủộ của cỏc ngún tay

Khuụn mặt ủược mụ hỡnh húa với cỏc lụng mày gión ra, mụi khộp lại và mắt mở to

Hình 11 : Mô hình 3 chiều diễn tả khuôn mặt

Cỏc hỡnh nhõn phải ủược xõy dựng với tỷ lệ kớch thước phự hợp với cơ thể con người trong thực tế

Tất cả các tọa độ của các phần thuộc một mô hình hình nhan đều chia sẻ một gốc tọa độ chung, là gốc tọa độ của chính mô hình đó, nằm giữa hai bàn chân Điều này gây khó khăn cho các công cụ trình bày nhưng lại tạo điều kiện thuận lợi cho việc sử dụng cơ chế di chuyển hình khối do các ngôn ngữ lập trình cung cấp Việc áp dụng thao tác chuyển dịch này thay vì xây dựng lại các hình khối ở từng vị trí có thể ảnh hưởng lớn đến hiệu suất thực hiện chương trình.

GIỚI THIỆU MỘT SỐ NGÔN NGỮ LẬP TRÌNH 3D

SAM

SAM (Solid Agents in Motion) là ngôn ngữ lập trình 3D dành cho hệ thống song song và animation, với đặc điểm là hướng trạng thỏi, đồng bộ và song song Ngôn ngữ này rất phù hợp cho việc mô hình hóa các trạng thái phản ứng, trong đó chương trình được viết dưới dạng tập hợp các agent giao tiếp qua thông điệp Trạng thái của agent được xác định bởi luật sản xuất, với các hành động tương ứng Các thành phần chính như agent, thông điệp và luật là các đối tượng 3D, trong khi các thành phần con được mô tả bằng văn bản Khi người dùng di chuột đến một đối tượng 3D, thông tin quan trọng sẽ được hiển thị Khởi đầu của các agent, thông điệp và luật có biểu diễn 3D mang tính tượng trưng, giúp dễ dàng nhận diện Hoạt động animation trong chương trình 3D được thực hiện thông qua việc làm mịn chuyển động và xác định tỷ lệ giữa các đối tượng, cho phép phân tích chi tiết từng thao tác Lợi ích là lập trình viên chỉ cần điều khiển một môi trường và ngôn ngữ cho mọi đặc tả, thực hiện và hoạt động của chương trình Hơn nữa, các biểu diễn 3D có thể được gán riêng cho các agent và thông điệp để đơn giản hóa hình dung hoạt động 3D phức tạp Lập trình viên có thể chuyển đổi giữa biểu diễn tượng trưng và cụ thể ngay cả khi đang diễn ra chuyển động.

Hỡnh 12 : Biểu diễn tượng trưng (bờn trỏi) và cụ thể (bờn phải) cỏc ủối tượng 3D

Trong các ngôn ngữ lập trình như C hay Lisp, lập trình viên phải mô tả thế giới 3D bằng ký tự, ví dụ như "glVertex(1.0, 1.0, 1.0)" để định vị các điểm trong không gian Tuy nhiên, Kakuya Yamamoto, giáo sư tại Đại học Kyoto, đã phát triển ngôn ngữ lập trình 3D mang tên 3D-Visulan, cho phép mô tả thế giới 3D trực tiếp bằng chính hình ảnh 3D thay vì ký tự Đây là ngôn ngữ 3D đầu tiên sử dụng cơ chế luật viết lại (rewrite-rule-based language), trong đó cả chương trình và dữ liệu được thể hiện qua các 3D-bitmap 3D-Visulan mở ra cơ hội mới cho việc xây dựng các ứng dụng 3D như máy Turing và trò chơi 3D Space Invaders.

Kakuya định nghĩa 3D-bitmap là "một tập hợp các khối lập phương 3 chiều có các thuộc tính màu sắc", và thế giới được mô tả là "thông tin được diễn đạt bằng các 3D-bitmap" Trong 3D-Visual, cả chương trình và dữ liệu đều được biểu diễn bằng các 3D-bitmap, tạo thành một không gian tương tác giữa lập trình viên và máy tính.

Người lập trình có khả năng theo dõi các trạng thái tính toán thông qua việc sử dụng bộ soạn thảo tích hợp 3D-bitmap, cho phép chạy các chương trình 3D Để chuyển các tiến trình tính toán sang máy tính, lập trình viên tạo ra một chương trình và dữ liệu khởi tạo bằng 3D-bitmap, và chúng sẽ được biên dịch khi chương trình chạy Tất cả các biến sẽ được hiển thị trên màn hình, và trạng thái tiếp theo trong quá trình tính toán chỉ được xác định dựa trên trạng thái hiện tại của 3D-bitmap cùng với dữ liệu đầu vào mà lập trình viên cung cấp.

VPython

Năm 1990, Guido van Rossum đã phát triển ngôn ngữ lập trình hướng đối tượng mạnh mẽ mang tên Python Ban đầu, ngôn ngữ này không hỗ trợ việc tạo ra các sản phẩm đồ họa, với thư viện đồ họa TK chỉ cho phép xây dựng các hình ảnh 2D nhưng rất khó sử dụng Đến năm 2000, David Scherer đã tạo ra mô-đun đồ họa 3D cho Python có tên "Visual", nổi bật với tính năng dễ dàng sử dụng Chương trình này cho phép xây dựng các đối tượng 3D như hình cầu, lập phương và các đường cong, đồng thời định vị chúng trong không gian 3D Visual hoạt động như một luồng riêng biệt, tự động cập nhật các khung cảnh 3D nhiều lần trong một giây để phản ánh chính xác vị trí hiện tại của các đối tượng Người lập trình có thể tập trung vào tính toán mà không cần lo lắng về việc quản lý hiển thị, trong khi người dùng có thể duyệt khung cảnh 3D bằng chuột để zoom và quay trong khi chương trình đang chạy Visual cũng hỗ trợ toàn bộ phần đại số véc tơ.

VPhython là một công cụ mã nguồn mở và miễn phí, rất hữu ích cho việc trình diễn các mô phỏng hình ảnh về những hiện tượng thú vị trong vật lý học Với khả năng xuất ra các mô hình 3D real-time, VPhython dễ dàng sử dụng, ngay cả với những người chưa có kinh nghiệm.

Direct3D

Direct3D is a low-level Application Programming Interface (API) that enables users to render 3D worlds using compatible 3D hardware It serves as an intermediary between applications and graphic devices, allowing applications to communicate with the graphics hardware For instance, to instruct the graphics device to clear the screen, the application must call the IDirect3DDevice9::Clear method of Direct3D This relationship between the application, Direct3D, and the hardware is crucial for effective 3D rendering.

Hình14 : Mối liên hệ giữa trình ứng dụng, Direct3D và phần cứng

Direct3D định nghĩa các giao diện và phương thức mà nó cung cấp cho lập trình viên ứng dụng, thể hiện một tập hợp phong phú các tính năng mà Direct3D hỗ trợ Cần lưu ý rằng sự hỗ trợ này chỉ đến từ Direct3D, không có nghĩa là phần cứng hiện đang cài đặt Direct3D cũng sẽ hỗ trợ tất cả các tính năng đó.

Trong hệ thống Direct3D, HAL (Hardware Abstraction Layer) đóng vai trò là bước trung gian giữa Direct3D và thiết bị đồ họa Direct3D không thể tương tác trực tiếp với ứng dụng mà cần phải thông qua HAL để làm việc với các thiết bị đồ họa khác nhau Do đó, các nhà sản xuất phần cứng phải cung cấp HAL để đảm bảo tính tương thích HAL bao gồm các mô tả định nghĩa loại thiết bị, giúp Direct3D điều khiển thiết bị thực hiện các thao tác mà không cần nắm chi tiết từng loại thiết bị cụ thể, từ đó tăng tính độc lập của hệ thống với các phần cứng khác nhau.

Cg

Cg-hay "C for graphics" là một ngôn ngữ lập trình bậc cao dành cho đồ họa 3D do Nvidia và các trợ lý của Microsoft phát triển, nhằm cung cấp giao diện cao cấp cho DirectX và OpenGL, hoàn toàn tương thích với DX9 Cg bao gồm hai thành phần chính: các đặc tính kỹ thuật lập trình và bộ dịch Cg tương ứng Nvidia đã công bố chi tiết về bộ dịch Cg, kỹ thuật lập trình ngôn ngữ Cg, bộ duyệt Cg cho việc tạo mẫu và dựng hình, cùng các công cụ xây dựng khác Cg được thiết kế để giúp lập trình hiệu quả và dễ sử dụng cho các nhà phát triển phần mềm Người lập trình có thể xây dựng các chương trình bằng Cg để được dịch sẵn trong các môi trường cụ thể hoặc biên dịch khi chạy, hoạt động trên nhiều GPU hỗ trợ DX8, OpenGL 1.4, cũng như các phiên bản tương lai của GPU và hai API, cho phép chạy trên Windows, Linux, Mac OS X và Xbox.

Java3D

Java là một ngôn ngữ lập trình tuyệt vời được mang đến bởi Sun Microsystems Trong hệ sinh thái rộng lớn của Java, Java3D đóng vai trò quan trọng trong việc cung cấp các công cụ cần thiết cho lập trình ứng dụng 3D Chi tiết về Java3D sẽ được trình bày kỹ lưỡng trong phần 3 của luận văn này.

Chương 3 - CÁC CÔNG CỤ SỬ DỤNG 3.1 Java3D

Java3D là ngôn ngữ lập trình đồ họa do Sun MicroSystem phát triển, nhằm hỗ trợ xây dựng các ứng dụng đồ họa 3 chiều và applet Ngôn ngữ này cung cấp cho lập trình viên các cấu trúc cấp cao để tạo ra và điều khiển các hình khối 3D, từ đó kiến tạo các cấu trúc dựng để render hình khối 3D hiệu quả Trong thế giới ảo 3 chiều, các cấu trúc render là thành phần không thể thiếu, đóng vai trò quan trọng trong việc cung cấp thông tin cho bộ dịch của Java3D nhằm tái hiện thế giới ảo một cách hiệu quả nhất Java3D cũng kế thừa những ưu điểm nổi bật của ngôn ngữ Java.

Nền tảng ủộc lập của Java3D có khả năng tương thích cao với nhiều hệ thống khác nhau Các chương trình được phát triển bằng Java3D không chỉ hoạt động tốt trên mạng Internet mà còn cho phép truy cập đầy đủ vào tất cả các lớp Java thông qua các ứng dụng và applet lập trình bằng Java3D API.

Java3D xây dựng đồ họa từ các API đồ họa sẵn có kết hợp với công nghệ mới, với cấu trúc đồ họa mức thấp dựa trên các ngôn ngữ API như DirectX, OpenGL, QuickDraw3D và XGL Cấu trúc đồ họa mức cao của Java3D tích hợp các hệ thống khung cảnh trên nền tảng đồ họa Đặc biệt, Java3D giới thiệu khái niệm âm thanh không gian 3D, điều này mở ra khả năng phát triển nhiều ứng dụng mới mẻ và thú vị, đặc biệt trong ngành công nghiệp game.

Chúng tôi cung cấp một bộ công cụ với các đặc tính quan trọng trong việc xây dựng các thế giới 3D, giúp loại bỏ những yếu tố không cần thiết hoặc các đặc điểm không rõ ràng, nhằm tối ưu hóa trải nghiệm cho lập trình viên.

Cung cấp mô hình lập trình hướng đối tượng bậc cao giúp các nhà thiết kế triển khai nhanh chóng các ứng dụng phức tạp và applet.

Java3D cung cấp các hỗ trợ tải (loader) thời gian thực, cho phép thích nghi với nhiều định dạng file khác nhau, bao gồm các định dạng đặc biệt CAD, cũng như VRML 1.0 và VRML 2.0.

Java3D là một API hướng đối tượng cho phép xây dựng các ứng dụng 3D thông qua các thành phần đồ họa riêng biệt, được tổ chức thành một cấu trúc hình cây gọi là scene graph Các ứng dụng này điều khiển các thành phần đồ họa bằng cách sử dụng các bộ truy cập được xây dựng sẵn cho từng đối tượng, cùng với các biến và phương thức kết nối giữa các nút trong cây scene graph Tuy nhiên, Java3D không thể đáp ứng tất cả các yêu cầu của một ứng dụng 3D, và các nhà thiết kế cần bổ sung hỗ trợ thông qua mã Java.

Hệ thống CAD (computer-aided design) và animation định nghĩa các đối tượng, cho phép ứng dụng Java3D nhận diện chúng Các nhà thiết kế đồ họa có thể tạo ra bất kỳ mô hình 3D nào mà họ thấy phù hợp, miễn là mô hình đó có thể được xuất ra file dữ liệu có cấu trúc mà Java3D hỗ trợ Java3D sẽ đọc thông tin từ file dữ liệu để cung cấp cho bộ render, từ đó tái hiện lại mô hình 3D Ví dụ, trong luận văn này, 3ds max được sử dụng như một công cụ mạnh mẽ để thiết kế mô hình bàn tay người, sau đó xuất ra file VRML, một định dạng mà Java3D hỗ trợ Trong ứng dụng Java3D, có phương thức để đọc dữ liệu từ file VRML và chuyển cho bộ render, nhằm tái hiện mô hình bàn tay trong cửa sổ chương trình.

3.1.3.1 Cấu trỳc cõy trong tổ chức ủối tượng của Java3D

Java3D định nghĩa các lớp cơ bản khác nhau để thiết kế và vận dụng một scene graph, đồng thời điều khiển việc hiển thị và render các hình 3D Cấu trúc đối tượng của Java3D có thể được mô tả như sau: javax.media.j3d, VirtualUniverse, Locale.

Canvas3D (extends awt.Canvas) SceneGraphObject

Các đối tượng thành phần như Transform3D, các lớp ma trận và lớp tuple trong javax.vecmath chứa đựng thông tin chi tiết về một khung cảnh hoặc thế giới ảo Chúng bao gồm dữ liệu hình khối như hình cầu, trụ, lập phương và lưới, cũng như thông tin về thuộc tính như ánh sáng, màu sắc và độ bóng Tất cả các thông tin này sẽ được tổng hợp để tạo ra dữ liệu cho việc render khung cảnh từ góc nhìn đã được chỉ định.

Java3D API cải thiện các API đồ họa trước đó bằng cách loại bỏ nhiều yêu cầu tính toán phức tạp, giúp lập trình viên tập trung vào việc điều khiển các đối tượng hình học Điều này cho phép họ chú trọng vào cấu trúc giữa các đối tượng, thay vì phải lo lắng về các thao tác render để đảm bảo hiệu suất của các hình khối.

Java3D cung cấp ba phương thức render: render trực tiếp (Immediate Mode), render lưu giữ (Retained Mode) và render biên dịch-lưu giữ (Compiled-retained Mode) Những phương thức này cho phép người dùng linh hoạt trong việc chọn cách thực hiện ứng dụng Java3D Hầu hết các nhà phát triển ứng dụng Java3D đều ưa chuộng những cải tiến về tiện nghi và hiệu suất mà phương thức retained và compiled-retained mang lại.

Chế độ Immediate Mode (IM) trong Java3D cho phép các ứng dụng sử dụng hoặc không sử dụng cấu trúc scene-graph, mang lại nhiều tùy chọn cho người dựng Tuy nhiên, nhược điểm của chế độ này là chi phí chạy chương trình cao hơn Trong chế độ IM, Java3D không cung cấp nhiều thông tin ở mức cao liên quan đến các đối tượng đồ họa hoặc mối liên hệ giữa chúng, dẫn đến việc chỉ hỗ trợ tính toán ở mức cục bộ cho từng đối tượng thay vì hỗ trợ ở mức tổng quát.

Có hai dạng Immediate Mode là phương thức render trực tiếp thuần tuý (Pure Immediate Mode-PIM) và phương thức render trực tiếp trộn (Mixed Immediate Mode- MIM)

Phương thức này phù hợp cho các ứng dụng và applet được lập trình mà không muốn Java3D tự động render scene graph Những ứng dụng này không cần xây dựng cấu trúc scene graph để biểu diễn dữ liệu đồ họa, nhưng vẫn muốn sử dụng các thuộc tính của đối tượng Java3D để thiết lập các trạng thái đồ họa và các khối hình 3 chiều có sẵn do Java3D cung cấp, đồng thời thực hiện việc render trước.

VRML

3.2.1 Giới thiệu chung về VRML

VRML, viết tắt của Virtual Reality Modeling Language, là ngôn ngữ mô hình hóa thực tại ảo Mặc dù có nhiều ngôn ngữ lập trình đồ họa bậc cao ra đời, VRML vẫn giữ vai trò quan trọng trong việc phát triển đồ họa 3D trên Internet Khi công nghệ 3D trở nên phổ biến hơn, VRML tiếp tục là ứng cử viên sáng giá cho các trang web 3D, đặc biệt là trong thời điểm hiện tại.

VRML (Virtual Reality Modeling Language) là ngôn ngữ đơn giản với hai phiên bản chính là 1.0 và 2.0 Phiên bản 1.0 được phát triển như một nỗ lực đầu tiên cho ngôn ngữ 3D trên Internet, và sau đó được nâng cấp thành VRML 2.0 Trong phiên bản 2.0, cấu trúc file đã được thay đổi và bổ sung nhiều tính năng mới, chẳng hạn như animation VRML 2.0 đã được trình lên ISO/IEC để chuẩn hóa, dẫn đến việc hình thành VRML97, một tiêu chuẩn chính thức của ISO/IEC Trên thực tế, VRML97 tương tự như VRML 2.0.

Các file dữ liệu VRML có đuôi mở rộng ".wrl" và để chạy được các file này, người dùng cần có bộ duyệt VRML như Cosmo Player hoặc Blaxxun Contact Những bộ duyệt này có khả năng tích hợp với Netscape và Internet Explorer, cho phép người dùng xoay mô hình theo bất kỳ hướng nào để xem ở mọi góc độ.

VRML có cấu trúc khá đơn giản, cho phép lập trình viên lựa chọn giữa việc tự viết code bằng các bộ soạn thảo như Notepad hay sử dụng các phần mềm dựng hình 3D nổi tiếng như 3ds max, Maya hay Poser để xuất dữ liệu dưới dạng file VRML Đối với những phần mềm không hỗ trợ xuất file VRML, có thể sử dụng phần mềm trung gian như Crossroads để chuyển đổi Tuy nhiên, để tạo ra các mô hình 3D chính xác và hoàn hảo, lập trình viên cần nắm vững cấu trúc VRML, có kiến thức về không gian 3 chiều và kỹ năng xử lý ánh sáng Việc viết file VRML hoàn hảo là điều khó khăn, vì vậy cần có công cụ hỗ trợ như Chisel để gỡ lỗi Để dễ dàng hơn trong việc dựng hình 3D, đặc biệt là các mô hình phức tạp, người dùng có thể sử dụng các phần mềm chuyên biệt dành riêng cho 3D Trong luận văn này, chúng tôi đã sử dụng 3ds max để dựng mô hình bàn tay và xuất ra file VRML.

3.2.4 Các thành phần của file VRML

Một file VRML luụn bắt ủầu bằng một dũng header như sau:

Khi duyệt file, trình duyệt sẽ xác định đây là file VRML và phiên bản đang sử dụng, ví dụ như phiên bản 2.0 Cần lưu ý rằng từ "VRML" phải được viết hoa hoàn toàn; nếu viết là "vrml" thì trình duyệt sẽ báo lỗi Việc viết chính xác là V-R-M-L là rất quan trọng, vì những sai sót như "VTML" hay "BRML" có thể xảy ra do vội vàng Ngoài ra, cụm từ "utf8" cho biết chuẩn text của văn bản VRML 1.0 hỗ trợ cả chuẩn ASCII và utf8, trong khi phiên bản 2.0 chỉ sử dụng chuẩn utf8.

Chỳ thớch của VRML bắt đầu bằng ký tự '#', và khi gặp dữ liệu nào bắt đầu bằng ký tự này, bộ phân tích cú pháp sẽ bỏ qua không xử lý dữ liệu đó Mặc dù dữ liệu header của file VRML cũng bắt đầu bằng ký tự '#', nhưng nó không phải là dữ liệu chú thích và vẫn được đọc bởi bộ duyệt VRML.

3.2.4.2 Cỏc nỳt, cỏc trường và ủồ họa khung cảnh

Bài viết này sẽ khám phá cấu trúc của tệp VRML, được coi là tập hợp các nút (node) mà mỗi nút đại diện cho một loại đối tượng Bên trong mỗi nút có các trường (field) thể hiện các thuộc tính của đối tượng Một nút cũng có thể chứa các nút khác, và cú pháp để biểu diễn một nút được mô tả như sau:

Trên ủõy là cỳ phỏp biểu diễn một nỳt dạng Group, là nỳt đơn giản nhất với tên nỳt ở mở ủầu và các trường thuộc tính trong cặp dấu {} Cấu trỳc phõn cấp này được gọi là Scene Graph, cho phép hiểu cách nhúm các nỳt lại với nhau và cách thức lồng ghép hoạt động của chúng Cần lưu ý rằng một số dạng nút không thể là con của nút khác, trong khi một số dạng khác không thể là cha của bất kỳ nút nào Để tìm hiểu thêm về cú pháp lập trình của VRML, độc giả có thể tham khảo thêm thông tin trong các tài liệu liên quan.

Lưu ý rằng cú pháp viết VRML phân biệt chữ hoa và chữ thường Các nút trong VRML thường được viết hoa chữ đầu như Group, Transform, và IndexedFaceSet, trong khi các trường lại viết chữ thường Các từ khác có thể viết thường hoặc hoa tùy ý, nhưng thường thì từ thứ hai trở đi sẽ được viết hoa chữ đầu, ví dụ như children, translation, và coordIndex.

Chương 4 - GIẢI QUYẾT BÀI TOÁN 4.1 Ngôn ng< du hi u

4.1.1 Ngôn ngữ dấu hiệu là gì?

Cỏc tớn hiệu ngụn ngữ tỏc ủộng trực tiếp ủến con người thụng qua thớnh giỏc và thị giỏc, trong đó thớnh giỏc là kờnh cổ xưa hơn Những người khiếm thớnh chịu thiệt thũi lớn về mặt tiếp nhận thụng tin, và thường mất khả năng nói do không nghe được âm thanh Để giao tiếp, họ thường sử dụng điệu bộ, cử chỉ và hành động, nhưng việc học chữ viết để trao đổi lại rất khó khăn, đặc biệt là với những người khiếm thính bẩm sinh hoặc không biết chữ trước khi bị khiếm thính Trong những tình huống không có bút và giấy, dấu hiệu trở thành phương thức trao đổi thụng tin dễ dàng nhất cho người khiếm thính.

Ngôn ngữ dấu hiệu là những cử chỉ và hành động của con người, bao gồm các động tác từ các bộ phận trên cơ thể, nhằm truyền đạt thông tin giữa người với người.

4.1.2 Lịch sử ngôn ngữ dấu hiệu dạy ngụn ngữ ký hiệu dành cho người khiếm thớnh với bảng chữ cỏi ủược thể hiện bằng cỏc ủộng tỏc tay ủó ủược Juan Pablo de Bonet xuất bản năm 1620

Năm 1775, tu sĩ Charles Michel de L'Epee tại Paris đã mở trường học miễn phí đầu tiên dành cho người khiếm thính, dạy họ phát triển kỹ năng giao tiếp thông qua hệ thống cử chỉ và fingerspelling Ông xây dựng ngôn ngữ ký hiệu bằng cách quy định mỗi ký hiệu là biểu tượng cho một khái niệm cụ thể Hệ thống ngôn ngữ ký hiệu này được cộng đồng người khiếm thính ở Paris chấp nhận và theo học, dẫn đến việc ra đời phiên bản ký hiệu đầu tiên của tiếng Pháp Ông đã tạo ra một ngôn ngữ chuẩn hóa giúp người khiếm thính hòa nhập với xã hội, trở thành chiếc cầu nối giữa thế giới im lặng và thế giới âm thanh.

Vào năm 1778, Samuel Heinicke thành lập một trường dạy cho người khiếm thính tại Leipzig, Đức, nổi tiếng với phương pháp giao tiếp bằng miệng và nghe bằng cách chú ý đến cử chỉ Ông đã xây dựng trường học đầu tiên cho người khiếm thính với sự tài trợ của chính phủ, đánh dấu sự khởi đầu cho phương pháp truyền thụng tổng hợp hiện nay Truyền thụng tổng hợp sử dụng đa dạng các phương tiện giao tiếp như ngôn ngữ ký hiệu, cử chỉ, âm thanh và hình ảnh Tại Mỹ, người da đỏ bộ tộc Great Plains cũng phát triển một hệ thống ký hiệu giao tiếp, nhưng chủ yếu phục vụ cho các bộ lạc hơn là cho người khiếm thính Hệ thống này hiện nay chỉ còn lại dấu vết, nhưng vẫn có sự tương đồng nhất định với ngôn ngữ ký hiệu hiện đại.

Ngày nay, ở Mỹ có nhiều trường dạy ngôn ngữ cho người khiếm thính, nhưng ít ai biết rằng người tiên phong trong sự phát triển ngôn ngữ ký hiệu ở đây là Thomas Hopkins Gallaudet Năm 1815, ở tuổi 27, Thomas đã sang châu Âu để học cách giao tiếp với người khiếm thính Tại Anh, ông gặp tu sĩ Roche Ambroise Sicard, người đã mời ông nghiên cứu tại trường dành cho người khiếm thính ở Paris Sau nhiều tháng, Gallaudet trở về Mỹ cùng Laurent Clerc, một giáo viên ngôn ngữ cho người khiếm thính Năm 1817, Gallaudet mở trường học quốc gia đầu tiên dành cho người khiếm thính ở Hartford, Connecticut, và Clerc trở thành giáo viên ngôn ngữ ký hiệu đầu tiên ở Mỹ Các trường học dành cho người khiếm thính khác cũng nhanh chóng được thành lập, nổi bật nhất là New York School vào năm 1818 Đến năm 1820, một trường khác mở ở Pennsylvania, và đến năm 1863, đã có tổng cộng 22 trường học dành cho người khiếm thính trên toàn nước Mỹ.

GIẢI QUYẾT BÀI TOÁN

Ngày đăng: 27/06/2022, 15:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Daniel Selman, “Java3D programing “ Sách, tạp chí
Tiêu đề: Java3D programing
Tác giả: Daniel Selman
[2] Henry A. Sowizral, David R Nadeau, (San Diego Supercomputer Center University of Canifornia at San Diego, “Introduction to Programming with Java3D” Sách, tạp chí
Tiêu đề: Introduction to Programming with Java3D
Tác giả: Henry A. Sowizral, David R Nadeau
Nhà XB: San Diego Supercomputer Center University of California at San Diego
[3] Greg Hopkins, 2001, “The Joy of Java 3D “ Sách, tạp chí
Tiêu đề: The Joy of Java 3D
Tác giả: Greg Hopkins
Năm: 2001
[4] Barbara LeMaster, AAA paper, “Anthropological Linguistics and Deaf Language Policies in the U.S.A. and Ireland: Public Debates and our Possible Roles” Sách, tạp chí
Tiêu đề: Anthropological Linguistics and Deaf Language Policies in the U.S.A. and Ireland: Public Debates and our Possible Roles
[5] Christian Geiger, Wolfgang Mueller, Waldemar Rosenbach, C-LAB, Fuerstenallee11, 33102 Paderborn, Germany, “SAM - An Animated 3D Programming Language” Sách, tạp chí
Tiêu đề: SAM - An Animated 3D Programming Language
[6] Sun Microsystem Inc, “Java 3DTM Programming: A Technical Overview” Sách, tạp chí
Tiêu đề: Java 3DTM Programming: A Technical Overview
Tác giả: Sun Microsystem Inc
[7] Kakuya Yamamoto, Pacific Workshop on Distributed Multimedia Systems (DMS96), pp.199-206, (1996), “3D-Visulan: A 3D Programming Language for 3D Applications” Sách, tạp chí
Tiêu đề: 3D-Visulan: A 3D Programming Language for 3D Applications
Tác giả: Kakuya Yamamoto
Nhà XB: Pacific Workshop on Distributed Multimedia Systems (DMS96)
Năm: 1996
[8] Nadia Magnenat Thalmann, MIRALab, University of Geneva, Daniel Thalmann, Computer Graphics Lab, EPFL, “Computer Animation in Future Technologies” Sách, tạp chí
Tiêu đề: Computer Animation in Future Technologies
[9] Johns Hopkins Department of Computer Science, “Computer Animation” Sách, tạp chí
Tiêu đề: Computer Animation
Tác giả: Johns Hopkins Department of Computer Science
[10] Bruce Eckel, “Thinking in Java” Sách, tạp chí
Tiêu đề: Thinking in Java
[11] Kelly L.Murdock, “3ds max 4 Bible” Sách, tạp chí
Tiêu đề: 3ds max 4 Bible
19104-6389, “ SIMULATING HUMANS: COMPUTER GRAPHICS, ANIMATION, AND CONTROL” Sách, tạp chí
Tiêu đề: SIMULATING HUMANS: COMPUTER GRAPHICS, ANIMATION, AND CONTROL
[13] Sun Microsytem Inc, “Getting Started with the Java 3D API” Sách, tạp chí
Tiêu đề: Getting Started with the Java 3D API
Tác giả: Sun Microsytem Inc
[14] The Duy Bui, Ph.D Thesis, “Creating emotions and facial expressions for embodied agents” Sách, tạp chí
Tiêu đề: Creating emotions and facial expressions for embodied agents
Tác giả: The Duy Bui
[47] Lưu Triều Nguyên, “discreet 3ds max” Sách, tạp chí
Tiêu đề: discreet 3ds max
Tác giả: Lưu Triều Nguyên
[48] Lưu Triều Nguyên, “Sử dụng 3ds max thiết kế hoạt hình nhân vật” Sách, tạp chí
Tiêu đề: Sử dụng 3ds max thiết kế hoạt hình nhân vật
Tác giả: Lưu Triều Nguyên
[50] Dự ỏn “Giỏo dục hũa nhập trẻ khiếm thớnh”, “Ký hiệu của người ủiếc Việt Nam”. p://www.newv Sách, tạp chí
Tiêu đề: Giỏo dục hũa nhập trẻ khiếm thớnh”, “Ký hiệu của người ủiếc Việt Nam
[12] Norman I. Badler, Cary B. Phillips1, Bonnie L. Webber, Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA Khác

HÌNH ẢNH LIÊN QUAN

Ứ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 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
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 1)
Ứ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 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
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 2)
Hình 1: Các thành phần của một H-Anim - (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
Hình 1 Các thành phần của một H-Anim (Trang 7)
Là ựối tượng mô tả khớp nối của mô hình H-Anim. Các ựối tượng Joint ựược tổ chức thành cấu trúc phân cấp mô tả mối liên hệ cha-con mang tắnh thừa kế của các  khớp  trong  hệ  khung  xương - (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
i tượng mô tả khớp nối của mô hình H-Anim. Các ựối tượng Joint ựược tổ chức thành cấu trúc phân cấp mô tả mối liên hệ cha-con mang tắnh thừa kế của các khớp trong hệ khung xương (Trang 9)
Hình 2: Mô hình người và cây khung xương - (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
Hình 2 Mô hình người và cây khung xương (Trang 13)
Hình 3: LOA mức - (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
Hình 3 LOA mức (Trang 14)
Hình 5: LOA mứ c2 - (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
Hình 5 LOA mứ c2 (Trang 15)
Hình 7: Các ựiểm ựặc trưng trên cơ thể người. - (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
Hình 7 Các ựiểm ựặc trưng trên cơ thể người (Trang 21)
ISO kiểm soát việc mô hình hóa các dạng hình nhân H-Anim ựể ựảm bảo các chuyển ựộng (animation) ựược xây dựng cho một dạng hình nhân H-Anim thì cũng có  thể triển khai cho một dạng hình nhân H-Anim khác - (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
ki ểm soát việc mô hình hóa các dạng hình nhân H-Anim ựể ựảm bảo các chuyển ựộng (animation) ựược xây dựng cho một dạng hình nhân H-Anim thì cũng có thể triển khai cho một dạng hình nhân H-Anim khác (Trang 23)
Hình 9: Mô hình 3D của hai hình nhân - (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
Hình 9 Mô hình 3D của hai hình nhân (Trang 24)
Khuôn mặt ựược mô hình hóa với các lông mày giãn ra, môi khép lại và mắt mở to. - (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
hu ôn mặt ựược mô hình hóa với các lông mày giãn ra, môi khép lại và mắt mở to (Trang 25)
Hình 10 : Trục tọa ựộ của các ngón tay - (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
Hình 10 Trục tọa ựộ của các ngón tay (Trang 25)
Hình 1 2: Biểu diễn tượng trưng (bên trái) và cụ thể (bên phải) các ựối tượng 3D - (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
Hình 1 2: Biểu diễn tượng trưng (bên trái) và cụ thể (bên phải) các ựối tượng 3D (Trang 28)
1.2. Phân theo ngành nghề KD - (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
1.2. Phân theo ngành nghề KD (Trang 89)
Bảng 3.10: Tổng mức bán lẻ HH theo giá hiện hành của  TP Hà Nộ thời kỳ 2015-2019 - (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
Bảng 3.10 Tổng mức bán lẻ HH theo giá hiện hành của TP Hà Nộ thời kỳ 2015-2019 (Trang 91)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w