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
796,83 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 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ự 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 xin hoàn toàn chịu trách nhiệm Thái Nguyên, ngày 12 tháng 10 năm 2012 Người cam đoan Phạm Văn Vân 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 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 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 chuyên 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, cô 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 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 hoà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 đỡ trình nghiên cứu thực luận văn Quá 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 hoà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 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 thị Điều khiển tiến Điều khiển ngược Lược sử phụ thuộc v DANH MỤC CÁC HÌNH VẼ Stt Hình vẽ Trang 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 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 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 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”, việc làm ý nghĩa khoa học 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 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 Ngoà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 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 toá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 toá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… 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 toá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 toá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 toá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í 45 Hình 3.1 Trạng thái nghỉ (idle) 46 Hình 3.2 Tạo chuyển động 47 Hình 3.3 Chuyển động công (kiểu 1) 48 Hình 3.3 Chuyển động công (kiểu 2) 49 Hình 3.5 Chuyển động công (kiểu 3) 50 Hình 3.6 Chuyển động bị thương tay trái 51 Hình 3.7 Chuyển động bị thương tay chân 52 Hình 3.8 Trạng thái nằm 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 cô 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 hoà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 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 yê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,… 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 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 ... 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. .. biểu hành vi động vật 20 - Tạo xương cho đối tượng Để điều khiển tạo chuyển động cho mô hình với đối tượng có xương ta cần tạo xương cho đối tượng Có hai phương pháp tạo xương cho đối tượng sử dụng... đối tượng có xương Chẳng hạn chuyển động thể người hay động vật 19 Chương 2: MỘT SỐ KỸ THUẬT TẠO CHUYỂN ĐỘNG CHO ĐỐI TƯỢNG CÓ XƯƠNG 2.1 Xương đối tượng có xương thực ảo - Xương gì? Một cách tổng