Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
901,9 KB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG PHẠM VĂN VÂN NGHIÊN CỨU MỘT SỐ KĨ THUẬT TẠO CHUYỂN ĐỘNG CHO ĐỘNG VẬT Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS Nguyễn Thị Hồng Minh Thái Nguyên - 2012 1Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tôi xin cam đoan toàn nội dung luận văn tự sưu tầm, tra cứu xếp cho phù hợp với nội dung yêu cầu đề tài Nội dung luận văn chưa công bố hay xuất hình thức không chép từ công trình nghiên cứu Tất phần mã nguồn chương trình tơi tự thiết kế xây dựng, có sử dụng số thư viện chuẩn thuật toán tác giả xuất cơng khai miễn phí mạng Internet Nếu sai tơi xin hồn tồn chịu trách nhiệm Thái Ngun, ngày 12 tháng 10 năm 2012 Người cam đoan Phạm Văn Vân 2Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn i MỤC LỤC Trang LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT iii DANH MỤC CÁC HÌNH VẼ iv PHẦN MỞ ĐẦU Chương I: KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ TẠO CHUYỂN ĐỘNG TRONG THỰC TẠI ẢO 1.1 Khái quát Thực ảo 1.1.1 Thực ảo gì? 1.1.2 Sơ lược Lịch sử phát triển Thực ảo 1.1.3 Các thành phần hệ thống Thực ảo 1.1.4 Các lĩnh vực ứng dụng Thực ảo 10 1.2 Tạo chuyển động Thực ảo 17 1.2.1 Vai trò việc tạo chuyển động 17 1.2.2 Các dạng chuyển động 18 Chương 2: MỘT SỐ KỸ THUẬT TẠO CHUYỂN ĐỘNG 19 CHO ĐỐI TƯỢNG CÓ XƯƠNG 19 2.1 Xương đối tượng có xương thực ảo 19 2.2 Kĩ thuật điều khiển tiến FK (Forward kinematics) 23 2.3 Kĩ thuật điều khiển ngược IK (Inverse kinematics) 26 2.2.1 HI (History-Independent) solver 36 2.2.2 HD (History Dependent) Solver 37 2.2.3 IK Limb Solver 38 2.2.4 SplineIK Solver 38 3Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ii Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM .43 3.1 Bài toán 43 3.2 Chương trình thử nghiệm 44 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO .55 4Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii LỜI CẢM ƠN Trong thời gian năm học tập nghiên cứu lớp Cao học khóa chun ngành Khoa học máy tính Khoa Cơng nghệ thông tin, trường Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên, Tôi nhận nhiều bảo, định hướng, giảng dạy nhiệt tình thầy, giáo Viện công nghệ thông tin Việt Nam Các thầy cô giáo quản lý khoa sau đại học - trường Đại học Công nghệ thông tin truyền thông Thái Nguyên giúp đỡ, tạo điều kiện tốt cho tơi q trình cơng tác học tập Nhân dịp xin bày tỏ lời cảm ơn chân thành tới tập thể thầy, cô giáo Viện công nghệ thông tin Việt Nam, thầy cô giáo trường Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên Tôi xin gửi lời cảm ơn chân thành sâu sắc tới cô giáo TS Nguyễn Thị Hồng Minh cho nhiều bảo quý báu, tận tình hướng dẫn tạo điều kiện cho tơi hồn thành tốt luận văn tốt nghiệp Tôi xin cảm ơn đồng nghiệp người thân động viên, giúp đỡ tơi q trình nghiên cứu thực luận văn Q trình thực đề tài khơng tránh khỏi thiếu sót, Tơi mong tiếp tục nhận đóng góp ý kiến thầy, cô giáo, bạn đồng nghiệp đề tài nghiên cứu tơi để đề tài hồn thiện Tôi xin trân trọng cảm ơn! Thái Nguyên, ngày 12 tháng 10 năm 2012 Phạm Văn Vân 5Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iv DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT Ký hiệu/ Chữ viết tắt Viết đầy đủ Ý nghĩa VR Virtual Reality Thực ảo 3D Dimentional Chiều HMD Head Mounted Mũ đội đầu có hiển FK Forward kinematics IK Inverse kinematics HI History- Independent Lược sử độc lập HD History - Dependent Displays 6Số hóa Trung tâm Học liệu – Đại học Thái Nguyên thị Điều khiển tiến Điều khiển ngược Lược sử phụ thuộc http://www.lrc-tnu.edu.vn v DANH MỤC CÁC HÌNH VẼ Stt Trang Hình vẽ Hình 1.1 Ví dụ VR Hình 1.2 Thiết bị mơ Sensorrama-1960 Hình 1.3 Thiết bị mô HMD-1970 Ivan Sutherland Hình 1.4 Thiết bị VIDEOPLACE-1970 Myron Kreuger Hình 1.5 Thiết bị HMD-1984 NASA Hình 1.6 Các thành phần hệ thống VR Hình 1.7 Ứng dụng cơng nghệ VR thiết kế kiến trúc cầu 11 Hình 1.8 Ứng dụng công nghệ VR thiết kế kiến trúc nhà 12 Hình 1.9 Ứng dụng cơng nghệ VR huấn luyện tập nhảy dù 13 10 Hình 1.10 Ứng dụng công nghệ VR đào tạo phẫu thuật ảo 14 11 Hình 1.11 Ứng dụng cơng nghệ VR Du lịch 15 12 Hình 1.12 Các logo phim dùng 3D ảo 16 13 Hình 1.13 Ứng dụng cơng nghệ VR lĩnh vực giải trí 16 14 Hình 2.1 Tạo xương cho khủng long 20 15 Hình 2.2 Mơ hình khung xương người 21 16 Hình 2.3 Mơ tả tham số Denavit-Hartenberg 24 17 Hình 2.4 Sử dụng điều khiển IK để tạo chuyển động cho chân 25 thao tác với bóng 18 Hình 2.5 Sử dụng giải pháp IK để làm cho bàn tay 28 nhân vật đạt mục tiêu 19 Hình 2.6 Một liên kết IK đơn 28 20 Hình 2.7 Mơt liên kết đơi IK 29 21 Hình 2.8 Một IK có nhiều giải pháp 30 22 Hình 2.9 Xoay liên kết cuối cách sử dụng kỹ thuật phối hợp Descent Cylic cho IK 32 7Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn vi 23 Hình 2.10 Quay liên kết trung gian cách sử dụng kỹ thuật 33 Phối hợp Descent Cylic cho giải pháp IK 24 Hình 2.11 Hệ thống xương ứng dụng xử lí HI solver 37 25 Hình 2.12 Xác định chốt chuỗi xương 39 26 Hình 3.1 Trạng thái nghỉ (idle) 45 27 Hình 3.2 Tạo chuyển động 46 28 Hình 3.3 Chuyển động công (kiểu 1) 47 29 Hình 3.3 Chuyển động cơng (kiểu 2) 48 30 Hình 3.5 Chuyển động cơng (kiểu 3) 49 31 Hình 3.6 Chuyển động bị thương tay trái 50 32 Hình 3.7 Chuyển động bị thương tay chân 51 33 Hình 3.8 Trạng thái nằm 52 8Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn PHẦN MỞ ĐẦU Thế kỷ 21 với phát triển bùng nổ ngành công nghệ thông tin đem lại cho người thành tựu to lớn Đặc biệt năm gần đây, công nghệ thực ảo phát triển triển mạnh mẽ đem lại thành tựu đáng kể cho nhiều lĩnh vực y tế, giáo dục, kiến trúc, du lịch, giải trí “Thực ảo” (virtual reality-VR) thực chất lĩnh vực nhằm mô giới thực người vào máy tính, mà người tương tác cảm nhận giới thực Có thể nói lĩnh vực Thực ảo lĩnh vực vô rộng lớn cơng nghệ thơng tin Nó bao gồm nhiều hướng phát triển ứng dụng, khơng thể khơng nói tới vấn đề điều khiển mơ hình mà việc tạo chuyển động cho đối tượng cần thiết, quan trọng Việc tạo chuyển động đối tượng có nhiều kỹ thuật, ví dụ như: chuyển động theo thời điểm chính, chuyển động theo đường cong xác định trước, chuyển động không tuyến tính với đoạn, chuyển động theo ràng buộc thuộc tính, Khi có chuyển động, tương tác đối tượng với đối tượng khác mơi trường xung quanh Từ mơ hình trở nên chân thực sống động Vậy làm để tạo chuyển động cho đối tượng để thể hành vi, trạng thái đối tượng giới thực cơng việc khơng đơn giản Việc địi hỏi người tạo chuyển động phải hiểu rõ đối tượng thực tế có kiến thức sâu hỗ trợ tạo chuyển động mà công cụ đưa Được định hướng giáo viên hướng dẫn, vào bối cảnh phát triển thành thực ảo đem lại nên định lựa chọn đề tài: “Nghiên cứu số kĩ thuật tạo chuyển động cho động vật”, 9Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn việc làm khơng có ý nghĩa khoa học cịn mang đận tính thực tiễn thực tế công việc Tôi xã hội đặt yêu cầu, đòi hỏi vấn đề mà đề tài nghiên cứu Nội dung luận văn trình bày chương: Chương 1: Khái quát Thực ảo tạo chuyển động Thực ảo Trong chương cung cấp nhìn tổng quan trình phát triển lĩnh vực ứng dụng Thực ảo, đồng thời trình bày sơ lược tạo chuyển động hệ Thực ảo Tại chương Tôi đưa lý thuyết để làm sở cho phần trình bày số kỹ thuật tạo chuyển động cho đối tượng có xương chương Chương 2: Một số kỹ thuật tạo chuyển động cho đối tượng có xương Trong chương này, Tôi xin giới thiệu kỹ thuật tạo chuyển động cho đối tượng có xương Đó tạo chuyển động sử dụng điều khiển ngược IK (Inverse kinematics) sử dụng điều khiển tiến FK Ngoài chương nghiên cứu đối tượng có xương, đối tượng khơng xương tìm hiểu số phương pháp điều khiển chuyển động áp dụng cho đối tượng có xương Chương 3: Chương trình thử nghiệm Trong chương này, tác giả đưa toán cụ thể thực việc áp dụng kĩ thuật tìm hiểu để mơ chuyển động cho đối tượng có xương 10Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 42 chỉnh lại đường cong di chuyển gậy cho đầu gậy trạm đến đích Chỉnh cách vừa làm bàn tay bị bất động lãng phí thời gian Ngồi ra, sử dụng FK, góc cổ tay bị ảnh hưởng dịch chuyển (translation) khuỷu tay, cổ tay, khuỷu tay bị ảnh hưởng chuyển động vai Thông thường, điều tuyệt, giúp diễn hoạt ta có cảm giác liên kết cánh tay, ta muốn giới hạn chuyển động cổ tay, ta thực nhiều công sức để điều chỉnh đường chuyển động (curves), góc cổ tay chịu ảnh hưởng yếu tố khác nhau, yếu tố lại ảnh hưởng lẫn 50Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 43 Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM 3.1 Bài toán Để củng cố cho phần lý thuyết nghiên cứu, tác giả chọn số kĩ thuật để thực việc mô đối tượng Bài tốn mơ đối tượng đặt sau: - Đầu vào: Mơ hình nhân vật 3D, dạng lưới đa giác (thường tam giác), khung xương tương ứng Trong phạm vi đề tài, tác giả sử dụng khung xương có sẵn thiết kế đăng tải miễn phí mạng internet + Mơ hình bề mặt (mesh) + Dữ liệu animation (khung xương) - Đầu ra: + Chuyển động mơ hình theo khung xương - Phương pháp: Sử dụng kỹ thuật điền khiển ngược IK điều khiển tiến FK, thử nghiệm đây, tác giả sử dụng kỹ thuật điều khiển ngược IK trình bày mục 2.2 Kĩ thuật điều khiển ngược IK áp dụng để giải việc tính tốn tham số vị trí hướng quay thời điểm cho thành phần khung xương Sử dụng Open GL việc draw mơ hình lên hình thơng qua lệnh như: glDraw(),glVertex3fv (),glColor3f () …Tạo góc nhìn cho chương trình glViewport(),gluPerspective()… Tại chuyển động có thơng tin số khớp biến đối, thông tin trạng thái đầu tranhg thái cuối (vị trí, hướng) để tạo chuyển động sử dụng kỹ thuật nội suy… 51Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 44 3.2 Chương trình thử nghiệm Hệ thống mô thử nghiệm chuyển động cho đối tượng có xương người gác cổng thơng qua sử dụng ngơn ngữ lập trình Visual C ++, thư viện đồ hoạ OpenGL Các bước thuật toán: Load mesh (vertieces, indexs, nomals, texcoord, texture), animation (hệ thống phân cấp khớp, số lượng frame) Tính tốn tham số vị trí hướng thời điểm t cho khớp theo frame Xây dựng xương cho hành động Tính tốn tác động ngược lại mesh Render kết Tại thời điểm ban đầu, mơ hình trạng thái nghỉ Sau vị trí mục tiêu xác định cho chuyển động Việc tính tốn vị trí hướng cho thành phần mơ hình khung xương chuyển động sử dụng công thức trình bày phần 2.3 chương - Các tham số cài đặt chương trình + Các thông tin mesh: Vertieces, indexes,nomals… + Các thôn tin skeleton: số lượng joint, sơ đồ phân cấp joint, ảnh hưởng tương ứng bề mặt joint… + Tại frame có tham số vị trí đầu cuối joint (tạo độ, hướng) Dưới tác giả chọn số chuyển động đặc biệt người gác cổng chẳng hạn như: đi, đứng, công tay, chân, cơng vũ khí 52Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 45 Hình 3.1 Trạng thái nghỉ (idle) 53Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 46 Hình 3.2 Tạo chuyển động 54Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 47 Hình 3.3 Chuyển động cơng (kiểu 1) 55Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 48 Hình 3.3 Chuyển động cơng (kiểu 2) 56Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 49 Hình 3.5 Chuyển động cơng (kiểu 3) 57Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 50 Hình 3.6 Chuyển động bị thương tay trái 58Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 51 Hình 3.7 Chuyển động bị thương tay chân 59Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 52 Hình 3.8 Trạng thái nằm 60Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 53 KẾT LUẬN Sau thời gian thực đề tài với nỗ lực, cố gắng thân với hướng dẫn nhiệt tình giáo TS Lê Thị Hồng Minh, Tơi thu số kết sau: + Trình bày kiến thức khái quát thực ảo tạo chuyển động thực ảo + Một số kỹ thuật tạo chuyển động cho đối tượng 3D + Đặc biệt luận văn sâu vào tìm hiểu hiểu kĩ thuật tạo chuyển động cho đối tượng có xương Qua thấy ưu nhược điểm kĩ thuật lựa chọn kĩ thuật phù hợp với đối tượng cần tạo chuyển động Nhờ ta giải vấn khó khăn lớn thực ảo để tạo chuyển động cho đối tượng linh hoạt, uyển chuyển, chân thực sống động Luận văn tìm hiểu cách tạo xượng cho đối tượng có xương số điều khiển áp dụng cho đối tượng có xương Từ ta áp dụng điều khiển cho đối tượng có xương cách hợp lí, tạo chuyển động phức tạp + Nghiên cứu công cụ đồ hoạ chuyên nghiệp 3DsMax, Maya, củng cố kỹ lập trình Visual C++ Tìm hiểu ngơn ngữ lập trình VRML OpenGL + Thiết kế chương trình demo sử dụng kĩ thuật nghiên cứu để kiểm chứng thể kiến thức nghiên cứu, tìm hiểu Hướng phát triển luận văn: Với tiềm lĩnh vực Thực ảo nói chung phạm vi đề tài nói riêng, tác giả mong muốn cố gắng phát triển hồn thiện vấn đề sau: + Trình bày chi tiết vào việc tìm hiểu mối ràng buộc thuộc tính, đối tượng chuyển động, ràng buộc chuyển động với bề mặt đối tượng Việc tạo mối ràng buộc thuộc tính đối tượng 61Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 54 chuyển động khó khăn phức tạp, thực tốt tạo hoạt cảnh chuyển động linh hoạt phức tạp Nếu có điều kiện tương lai không xa Tôi bổ sung phần cho hoàn thiện + Nâng cao kỹ phân tích kỹ thuật tạo chuyển động, đảm bảo tính thẩm mỹ chuyên nghiệp chương trình đồ hoạ vi tính Tiến tới tạo kết xuất chương trình lớn đáp ứng u cầu tích hợp vào hệ mơ chuyển động thương mại + Kết hợp nhuần nhuyễn kỹ thuật tạo chuyển động hiệu ứng thực ảo Tìm hiểu sâu thêm tính công cụ phát triển từ có kiến thức tổng quát, chuyên sâu, sẵn sàng cho việc phân tích thiết kế hệ Thực ảo có gắn với mơ chuyển động,… 62Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 55 TÀI LIỆU THAM KHẢO Tiếng Việt Lưu Triều Nguyên, (2002), Thiết Kế chiều với 3DS Max 4, NXB Lao Động - Xã Hội, Tr 445-494, Tr 589-595 Nguyễn Huy Sơn (2006), “Virtual Reality Technologie - Công nghệ Thực ảo ”, http://tusach.thuvienkhoahoc.com Lê Huy Vần (2005), Nghiên cứu phát va chạm ứng dụng, Khoá luận văn tốt nghiệp, ĐH Công nghệ -ĐHQG Hà Nội, Tr 41-50 Đề tài “Ứng dụng công nghệ thực ảo Virtual Reality-VR bảo tàng di sản”, Đề tài trọng điểm cấp Viện KH CN Việt Nam 20042006 Tiếng Anh Applications, Hardware - Virtual Reality; http://vresources.org/ Animation - Keyframe, IK; http://www.autodesk.com/techpubs/aliasstudio/2010/index.html?url=Animat ionIKAddIKhandle.htm,topicNumber=d0e213743 GameCharDevCh03 - Game Character Development with Maya Antony Ward Copyrigh @ 2005 by Antony Ward; http://www.peachpit.com Henry David (2005), “MD5Mesh and MD5Anim files formats”, http://tfc.duke.free.fr/coding/md5-specs-en.html Keith Grochow, Steven L Martin, Aaron Hertzmann,Zoran Popovi´c (2004), “Style-Based Inverse Kinematics”, in ACM Trans on Graphics (Proc SIGGRAPH 2004) 10 Taku Komura, Yoshihisa Shinagawa, Tosiyasu L Kunii, "An Inverse Kinematics Method Based on Muscle Dynamics," cgi, pp.0015, Computer 63Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 56 Graphics International 2001 (CGI'01), Hong Kong, China July 03-July 06 2001 11 Deepak Tolani, Ambarish Goswami, and Norman I Badler (2000), “RealTime Inverse Kinematics Techniques for Anthropomorphic Limbs”, Graphical Models and Image Processing Volume 62 Issue 5, Sept 2000, Academic Press, Inc Orlando, FL, USA 12 Jin Ok Kim, Bum Ro Lee, Chin Hyun Chung (2003), “The Inductive Inverse Kinematics Algorithm for Manipulating the Posture of an Articulated Body”, Intelligent Data Engineering and Automated Learning Lecture Notes in Computer Science Volume 2690, 2003, pp 135-142 13 Taku Komura, Atsushi Kuroda, Shunsuke Kudoh, Chiew-Lan Tai, Yoshihisa Shinagawa(2003), “An inverse kinematics method for 3D figures with motion data”, Computer Graphics InternationalIEEE Computer Society (2003) , p 266-271 64Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ... lược tạo chuyển động hệ Thực ảo Tại chương Tôi đưa lý thuyết để làm sở cho phần trình bày số kỹ thuật tạo chuyển động cho đối tượng có xương chương Chương 2: Một số kỹ thuật tạo chuyển động cho. .. ảo 10 1.2 Tạo chuyển động Thực ảo 17 1.2.1 Vai trò việc tạo chuyển động 17 1.2.2 Các dạng chuyển động 18 Chương 2: MỘT SỐ KỸ THUẬT TẠO CHUYỂN ĐỘNG 19 CHO ĐỐI TƯỢNG... công kỹ thuật tạo chuyển động VR cho phép ta sâu vào giới ảo để tạo giá trị thật cho sống người Nhưng để tạo chuyển động cho đối tượng để thể hành vi, trạng thái giới thực không đơn giản Tạo chuyển