Nghiên cứu một số vấn đề về động lực học chất rắn trong xử lý va chạm

27 440 0
Nghiên cứu một số vấn đề về động lực học chất rắn trong xử lý va chạm

Đ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

1 ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ THÔNG TIN Vũ Quang Hƣng VŨ QUANG HƢNG NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ ĐỘNG LỰC HỌC CHẤT RẮN TRONG XỬ LÝ VA CHẠM NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ ĐỘNG LỰC HỌC CHẤT RẮN TRONG XỬ LÝ VA CHẠM Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS Đỗ Năng Toàn Thái Nguyên – 2009 Thái Nguyên – 2009 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số 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 LỜI CẢM ƠN 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 Trong thời gian làm luận văn em gặp phải nhiều vấn đề phức tạp, khó xử lý đề tài mà em nghiên cứu mẻ đặc biệt lại mẻ Việt nam nên lại gặp nhiều khó khăn vấn đề tài liệu thức không chép từ công trình nghiên Sau thời gian nghiên cứu tìm hiểu, luận văn em cứu Tất phần mã nguồn chương trình tự thiết kế xây dựng, hoàn thành lời em xin trân thành cảm ơn giúp đỡ quí báu, có sử dụng số thư viện chuẩn thuật toán tác giả xuất hướng dẫn nhiệt tình bảo tận tụy thày giáo PGS.TS Đỗ Năng Toàn - công khai miễn phí mạng Internet Viện Công nghệ Thông tin thuộc Viện Khoa học Công nghệ Việt Nam người trực tiếp hướng dẫn em suốt thời gian làm luận văn Nếu sai xin xin hoàn toàn chịu trách nhiệm Cảm ơn thày giáo, cô giáo, anh, chị công tác Phòng VRLAB – Viện Thái Nguyên, ngày 10 tháng 11 năm 2009 Người cam đoan Công nghệ thông tin, thầy cô giáo công tác Khoa công nghệ thông tin – ĐHTN, tập thể bạn học viên lớp cao học Khóa giúp đỡ nhiệt tình chia sẻ với em kinh nghiệm học tập, nghiên cứu suốt khoá học Xin cảm ơn Ban lãnh đạo Trường CĐCN Việt đức, toàn thể Vũ Quang Hưng bạn đồng nghiệp Khoa CNTT nhiệt tình tạo điều kiện giúp đỡ thời gian, vật chất tinh thần để hoàn thành khóa học Thái Nguyên, ngày 10 tháng 11 năm 2009 Học viên Vũ Quang Hƣng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn i ii 2.2.1.1 Mô ment quán tính ( Moment of Inertia) 32 2.2.1.2 Mô ment quay (Torque) 33 Trang 2.2.1.3 Mối liên hệ mô ment quán tính mô men quay 34 2.2.1.4 Vectơ trạng thái đối tượng 34 2.2.1.5 Tính toán xung lực ảnh hưởng 36 MỤC LỤC PHẦN MỞ ĐẦU Chƣơng 1: KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ ĐỘNG LƢỢNG HỌC CHẤT RẮN 2.2.2 Xử lý hiệu ứng méo mó, biến dạng sau va chạm 38 2.2.2 Ý tưởng thuật toán 38 1.1.1 Thế thực ảo? 2.2.2.2 Hàm Open Uniform B-Splines 39 1.1.2 Thực ảo đặc tính Chương 3: 40 1.1.3 Các thành phần thực ảo: 1.1.4 Ứng dụng thực ảo công cụ phát triển: 3.1 Bài toán 40 1.1.5 Công cụ phát triển ứng dụng thực ảo: 11 3.2 Xây dựng hệ thống mô tình giao thông 40 13 3.3 Thực nghiệm 42 1.2.1 Va chạm gì? 13 KẾT LUẬN 44 1.2.2 Động lượng gì? 15 TÀI LIỆU THAM KHẢO 45 1.2.3 Mối liên quan động lượng va chạm 15 Chương 2: 16 1.1 1.2 Khái quát thực ảo (VR - Virtual Reality) Động lượng vật rắn thực ảo: ỨNG DỤNG THỬ NGHIỆM MỘT SÔ VẤN ĐỀ VỀ ĐỘNG LƢỢNG HỌC CHẤT RẮN 2.1 Tính toán va chạm 16 2.1.1 Kĩ thuật phát va chạm dựa vào hộp bao AABB 17 2.1.1.1 Định nghĩa hộp bao AABB 17 2.1.1.2 Phát va chạm hai AABB 12 2.1.2 Kỹ thuật hộp bao theo hướng (Oriented Bounding Boxes) 18 2.1.2.1 Định nghĩa hộp bao theo hướng (OBB) 18 2.1.2.2 Kiểm tra nhanh va chạm hai hộp bao OBBs 20 2.1.3 Tìm điểm va chạm 25 2.1.4 Phát va chạm đối tượng di chuyển 31 2.2 Xử lý va chạm 31 2.2.1 Động lực học vật rắn 32 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii iv DANH MỤC CÁC BẢNG DANH MỤC CÁC TỪ TIẾNG ANH VIẾT TẮT VR Virtual Reality AABB Axis-Aligned Bounding Boxes OBB Oriented Bounding Boxes 3D Dimensions Bảng 2.1 Bảng giá trị R, R0, R1 tính toán trước 25 Bảng 2.2 Tính toán sẵn toạ độ tiếp điểm trường hợp 30 Bảng 2.3 Bảng kí hiệu sử dụng xử lý hậu va chạm 37 DANH MỤC CÁC HÌ NH VẼ Hình 1.1 Sử dụng tay điều khiển mũ chụp ảo Hình 1.2 Mô nội thất 3D Hình 1.3 Mắt kính dùng để xem phim Hinh 1.4 Các trang phuc ảo, găng tay ảo, kính ảo Hình 1.5 Các logo phim dùng 3D ảo I Imagination, Interactive, Immersion Hình 1.6 Hệ thống tập lái xe ảo 3D PC Persional Computer Hình 1.7 Mô tim người 3D, 10 Hình 1.8 Sơ đồ động trình bày hệ có va chạm xảy 13 Hình 1.9 Bóng va chạm với vợt, nắm đấm bị núm vào bao cát 14 Hình 2.1 Hộp bao AABB đối tượng 17 Hình 2.2 Hộp bao OBB đối tượng 19 Hình 2.3 Hình chiếu P lên đường thẳng d 20 Hình 2.4 Chiếu đỉnh hình hộp lên trục cô lập d 21 Hình 2.5 Kết chiếu hình hộp lên trục cô lập d 23 Hình 2.6 Tìm điểm va cham hai đối tượng tiếp xúc 26 Hình 2.7 Mô ment quán tính số đối tượng có hình dạng 33 Hình 2.8 Mô ment quay đối tượng có lực tác dụng 34 Hình 3.1 Sơ đồ khối hệ thống mô tình giao thông 40 Hình 3.2 Các thông tin vụ va chạm 41 Hình 3.3 Quang cảnh tình giao thông 42 Hình 3.4 Chuyển động phương tiện qua ngã tư giao cắt 43 Hình 3.5 Va cạnh xảy xe 04 chỗ xe tải ngược chiều 43 CAD Computer Aided Design CAM Computer Aided Manufacturing Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn công trình xây dựng đắn Trong giáo dục, thí nghiệm, ví dụ PHẦN MỞ ĐẦU mô tả sát thực máy tính giúp cho người học hứng thú hơn, kiến thức Công nghệ thông tin đã, tiếp tục đà phát triển mạnh mẽ thể rõ hơn, trực quan hơn, đầy đủ mình, phát triển nhanh chóng đem lại thành tựu đáng kể cho nhiều Trên giới việc ứng dụng công nghệ mô (thực chất công nghệ lĩnh vực y tế (với phần mềm quản lý bệnh viện, mô tim người, thể thực ảo) vào lĩnh vực triển khai rộng rãi đạt người, mô cơ…), giao thông (các phần mềm trắc nghiệm thi lý thuyết lái xe, nhiều thành nước ta lĩnh vực mẻ, nên ứng dụng phần mềm mô lái xe ảo, …), giáo dục (hệ thống phần mềm quản lý, giáo hạn chế, không đáng kể, số đơn vị đầu ngành quan án, giáo trình điện tử, website đào tạo trực tuyến,….), quốc phòng… tâm, tìm hiểu phát triển năm gần đạt Đến nhứng năm gần đây, đà phát triển xuất mô hình thành công định phát triển mới, mà phạm vi ứng dụng rộng lớn nhiều so với “Thực ảo” thực chất mô giới thực người vào máy tính, trước Nó dự báo tương lai có nhiều tiềm năng, cánh cửa rộng mở, mà người tương tác cảm nhận giới thực Một công nghệ mô Các vấn đề trước vốn khó trình vấn đề tương đối phức tạp việc mô mô vật rắn, bày, nói, hay diễn tả trở nên dễ dàng vấn đề trạng thái chúng sau chịu tác động ngoại lực, chúng biến đổi diễn tả dạng hình ảnh, trực quan, sinh động, chi tiết, dễ hiểu, dễ nắm bắt nào, làm sao, va chạm: gần gũi, thân thiện với người hơn, có tính thẩm mỹ cao Va chạm vấn đề khó phức tạp để nghiên cứu, thực tế có Hãy tưởng tưởng cố gắng dùng hết khả kiến thức nhiều vụ va chạm cố ý (như vụ thử xe, kiểm tra mức độ an để diễn tả cho bạn hình dạng, cấu tạo hoạt động tim Cho dù anh toàn thiết bị…) không cố ý (như vụ tai nan giao thông), ta có cố gắng tin bạn mà hiểu tường tận tất tạo biến dạng, méo mó không mong muốn… nhìn chung vấn đề Nhưng chắn với kỹ thuật mô tim tạo chúng gây thiệt hại cải vật chất hay để lại hậu nghiêm trọng ra, trước mắt bạn, bạn nhìn thấy nó, với đặc điểm màu sắc đăc trưng, vòng nhịp đập theo chu kỳ Lúc chắn bạn Giả sử vụ tai nạn giao thông xảy công an cần dựng lai vụ tai nạn đó, họ cần phải có đầu vào phương tiện có tham gia vụ tai nạn, tiếp hiểu chất tim theo họ phải tiến hành thử cách cho phương tiện va chạm với Quá trình “tái tạo” tượng, vật giới thực máy tính có cự ly, tốc độ, hướng,… khác trình phải diễn nhiều tác dụng Trong giải trí, giúp xây dựng trò nhiều lần Như thời gian tốn Chi nên giải vấn đề chơi sống động, gần gũi với người tạo sức lôi mạnh mẽ Trong xây theo hướng khác, tức thay vụ thử thực tế phép thử phần dựng, việc dựng mô hình thực ảo cho phép có nhìn trực mềm máy tính với liệu đầu vào lấy từ trường liệu đầu vào thay quan, xác để đưa định, sáng kiến thiết kế đổi (tương đương với liệu cho phép thử), ứng với thay đổi Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn liệu đầu vào cho kết mô khác Nếu Chương 1: chuyện trở nên đơn giản, tiện lợi, hiệu mức độ tốn min… KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ ĐỘNG LƯỢNG HỌC CHẤT RẮN Cũng xuất phát từ nhu cầu thực tế từ thành đầy hứa hẹn thực ảo mang lại nên định lựa chọn đề tài: “Nghiên cứu số vấn đề động lượng học chất rắn xử lý va chạm” để làm luận văn tốt nghiệp 1.1 Khái quát thực ảo (VR - Virtual Reality) Thực ảo có tiềm ứng dụng vô to lớn đời sống xã hội Luận văn Phần mở đầu, Phần kết luận chương nội dung, cụ thể: người phát triển chung giới Chương 1: Khái quát thực ảo động lượng học chất rắn 1.1.1 Thế thực ảo? Thực ảo đời vào khoảng đầu thập kỷ 90 phát triển tập trung Chương 2: Một số vấn đề động lượng học chất rắn nước phương tây (chủ yếu Mỹ Châu âu) Thực ảo định nghĩa theo Chương 3: Ứng dụng thử nghiệm nhiều cách khác Xét phương diện chức để đánh giá hiểu : Thực ảo hệ thống mô phỏng, đồ họa máy tính sử dụng để tạo giới "như thật" Hơn nữa, giới "nhân tạo" không tĩnh tại, mà lại phản ứng, thay đổi theo ý muốn (tức tín hiệu vào) người sử dụng (nhờ hành động, lời nói, ) Điều xác định đặc tính Thực ảo, khả tương tác với thời gian thực (real-time interactivity) Thời gian thực hiểu máy tính có khả nhận biết tín hiệu vào người sử dụng thay đổi giới ảo Người sử dụng nhìn thấy vật thay đổi hình theo ý muốn họ bị thu hút mô Tương tác khả thu hút Thực ảo góp phần lớn vào cảm giác đắm chìm (immersion), cảm giác trở thành phần hành động hình mà người sử dụng trải nghiệm Nhưng Thực ảo đẩy cảm giác "thật" nhờ tác động lên tất kênh cảm giác người Trong thực tế, người dùng nhìn thấy đối tượng đồ họa 3D nổi, điều khiển (xoay, di chuyển, ) đối tượng hình (như game), mà sờ cảm thấy chúng có thật Ngoài khả nhìn (thị giác), nghe (thính giác), sờ (xúc giác), nhà nghiên cứu nghiên cứu để tạo cảm giác khác ngửi (khứu giác), nếm (vị giác) [3],[5],[13] Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Từ phân tích trên, thấy định nghĩa sau C Burdea khắp nơi cách độc lập, người ta thiết lập áp đặt việc truy P Coiffet Thực ảo tương đối xác: VR - Thực ảo hệ cập vào khu vực ảo định, cho phép có nhiều mức độ tự khác thống giao diện cấp cao Người sử dụng Máy tính Hệ thống mô hay định vị điểm nhìn người dùng, kiểm soát điểm nhìn, di chuyển vật tượng theo thời gian thực tương tác với người sử dụng qua khắp thiết kế tổng hợp kênh cảm giác Đó ngũ giác gồm: thị giác, thính giác, xúc giác, khứu giác, vị giác [4] 1.1.2 Thực ảo đặc tính - Khả đắm chìm (Immersion): Một hiệu ứng mạnh mẽ khả tập trung ý người sử dụng Sự đắm chìm có nghĩa ngăn chặn xao nhãng tập trung cách có chọn lọc vào thông tin với Hình 1.2 Mô nội thất 3D mà ta muốn làm Khả tập trung vào công việc dường điều kiện tiên thành công Một thuộc tính then chốt khác đắm chìm - Tính tưởng tượng (Imagination): Thực ảo không hệ thống tác động thấu kính mạnh để khai thác kiến thức từ kiện tương tác Người - Máy tính, mà ứng dụng liên quan tới việc giải cách biến đổi thành kinh nghiệm Năng lực lý khiến cho vấn đề thật kỹ thuật, y học, quân sự, Các ứng dụng nhà nhiều ngành công nghiệp riết khai phá cách sử dụng môi trường ảo phát triển Thực ảo thiết kế, điều phụ thuộc nhiều vào khả Tưởng tượng người, đặc tính "I" (Imagination) thứ ba Thực ảo Do coi Thực ảo tổng hợp ba yếu tố: Tương tác - Đắm chìm Tưởng tượng Hình 1.3 Mắt kính dùng để xem phim Hình 1.1 Sử dụng tay điều khiển mũ chụp ảo - Sự tương tác (Interactive): Có hai khía cạnh điều hướng động lực học Sự điều hướng (navigation) khả người dùng để di chuyển Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1.1.3 Các thành phần thực ảo: Một hệ thống thực ảo gồm có thành phần sau [4]: - Các ứng dụng (Nghiên cứu – Đào tạo – Thương mại) - Mô hình, mô Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - Phần cứng, phần mềm - Mạng liên kết - Người dùng Thực ảo phải có khả mô động học, động lực học, mô ứng xử đối tượng Nói chung, hệ thống thực ảo phải xử lý mội khối lượng lớn thông tin (đa phần thông tin đối tượng 3D tốn nhớ đòi hỏi thời gian xử lý thời gian thực), đòi hỏi lượng tài nguyên nhớ RAM lớn Ở tập trung vào tìm hiểu phần cứng phần mềm VR xử lý thiết bị vào có tốc độ cao Vì bắt đầu nghiên cứu từ lâu, xong số năm gần thực ảo có phát triền * Phần cứng: mở rộng ứng dụng đáng kể + Máy tính (PC hay Workstation với cấu hình đồ họa mạnh) + Các thiết bị đầu vào (Input devices): Bộ dò vị trí (position tracking) để xác định vị trí quan sát Bộ giao diện định vị (Navigation interfaces) để di chuyển vị trí 1.1.4 Ứng dụng thực ảo công cụ phát triển: * Ứng dụng: Thực ảo có nhiều ứng dụng tất lĩnh vực: người sử dụng Bộ giao diện cử (Gesture interfaces) găng tay liệu (data - glove) để người sử dụng điều khiển đối tượng Giải trí: Với phát triển kỹ thuật công nghệ mô người ta + Các thiết bị đầu (Output devices): gồm hiển thị đồ họa (như hình, xây dựng phim hoạt hình 3D, mô hình dạng cối, đồ vật, HDM, ) để nhìn đối tượng 3D Thiết bị âm (loa) để nghe âm cử động người kết nối với nhân vật ảo máy tính, tạo dựng kỹ vòm (như Hi-Fi, Surround, ) Bộ phản hồi cảm giác (Haptic feedback xảo điện ảnh, cảnh quay sống động, chân thật mà giảm bớt nhiều thời găng tay, ) để tạo xúc giác sờ, nắm đối tượng Bộ phản hồi xung lực (Force gian tiền bạc Feedback) để tạo lực tác động đạp xe, * Phần mềm: + Phần mềm linh hồn Thực ảo hệ thống máy tính đại Ta dùng ngôn ngữ lập trình hay phần mềm đồ họa để mô hình hóa (modelling) mô (simulation) đối tượng VR Ví dụ: ngôn ngữ (có thể tìm miễn phí) OpenGL, C++, Hinh 1.4 Các trang phuc ảo, găng tay ảo, kính ảo Java3D, VRML, X3D, hay phần mềm thương mại WorldToolKit, PeopleShop, + Phần mềm Thực ảo phải bảo đảm công dụng chính: Tạo hình Mô Các đối tượng Thực ảo mô hình hóa nhờ phần mềm hay chuyển sang từ mô hình 3D (thiết kế nhờ phần mềm CAD khác AutoCAD, 3D Studio,3D max, ) Sau phần mềm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 1.5 Các logo phim dùng 3D ảo Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 10 Giáo dục: Mô thí nghiệm, phản ứng hóa học Xây dựng phần mềm mô phần mềm tạp lái ôtô 3D, tạo cho người học có cảm giác lái xe thật, xử lý tình thông thường, qua học hỏi kinh nghiệm, tránh rủi không mong muốn xe thật Hình 1.6 Hệ thống tập lái xe ảo 3D - Hình 1.7 Mô tim người 3D Y học: Việc tìm kiếm mẫu, mô hình làm thí nghiệm (nhất thể người) vấn đề khó khăn, kinh phí dắt, phận, vấn đề văn hóa dân tộc…nên việc lập chương trình, phần mềm để mô phận thể người, trình giải phẫu, bệnh nhu cầu cần thiết, không cung cấp thư viện thông tin liệu cần thiết mà thông qua giúp cho không sinh viên, bác sĩ, mà người bệnh - Xây dựng: Người ta thiết kế tòa nhà, cao ốc, khu thể thao hay khu du lịch sinh thái, hay trang bị cho bạn hệ thống tiện nghi, mời bạn thăm thú nơi tòa nhà tương lai mình, hay tính toán chi tiết công trình xây dựng, mô cố, tượng xảy nhà bạn máy tính Đưa cho bạn lựa chọn, hay lời khuyên công trình bạn muốn tìm hiểu, vấn đề trực quan hóa nên dễ hiểu dễ - nắm bắt Quốc phòng: Để binh lính không bị xa lạ, bỡ ngỡ với chiến trận cần phải thường xuyên có lần tập trận, mà chi phí cho việc cao Nếu sử dụng mô hình thay thế, kèm theo âm tiếng động tạo Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 11 12 trận tập kích mà hiểu đạt thật chi phí Bên Các đối tượng sau bổ sung thêm xương (nếu có), tính chất bề mặt cạnh đó, binh lính tiếp xúc hiểu biết máy móc thiết bị đắt (như màu sắc, da, tóc, mắt …) tạo chuyển động mô cách tiền nên xây dựng mô hình thiết bị đó, máy móc đảm bảo sinh động thể đối tượng giới thực tính phổ dụng rộng rãi Khi làm việc với phần mềm ta thao tác khung nhìn khác Nhìn chung, với ứng dụng đa dạng nhu cầu thực tế công nghệ mô ngày phát triển mạnh mẽ thu hút quan tâm người đối tượng, khung nhìn cho ta nhìn đối tượng đồng thời góc độ khác quan tâm đến phát triển công nghệ nói chung công nghệ tin học nói riêng Hiện lĩnh vực bắt đầu phát triển nước ta; nên việc nghiên cứu phát triển vấn đề đem lại nhiều kết hứa hẹn tương lai 1.1.5 Công cụ phát triển ứng dụng thực ảo: - Các phần mềm xây dựng mô hình: Phần quan trọng hệ thống thực ảo mô hình, mô hình mô tả, biểu diễn đối tượng giới thực bao gồm hình dạng bề mặt hoạt động đối tượng Ví dụ phim hoạt hình 3D, mô hình nhân vật, môi trường cảnh quan, động vật, rừng núi, sông nước, Hình 1.7 Các khung nhìn khác phần mềm Maya Hiện nay, có nhiều phần mềm tạo mô hình ba chiều Maya, 3DS Max, LightWare,…song hai phần mềm phổ biến Maya 3DS Max Ở Việt Nam, 3DS Max quen thuộc Maya Nhưng xu giới công ty chuyển sang Maya mạnh Mô hình với Maya cho kích thước nhẹ so với 3DS Max - Các công cụ lập trình: Công cụ lập trình ứng dụng Thực ảo thường thư viện đồ hoạ 3D xây dựng sẵn, miễn phí DirectX, OpenGL, OpenSG, Cũng phần mềm tạo mô hình ba chiều khác Maya 3DS Max OpenSceneGraph Trước đây, hay sử dụng thư viện OpenGL giúp tạo mô hình chiều để mô giới thực Nó có đối tượng nguyên DirectX, mức độ hỗ trợ người lập trình thư viện chưa cao thuỷ hình cầu, hình trụ, hình hộp, mặt phẳng, đường cong,…Từ đối tượng nên người ta mở rộng chúng thành OpenSG, OpenSceneGraph nguyên thuỷ ta sử dụng thao tác dịch chuyển, xoay, co giãn với kỹ thuật chỉnh sửa cắt xén, mở rộng, thêm bớt … để tạo nên đối tượng mong muốn giới thực Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Hai thư viện lập trình OpenSG, OpenSceneGraph xây dựng tảng OpenGL đưa vào khái niệm “Đồ thị ngữ cảnh” – Scene Graphs Theo đó, đối tượng biễu diễn ngữ cảnh, nút http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 17 18 Đối với phương pháp phát va chạm theo hộp bao ta lại có hai kỹ thuật khác sử dụng hộp bao có cạnh song song với trục toạ độ (Axis-Aligned Bounding Boxes - AABBs) hộp bao theo hướng đối tượng (Oriented Bounding Boxes - OBBs) Việc phát va chạm hộp bao AABBs thực nhanh chóng sai số lớn, phát va chạm hộp bao OBBs phức tạp cho sai số nhỏ nhiều 2.1.1 Kĩ thuật phát va chạm dựa vào hộp bao AABB 2.1.1.1 Định nghĩa hộp bao AABB a0 a , x max  C  2 b0 b0 y min1  C  , y max  C  2 c0 c0 z min1  C  , z max  C  2 xmin1  C  Tương tự, ta tính (xmin2, ymin2, zmin2), (xmax2, ymax2, zmax2) toạ độ thấp cao hộp bao xác định tâm C2 Hai hộp bao AABB va chạm xảy bốn điều kiện sau:  (xmin1, ymin1, zmin1)  [(xmin2, ymin2, zmin2), (xmax2, ymax2, zmax2)] AABB hộp bao có dạng hình hộp chữ nhật có cạnh (trục)song song với trục toạ độ tương ứng bao lấy vật thể (hình 2.1)  (xmax1, ymax1, zmax1) [(xmin2, ymin2, zmin2), (xmax2, ymax2, zmax2)]  (xmin2, ymin2, zmin2)  [(xmin2, ymin2, zmin2), (xmax2, ymax2, zmax2)]  (xmax2, ymax2, zmax2)  [(xmin2, ymin2, zmin2), (xmax2, ymax2, zmax2)] Để tìm điểm va chạm, có chọn điểm va chạm đỉnh tương ứng với bốn trường hợp Hộp bao đơn giản, dễ tạo thao tác kiểm tra va chạm dễ dàng Tuy nhiên hộp bao AABB tạo nhiều khoảng trống vật thể hộp bao Khi vật thể không nằm song song với trục toạ độ có dạng dài Hình 2.1 Hộp bao AABB đối tượng Hộp bao AABB bao gồm tâm C, ba hệ số a0, a1, a2 tương ứng độ dài khoảng trống lớn Thực tế hệ thống thực ảo, người ta sử dụng kĩ thuật hộp bao AABB để giới hạn vùng va chạm, sau để kiểm tra tìm điểm va chạm xác hơn, người ta sử dụng kĩ thuật hộp bao theo hướng OBB theo ba trục toạ độ hình hộp trình bày phần 2.1.1.2 Phát va chạm hai AABB 2.1.2 Kỹ thuật hộp bao theo hướng (Oriented Bounding Boxes) Cho hai hộp bao AABB xác định [C1, a0, a1, a2] [C2, b0, b1, b2] với giả sử ai>0, bj>0, i,j = 0,1,2 Để kiểm tra va chạm, xác định toạ độ cao thấp hộp bao Kí hiệu (xmin1, ymin1, zmin1), (xmax1, ymax1, zmax1) toạ độ 2.1.2.1 Định nghĩa hộp bao theo hướng (OBB) OBB hộp bao AABB trục có hướng OBB có ưu điểm AABB giảm không gian trống vật thể hộp bao Tuy nhiên việc tạo thấp cao hộp bao có tâm C1: thao tác hộp bao loại phức tạp loại AABB nhiều, người Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 19 20 ta dùng loại hộp bao nhiều cho độ xác cao nhiều so với thẳng vuông góc với mặt phẳng P trên, đường thẳng gọi trục cô lập hộp bao AABB (Hình 2.2) Ta thấy hộp bao OBBs khối đa diện lồi, ta hoàn toàn áp dụng định lý để kiểm tra va chạm chúng 2.1.2.2 Kiểm tra nhanh va chạm hai hộp bao OBBs Cho hai hình bao OBBs xác định thông số [C0,A0,A1,A2,a0,a1,a2] [C1,B0,B1,B2,b0,b1,b2] Ta thấy tình mà hai OBBs tiếp xúc với (không cắt nhau) trường hợp sau đây: mặt - mặt, mặt - Hình 2.2 Hộp bao OBB đối tượng    Một hình hộp OBB bao gồm tâm C, ba vector A0 , A1 , A2 hướng hình hộp hệ số độ dài tương ứng với kích thước hình hộp a >0, a1>0, a2>0 Khi đó, đỉnh hình hộp xác định sau:  C   si * Ai i 0 cạnh, mặt - đỉnh, cạnh - cạnh, cạnh - đỉnh, đỉnh - đỉnh Do vậy, tập ứng cử viên trục cô lập tối đa 15 trục sau:   trục hướng hộp bao thứ ( Ai )   trục hướng hộp bao thứ hai ( B j ) | si | 1, i  0,1,2  trục tạo tích có hướng trục thuộc hộp bao thứ trục Kỹ thuật phát hộp bao theo hướng chia làm hai mức [6] Mức kiểm tra “nhanh” xem có va chạm xảy không? Nếu va chạm xảy hệ thống làm việc bình thường, ngược lại mức phát có va chạm xảy chuyển sang mức hai tìm xác điểm va chạm Ở mức một, ta kiểm tra nhanh xem có va chạm xảy không nhờ dựa vào định lý sau Định lý 2.3.1 Hai khối đa diện lồi không giao cô lập chúng mặt phẳng P thoả mãn hai điều kiện sau:  P song song với mặt hai khối đa diện   thuộc hộp bao thứ hai ( Ai  B j ) Mặt khác, ta biết trục trục cô lập tịnh tiến đến vị trí nào, trục cô lập Bởi vậy, không tính tổng quát ta gọi trục cô lập có vector phương V qua tâm C0 hộp bao thứ nhất, có phương    hay không kiểm tra giao hình chiếu chúng lên đường Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn  Gọi P điểm bất kỳ, hình chiếu P lên đường thẳng d với gốc C đoạn thẳng C0H xác định sau (hình 2.3) P d thứ hai hai khối đa diện lồi: Điều kiện cần đủ để kiểm tra hai khối đa diện lồi có giao  với i, j = 0,1,2  Hoặc P chứa cạnh thuộc đa diện thứ đỉnh thuộc đa diện Từ định lý trên, ta rút nhận xét sau cho phép kiểm tra nhanh giao   trình sau: d = C + t* V Trong đó, t tham số V Ai , B j Ai  B j hc( P, d )     ( P  C0 ) *V  |V | H C0 Hình 2.3 Hình chiếu P lên đường thẳng d Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 21 22 Như vậy, chiếu đỉnh hộp bao thứ lên trục cô lập d với gốc C thu cặp đoạn thẳng có độ dài nằm hai phía so với C (hình                          |-a0* A0 * V + a1* A1 * V - a2* A2 * V | 2.4), độ dài đoạn thẳng xác định sau :   ( si * * Ai ) * V    hc(C   si * * Ai , d )  | i 0 | |V | i 0  |-a0* A0 * V + a1* A1 * V + a2* A2 * V | |-a0* A0 * V - a1* A1 * V + a2* A2 * V | (2.1) |-a0* A0 * V - a1* A1 * V - a2* A2 * V | }     = a0*| A0 * V | + a1*| A1 * V | + a2*| A2 * V | Tương tự, ta xác định hình chiếu đỉnh hộp bao thứ hai lên d với gốc C sau     ( si * bi * Bi ) * V   V *D  hc(C1   si * bi * Bi , d )    | i 0 | |V | |V | i 0   (2.2)  Với D  C1  C Hình 2.4 Chiếu đỉnh hình hộp lên trục cô lập d Chú ý rằng, đoạn thẳng nhóm thành cặp đối xứng qua C Do vậy, khoảng cách nhỏ chứa đoạng thẳng (2.2) có tâm C1 bán kính Như vậy, khoảng cách nhỏ chứa đoạng thẳng (2.1) có tâm C0 bán kính r0 xác định sau : R1 xác định sau :   ( si * bi * Bi ) * V  r1 = max { | i 0 | } Với |si| = |V |   ( si * * Ai ) * V  r0 = max { | i 0 | } Với |si| = |V |  Đặt R1 = r1* | V | , tương tự ta suy :   Đặt R0 = r0* | V | , ta có:        R0 = max{ | a0* A0 * V + a1* A1 * V + a2* A2 * V |               Hai khoảng cách không giao nếu:       | a0* A0 * V + a1* A1 * V - a2* A2 * V |    R1 = b0*| B0 * V | + b1*| B1 * V | + b2*| B2 * V | C0C1 > r0+r1     | V | *C0C1 > | V | *r0 + | V | *r1  R > R0 + R1 (2.3)  Trong đó: R = C0C1* | V | | a0* A0 * V - a1* A1 * V + a2* A2 * V | | a0* A0 * V - a1* A1 * V - a2* A2 * V | Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 23 24                Xét trường hợp V = A0 :  R0 = a0*| A0 * V | + a1*| A1 * V | + a2*| A2 * V | = a0  R1 = b0*| B0 * V | + b1*| B1 * V | + b2*| B2 * V | = b0*|c00| + b1*|c01| + b2*|c02|    R = A0 * D        Xét trường hợp V = A0  B0 :        R0 = a0*| A0 * A0  B0 | + a1*| A1 * A0  B0 | + a2*| A2 * A0  B0 |          R0 = a1*|c20| + a2*|c10|         R1 = b0*| B0 * V | + b1*| B1 * V | + b2*| B2 * V | viết thành: Bi  c0i A0  c1i A1  c 2i A2 với i = 0,1,2 Đặt :   Mặt khác : V = A0  B0 = A0  (c00 A0  c10 A1  c20 A2 ) = c10 A2  c 20 A1 Bây ta giải cụ thể phương trình Với vector Bi ta    Hình 2.5 Kết chiếu hình hộp lên trục cô lập d       R = V * D = (c10 A2  c20 A1 ) * D A = (A0, A1, A2) B= (B0, B1, B2) c00 c01 c02  C  c10 c11 c12  c 20 c 21 c 22   (2.4) Ta có viết lại V dạng:          V = A0  B0 = (c00 B0  c01 B1  c02 B2 )  B0 = - c01 B2  c02 B1 A0  A0 B0 A0 B1 A0 B2   B = C*A  AT*B = C  C = A1 * B0 B1 B2 =  A1 B0 A1 B1 A1 B2  A2  (2.5)  A2 B0 A2 B1 A2 B2    Từ (2.4) (2.5) suy ra: cij  Ai * B j , hay cij tích vô hướng hai     vector Ai, Bj Mặt khác, từ B = C*A  A = CT*B  Ai  ci B0  ci1 B1  ci B2 Như phần đầu nói, tập trục cô lập ứng cử viên      V = { Ai , B j , Ai  B j }với i, j = 0,1,2 Để tính toán hệ số R0, R1, R ta      làm minh họa cho hai trường hợp V = Ai V = Ai  B j , trường hợp lại      B0 * V = B0 * (c01 B2  c02 B1 ) =      B1 * V = B1 * (c01 B2  c02 B1 ) = c02      B2 * V = B2 * (c01 B2  c02 B1 ) = -c01  R1 = b1*|c02|+ b2*|c01| Tiếp tục làm cho trường hợp lại, ta xây dựng bảng giá trị cho R, R0, R1 sau : tính toán tương tự Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 25 26  V R0 R1 R  A0 a0 b0|c00|+b1|c01|+b2|c02|   | A0 D |  A1 a1 b0|c10|+b1|c11|+b2|c12|   | A1 D | mà đối tượng va chạm nhau, nghĩa thời điểm mà đối tượng tiếp xúc Điều giới thực, mà đối tượng va  A2 a2 b0|c20|+b1|c21|+b2|c22|   | A2 D |  B0 a0|c00|+a1|c10|+a2|c20| b0   | B D | hợp kết mức thứ cho ta biết có va chạm xảy ta phải chuyển sang mức hai để tìm xác điểm va chạm [9] Trong hệ thống thực ảo, phần lớn quan tâm đến thời điểm chạm hậu va chạm xảy chúng vừa “chạm” vào Do vậy, cần quan tâm đến thời điểm mà đối tượng tiếp xúc  B1 a0|c01|+a1|c11|+a2|c21| b1   | B1 D |  B2 a0|c02|+a1|c12|+a2|c22| b2   | B2 D |   A0  B0 a1|c20|+a2|c10| b1|c02|+b2|c01|     c10 A2 D  c 20 A1 D   A0  B1 a1|c21|+a2|c11| b0|c02|+b2|c00|     c11 A2 D  c21 A1 D   A0  B2 a1|c22|+a2|c12| b0|c01|+b1|c00|     c12 A2 D  c 22 A1 D   A1  B0 a0|c20|+a2|c00| b1|c12|+b2|c11|     c 20 A0 D  c 00 A2 D   A1  B1 a0|c21|+a2|c01| b0|c12|+b2|c10|     c 21 A0 D  c 01 A2 D   A1  B2 a0|c22|+a2|c02| b0|c11|+b1|c10|     c 22 A0 D  c 02 A2 D   A2  B0 a0|c10|+a1|c00| b1|c22|+b2|c21|     c 00 A1 D  c10 A0 D   A2  B1 a0|c11|+a1|c01| b0|c22|+b2|c20|     c 01 A1 D  c11 A0 D cạnh, cạnh - cạnh, đỉnh - mặt điểm tiếp xúc Nhưng chúng va b0|c21|+b1|c20|     c 02 A1 D  c12 A0 D chạm với dạng mặt - mặt, cạnh - mặt có vô số điểm tiếp xúc,   A2  B2 a0|c12|+a1|c02| Bảng2.1 Bảng giá trị R, R0, R1 tính toán trước điểm tiếp xúc (hình 2.6) Hình 2.6 Tìm điểm va cham hai đối tượng tiếp xúc Đối với hai hộp bao, chúng va chạm với dạng đỉnh - đỉnh, đỉnh - cần đưa điểm Ý tưởng để tìm thời điểm va chạm sau Mỗi ta thực công việc kiểm tra nhanh va chạm mức thứ nhất, tìm trục cô lập ta ghi lại nhãn thời gian cho trục cô lập 2.1.3 Tìm điểm va chạm Nếu không tìm trục cô lập có nghĩa hai hộp bao va chạm với Phát va chạm mức thứ trả lời câu hỏi có hay không nhau, nhãn thời gian gán cho trục cô lập lần kiểm tra liền trước va chạm xảy mà không đưa xác điểm va chạm Trong trường thời điểm mà hai hộp bao va chạm nhau, gọi T nhãn thời gian Khi đó, ta coi R = R0+R1(thời điểm hai hình hộp tiếp xúc nhau) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 27 28      min( y i )   B j D   | c kj | a k  y j   B j D   | c kj | a k  max( y j ) Gọi P điểm tiếp xúc hai hộp bao suy tồn vector x = {x 0, k 0 x1, x2} y = {y0, y1, y2} cho: x i 0 i    * Ai  D   y j * B j với |xi|  ai, |yj|  bj i,j = 0,1,2  Việc tìm điểm va chạm phụ thuộc vào trục cô lập V thời điểm T trục số 15 trục cô lập ứng cử viên Ta xét trường hợp sau   Nhân hai vế (6) với Ai ta thu được:       xi = Ai * D   y j * Ai B j = Sign( Ai * D )*(R0+R1) + j 0   Đặt  = Sign( Ai * D )  xi = *(R0+R1) + y j 0 j b * | c j j 0 |) + y  (ai-*xi) +  b j * | ci j | + j 0 y j 0 j j 0 j j  0,1,2    x j  A j D   y k c jk * cij Thay giá trị R0, k 0     min( xi )   A j D   | c jk | bk  x j   A j D   | c jk | bk  max( x j ) * cij Nhân hai vế với  ta k 0 j 0 j * cij = x j [min( x j ), max( x j )]  [a j , a j ] (2.7) j 0     V vector Ai  B j : Để dễ trình bày, làm minh hoạ cho trường        hợp V = A0  B0 = c10 A2  c 20 A1 =  c01 B2  c02 B1 , trường hợp khác Ta thấy: (ai-*xi)  (b j   * Sign(cij ) * y j )    tính tương tự Nhân hai vế (6) với A0  B0 ta được: ai   * xi    b j   * Sign(cij ) * y j   xi   * a i Nếu cij     y j   * Sign(cij ) * bj k 0 Khi đó, chọn xj thuộc đoạn sau làm điểm tiếp xúc: y  (ai-*xi) +  | cij | *(b j   * Sign(cij ) * y j ) =    x2*c10 - x1*c20 = ( A0  B0 ) * D +   y j 0 j    * B j * (  c01 B2  c02 B1 )   x2*c10 - x1*c20 = ( A0  B0 ) * D + y1*c02 - y2*c01 j  0,1,2 Nếu cij = (ứng với trường hợp cạnh va chạm mặt, mặt va chạm mặt) Khi đó, (2.8) Chú ý rằng, theo hàng bảng :  nhân hai vế (2.6) với B j ta được:  Tương tự trường hợp trên, ta tính Nếu cji = 0, nhân hai vế (6) với Ai ta có: * cij   Tương tự trên, ta có: ij   V vector Bi : R1 bảng ta được: xi = *(ai + cần chọn giá trị yj thuộc đoạn  yi   * bi Nếu cji     x j   * Sign(c ji ) * a j   V vector Ai : Mặt khác, |yj|  bj nên ta có: y j [min( y j ), max( y j )]  [b j , b j ] Do vậy, ta (2.6) j 0 k 0    | R || ( A0  B0 ) * D | R0  R1  a1 * | c20 |  a * | c10 | b1 * | c02 | b2 * | c01 | yj = - B j * D   xk * ckj     R  Sign(( A0  B0 ) * D) * { a1 * | c 20 |  a * | c10 | b1 * | c02 | b2 * | c01 | } k 0 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 29   30  Tiếp điểm x2*c10 - x1*c20 = *( a1 * | c 20 |  a * | c10 | b1 * | c02 | b2 * | c01 | ) + y1*c02 - y2*c01  V  Ai |c20|*(a1+*Sign(c20)*x1)+|c10|*(a2-*Sign(c10)*x2)+|c01|*(b2-*Sign(c01)*y2)+  Bj xi  Sign(cij )ai |c02|*(b1+*Sign(c02)*y1) =   A0  B0 x1  Sign(c20 )a1 , x2  Sign(c10 )a , y1  Sign(c02 )b1 , y  Sign(c01 )b2     x0  ( A0  D  c00 ( B  D  c10 x1  c20 x2 )  c01 y1  c02 y )  c00   A0  B1 x1  Sign(c 21 )a1 , x  Sign(c11 )a , y  Sign(c02 )b0 , y  Sign(c00 )b2     x0  ( A0  D  c01 ( B1  D  c11 x1  c 21 x )  c00 y  c02 y )  c01   A0  B2 x1  Sign(c22 )a1 , x2  Sign(c12 )a , y  Sign(c01 )b0 , y1  Sign(c00 )b1     x0  ( A0  D  c02 ( B2  D  c12 x1  c22 x2 )  c00 y  c01 y )  c02   A1  B0 x0  Sign(c20 )a0 , x2  Sign(c00 )a , y1  Sign(c12 )b1 , y  Sign(c11 )b2     x1  ( A1  D  c10 ( B0  D  c00 x0  c20 x2 )  c11 y1  c12 y )  c102   A1  B1 x0  Sign(c21 )a0 , x2  Sign(c01 )a , y1  Sign(c10 )b1 , y  Sign(c10 )b2     x1  ( A1  D  c11 ( B1  D  c01 x0  c21 x2 )  c10 y0  c12 y )  c112   A1  B2 x0  Sign(c22 )a0 , x2  Sign(c02 )a , y0  Sign(c11 )b0 , y  Sign(c10 )b1     x1  ( A1  D  c12 ( B2  D  c02 x0  c22 x2 )  c10 y0  c11 y )  c122   A2  B0 x0  Sign(c10 )a0 , x1  Sign(c00 )a1 , y1  Sign(c22 )b1 , y  Sign(c21 )b2     x1  ( A2  D  c20 ( B0  D  c00 x0  c10 x1 )  c21 y  c22 y )  c20   A2  B1 x0  Sign(c11 )a0 , x1  Sign(c01 )a1 , y0  Sign(c22 )b0 , y  Sign(c20 )b2     x1  ( A2  D  c21 ( B1  D  c01 x0  c11 x1 )  c20 y  c22 y )  c21   A2  B2 x0  Sign(c12 )a0 , x1  Sign(c02 )a1 , y0  Sign(c21 )b0 , y1  Sign(c20 )b1     x1  ( A2  D  c22 ( B2  D  c02 x0  c12 x1 )  c20 y  c21 y1 )  c22 Đặt   Sign(( A0  B0 ) * D) , ta có (8) tương đương với : Nhận thấy: (2.9) a1+*Sign(c20)*x1  a2-*Sign(c10)*x2  Từ (9) suy ra: b2-*Sign(c01)*y2  a1+*Sign(c20)*x1 = a2-*Sign(c10)*x2 = b2-*Sign(c01)*y2 = b1+*Sign(c02)*y1  b1+*Sign(c02)*y1 = x1 = -*Sign(c20)*a1 x2 = *Sign(c10)*a2 y1 = -*Sign(c02)*b1 y2 = *Sign(c01)*b2    Để tìm x0 y0, nhân vế (2.6) với A0 B0 :    x0  A0 * D  c00 * y  c01 * y1  c02 * y 02    c00 * x0  c10 * x1  c 20 * x  B0 * D  y Giải hệ phương trình trên, với hệ số y1, y2, x1, x2 Ta tìm x0, y0           x0   c A0 * D  c00 * ( B0 * D  c10 * x1  c 20 * x )  c01 * y1  c02 * y  00      y   B * D  c *(A * D  c * y  c * y )  c * x  c * x 00 01 02 10 20 2   c00            Đối với trường hợp V ={ A0  B1 , A0  B2 , A1  B0 , A1  B1 , A1  B2 ,       A2  B0 , A2  B1 , A2  B2 } tính toán tương tự để tìm điểm tiếp xúc Cuối ta có bảng tổng hợp toạ độ tiếp điểm trường hợp sau: y j  Sign(cij )b j j  0,1,2 i  0,1,2 Bảng 2.2 Tính toán sẵn toạ độ tiếp điểm trường hợp Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 31 32 Như vậy, hai mức phát va chạm thuật toán ta lập sẵn Bên cạnh yếu tố thẩm mỹ nội dung phần thiếu hai bảng chứa thông tin kết cần tính toán Do vậy, trình phát tính thực hệ thống thực ảo, nghĩa hành động tương tác va chạm thực nhanh chóng, đặc biệt mức thứ cho phép phát hệ thống giống với giới thực tốt sở để tạo nên tính thực nhanh xem có va chạm xảy hay không Thực nghiệm cho thấy, động vật lý (Physics Engines) Các Engine vật lý xây dựng việc phân chia mức phát va chạm cải thiện đáng kể hiệu xử lý chi tiết làm tăng tính thực hệ thống tương tác hệ thống thực ảo có nhiều đối tượng lúc Vì vậy, số báo gần có nhận xét tương lai thực đối tượng va chạm nhau, chí số lần va chạm thưa ảo vật lý, phần nhân hệ thống thực ảo động vật 2.1.4 Phát va chạm đối tượng di chuyển lý Cơ sở vật lý hay dùng hệ thống thực ảo động lực Giả sử hai đối tượng (mà ta coi hình hộp) C0 C1 chuyển động với gia tốc khác Ta xây dựng lớp hình hộp chứa thông tin cần thiết đối tượng như: toạ độ tâm hình hộp, vector hướng, độ dài chiều hình hộp, gia tốc chuyển động, vận tốc chuyển động, trọng lượng hình hộp,…Những thông số gọi thông số trạng thái đối tượng Khi đối tượng chuyển động với thông số riêng Giả sử thời điểm t ta có vector trạng thái đối tượng, sang thời điểm t > t0 vector trạng thái đối tượng tính toán phương pháp lấy tích phân số gần [5] Có hai phương pháp tính tích phân số hay dùng phương pháp Euler Runge– Kutta Fourth Phương pháp Euler đơn giản, sai số lớn cho độ xác tốt t = t1 - t0 lớn, ngược lại t bé phương pháp Runge–Kutta Fourth4 lại cho độ xác cao học vật rắn [2, 16] Phần trình bày tổng quan động lực học vật rắn ứng dụng để xậy dựng module vật lý để mô hậu xảy hai đối tượng rắn (ô tô, xe máy, ) va chạm 2.2.1 Động lực học vật rắn 2.2.1.1 Mô ment quán tính ( Moment of Inertia) Khi hai đối tượng rắn va chạm nhau, có số hiệu ứng xảy ra, chẳng hạn hai đối tượng bị bắn theo hướng vận tốc khác Tuy nhiên, cảm nhận trực quan, thấy đối tượng va chạm bị ảnh hưởng nhau, ví dụ ảnh hưởng hai viên bi tròn sau va chạm khác ảnh hưởng viên bi tròn với khối hộp chữ nhật Điều nói lên rằng, đặc trưng hình dạng nhân tố quan trọng tạo nên ảnh hưởng phong phú đối tượng va chạm 2.2 Xử lý va chạm Một đại lượng đặc trưng cho yếu tố hình dạng đối tượng Khi phát có va chạm xảy tìm điểm va chạm, bước tiếp môment quán tính Xét đối tượng rắn có khối lượng M, mô ment quan theo xử lý hậu va chạm Đối với hầu hết hệ thống thực ảo, ngoại trừ tính đối tượng tính theo trục toạ độ X, Y, Z kí hiệu Ixx, Iyy, Izz Mô ment quán số ứng dụng liên quan đến vấn đề xây dựng, tái tạo trì di tích lịch sử tính toàn phần đối tượng (I) tổ hợp mô ment quán tính thành phần phần quan trọng phát va chạm xử lý hiệu ứng va chạm Hai đối tượng có hình dạng khác có mô ment quán tính khác Hình 2.1 gây định nghĩa mô ment quán tính số đối tượng có hình dạng [12, 16] Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 33 34 Hình 2.7 Mô ment quán tính số đối tượng có hình dạng Hình 2.8 Mô ment quay đối tượng có lực tác dụng 2 M ( D y  Dz ) 12 2 I yy  M ( Dx  Dz ) 12 2 I zz  M ( Dx  D y ) 12 I xx  I xx  I yy  I zz  2.2.1.3 Mối liên hệ mô ment quán tính mô men quay 1 MR  H 2 12 Mối liên hệ mô ment quán tính mô ment quay giống với mối liên MR 12 hệ lực gia tốc Newton Người ta thường ví mô ment quán tính tương tự khối lượng vật, mô ment quay tương tự lực tác dụng lên vật Cụ thể, mối liên hệ phương trình chuyển động quay vật rắn quanh  I xx  Khi đó, mô ment quán tính tổng hợp I đối tượng là: I   0  I yy 0    I zz  trục Mô ment quay mô ment quán tính nhân với gia tốc góc: Torque  I  (2.11) Trong đó: - I: mô ment quán tính 2.2.1.2 Mô ment quay (Torque) -  : giá tốc góc Mô men quay đại lượng đặc trưng cho chuyển động quay đối tượng có lực tác dụng (hình 2.8) Định nghĩa hình thức mô ment quay là:   Torque = s  F (2.10) 2.2.1.4 Vectơ trạng thái đối tượng Mỗi đối tượng mô tả vector trạng thái bao gồm thuộc tính: Trong đó: - Torque: mô ment quay khối lượng (m), mô ment quán tính (I), vận tốc góc (  ), gia tốc góc (  ), vận tốc - F: lực tác dụng lên đối tượng,  tích có hướng dài (v), gia tốc dài ( v ), vị trí (p) hướng (R) đối tượng Vì đại lượng m, I - s: khoảng cách từ giá lực tác dụng đến tâm đối tượng giá trị tĩnh nên ta cần tính toán cho đại lượng lại, kí hiệu Q vector trạng thái đối tượng, ta có : Q = Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 35 36 Tại thời điểm, đối tượng xác định vector trạng thái riêng  Hướng đối tượng R: Để biểu diễn hướng đối tượng, ta sử dụng mình, xác định vector trạng thái cho đối tượng xác định trạng thái ma trận R có kích thước 33, hàng ma trận biễu diễn vector cho toàn hệ thống Nếu va chạm xảy vector trạng thái đơn vị hàng R phải vuông góc với đôi Ma trận hướng R đối tượng thay đối tuyến tính theo thời gian nên biết tổng lực tác dụng vận tốc góc  = ( z, y, z) liên hệ với theo công thức sau [15]: lên đối tượng việc xác định vector trạng thái cho đối tượng thực dễ dàng phương pháp tích phân số R  R * ~ Tuy nhiên, có va chạm xảy ra, ảnh hưởng ngoại lực tác dụng lên đối tượng tham gia va chạm nên vector trạng thái chúng không biến đổi tuyến tính Khi đó, tính toán vector trạng thái cho đối tượng tham gia va chạm trở nên phức tạp nhiều Chúng ta phải dựa vào quy luật vật lý, mà cụ thể định luật động lực học vật rắn trình bày số định   z  y    (3.8) với ~    z  x    y  x    Từ công thức trên, ta viết gọn lại sau: dQ   F   Q  v, , T * I 1 , R * ~  dt  m  (2.17) luật vật lý khác Từ công thức (2.10) ta thấy xác định tổng lực tác dụng F lên đối tượng ta xác định giá trị mô ment quay (T) tương 2.2.1.5 Tính toán xung lực ảnh hưởng ứng Mặt khác, với đối tượng ta hoàn toàn xác định giá trị mô ment quán tính cho nó, từ (2.11) ta xác định gia tốc góc cho đối tượng Biết gia tốc góc mới, ta xác định trạng thái d  Xác định vận tốc góc :   dt  Xác định vận tốc dài: (2.12) (2.13) dv  v dt (2.15) dp v dt Số hóa Trung tâm Học liệu – Đại học Thái Nguyên thắc mắc sử dụng định luật quen thuộc định luật bảo toàn lượng bảo toàn động lượng để tính lực tác dụng hay không? Câu (2.14)  Vị trí đối tượng (p): dụng tổng hợp thông qua việc tính toán xung tác dụng lên đối tượng tham gia va chạm [7] Liên quan đến việc tính toán lực tác dụng lên đối tượng thường có F m  Xác định gia tốc dài: v = tượng sau va chạm ta tính vector trạng thái đối tượng Có nhiều cách tiếp cận để tính toán lực tổng hợp, phần trình cách tính lực tác lại đối tượng theo định luật sau:  Xác định gia tốc góc :  = T*I-1 Như nói trên, biết lực tổng hợp tác dụng lên đối trả lời không, trước giải lại vậy, quy ước kí hiệu sử dụng phần sau (2.16) http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 37 38 Ý nghĩa 2.2.2 Xử lý hiệu ứng méo mó, biến dạng sau va chạm a Đối tượng a va chạm với đối tượng b 2.2.2 Ý tưởng thuật toán b Đối tượng b va chạm với đối tượng a Kí hiệu Giả sử ta xét không gian R3, hai đối tượng A, B va chạm Ma Khối lượng đối tượng a nhau, cách sử dụng kỹ thuật phát OBB để phát va chạm lấy thông Mb Khối lượng đối tượng b tin điểm va chạm, cần phải xứ lý thêm hiệu ứng méo mó, biến Vaix, Vafx Vận tốc dài theo trục x đối tượng a trước sau va chạm dạng đối tượng tham gia va chạm Một cách tiếp cận cho vấn đề Vaiy, Vafy Vận tốc dài theo trục y đối tượng a trước sau va chạm Vaiz, Vafz Vận tốc dài theo trục z đối tượng a trước sau va chạm Vbix, Vbfx Vận tốc dài theo trục x đối tượng b trước sau va chạm Vbiy, Vbfy Vận tốc dài theo trục y đối tượng b trước sau va chạm Vbiz, Vbfz Vận tốc dài theo trục z đối tượng b trước sau va chạm Iaxx, Iayy, Iazz Mô men quán tính đối tượng a theo trục xx, yy, zz Ibxx, Ibyy, Ibzz Mô men quán tính đối tượng b theo trục xx, yy, zz Mô men quán tính đối tượng theo ba trục I sử dụng kĩ thuật bóp méo tự [10, 17] (Free Form Deformation) Với đối tượng, tìm hình bao AABB bao quanh  Trên hình bao AABB này, ta lập lưới (lattice) điểm điều khiển Số lượng điểm điều khiển chiều tuỳ ý, giả sử chúng N u,Nv,Nw  Tổng số điểm điều khiển N = Nu*Nv*Nw  Từ điểm điều khiển này, ta xây dựng đường bao B-Splines 3D, đều, tuần hoàn qua điểm điều khiển  Với đối tượng, bổ sung thuộc tính độ cứng chúng (stiff)  Khi hai đối tượng A, B va chạm nhau, ta lấy thông tin điểm va Waix, Wafx Vận tốc góc theo trục x đối tượng a trước sau va chạm Waiy, Wafy Vận tốc góc theo trục y đối tượng a trước sau va chạm Waiz, Wafz Vận tốc góc theo trục z đối tượng a trước sau va chạm Wbix, Wbfx Vận tốc góc theo trục x đối tượng b trước sau va chạm Wbiy, Wbfy Vận tốc góc theo trục y đối tượng b trước sau va chạm mối quan hệ lực với độ cứng lò xo Vì vậy, ta áp dụng mối Wbiz, Wbfz Vận tốc góc theo trục z đối tượng b trước sau va chạm liên hệ để tính toán độ chuyển dịch cho điểm điều khiển chạm xung ảnh hưởng lên đối tượng Từ điểm va chạm, ta tìm điểm điều khiển gần điểm va chạm phạm vị bán kính R Sau xác định độ chuyển dịch cho điểm điều khiển tác dụng xung vừa tính Mối liên hệ xung độ cứng đối tượng tương tự F Lực tác dụng lên đối tượng sau va chạm J Xung tác dụng lên đối tượng sau va chạm tục tính toán ảnh hưởng điểm thuộc bề mặt đối tượng theo nguyên e Hệ số đàn hồi hai đối tượng rắn (0  e  1) lý hàm B- Splines  Khi tính toán độ chuyển dịch cho điểm điều khiển, tiếp Bảng 2.3 Bảng kí hiệu sử dụng xử lý hậu va chạm Để hiệu rõ thuật toán bóp méo tự sử dụng hàm B-Splines 3D, tuần hoàn, phần ta giới thiệu chi tiết loại hàm B-Splines [1, 18] Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 39 40 Chương 2.2.2.2 Hàm Open Uniform B-Splines ỨNG DỤNG THỬ NGHIỆM Trong số đường cong phổ biến (Beirier, B-Splines, ) đường cong BSplines có nhiều ứng dụng Với tập điểm điều khiển cho trước, đường cong B-Splines có tính chất thay đổi cục bộ, nghĩa ta dịch chuyển điểm điều khiển số đoạn cong liền kề bị thay đổi, đường cong khác, thay đổi điểm điều khiển toàn đường cong bị thay đổi Vì tính chất mềm dẻo nên đường cong B-Splines hay dùng kỹ thuật xử lý ảnh bóp méo, biến đổi Morphing,… 3.1 Bài toán Trong phần luận văn xây dựng chương trình mô tình hống giao thông đường có đối tượng tham gia giao thông qua ngã tư Trong ứng dụng mô ta cần sử dụng mô hình - Mô hình hạ tầng giao thông đường - Mô hình phương tiện tham gia giao thông toán: + Mô hình xe cảnh sát + Mô hình xe tải + Mô hình xe 04 chỗ ngồi 3.2 Xây dựng hệ thống mô tình giao thông Hình 3.1 Sơ đồ khối hệ thống mô tình giao thông Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 41 42 Hệ thống mô thử nghiệm tình tham gia giao thông sử dụng ngôn Khối thứ ba khối “Xử lý va chạm”, khối nhận đầu vào thông tin ngữ lập trình Visual C.Net, thư viện đồ hoạ OpenSG Trong hệ thống có sử vụ va chạm tính toán thay đổi trạng thái cho đối tượng liên dụng thư viện mã nguồn mở cài [9] đặt thuật toán phát va chạm sử dụng hộp quan đến vụ va chạm Trong khối cài đặt hàm xử lý hậu va chạm sử dụng bao OBB Các mô hình ô tô lấy từ [12] Sơ đồ khối hệ thống mô tình giao thông hình 3.1 sở vật lý trình bày chương Cuối cùng, toàn thông tin trạng thái thời đối tượng với liệu hình dạng 3D Trong sơ đồ này, khối khối “Tính toán vector trạng thái mới” chúng hiển thị hình thông qua khối “Render” cài đặt phương pháp tính tích phân gần hai phương pháp Euler Runge Kutte Ta sử dụng hai hàm cài đặt khối 3.3 Thực nghiệm để tính toán vector trạng thái từ tập vector trạng thái Khối thứ hai khối “Dò tìm va chạm” cài đặt phương pháp phát va chạm hộp bao OBB (Object Boungding Boxes) Nếu va chạm khối trả giá trị FALSE, ngược lại khối trả giá trị TRUE đồng thời cung Đây giao diện chương trình thử nghiệm mô tình giao thông ngã tư giao cắt Chương trình mô trình va chạm xe tải xe 04 chỗ khung cảnh tạo sẵn cấp số thông tin vụ va chạm sau:  Hai đối tượng va chạm nhau: body0, body1  Điểm tiếp xúc va chạm (contactPoint): điểm mà hai đối tượng va chạm  Vector pháp tuyến normal có gốc điểm tiếp xúc, hướng từ body0 sang body1 vuông góc với mặt va chạm body0  Khoảng cách mà hai đối tượng thâm nhập vào nhau: penatrate > Toàn cảnh thông tin vụ va chạm biễu diễn hình 4.2 Hình 3.2 Các thông tin vụ va chạm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 3.3 Quang cảnh tình giao thông Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 43 44 Hình 3.3 thể tình giao thông ngã tư giao cắt, có 03 xe tham gia KẾT LUẬN giao thông: 01 xe cảnh sát, xe chỗ ngồi, 01 xe tải Xe cảnh sát hướng đường chính., xe tải xe ngược chiều đường giao cắt Trong trình làm luận văn tìm hiểu, nghiên cứu, thực đến hoàn thành luận văn tốt nghiệp em bổ sung thêm cho nhiều kiến thức quí giá Em tìm hiểu sâu hơn, đầy đủ va chạm xử lý va chạm hệ thống thực ảo Hầu hết hệ thống thực ảo phát va chạm sử dụng cách tiếp cận hình bao đối tượng, tuỳ hệ trường hợp cụ thể mà ta sử dụng kỹ thuật hình bao thích hợp Sau phát va chạm, giai đoạn xử lý hậu va chạm thực dựa sở vật lý mà cụ thể động lực học vật rắn Kỹ thuật phát va chạm hộp bao OBB tam giác ứng dụng hiệu việc tìm va chạm đối tượng với môi trường, địa hình, núi non, hay chướng ngại vật Nó liên quan đến trình phát xử Hình 3.4 Chuyển động phương tiện qua ngã tư giao cắt lý va chạm đối tượng di chuyển địa hình phẳng địa hình không phẳng Đối với toán này, người ta thường tối ưu hoá trình xử lý cách biểu diễn bề mặt địa hình QuadTree OctTree Trong luận văn, em chưa trình bày chi tiết vấn đề Trong thời gian làm luận văn tốt nghiệp, thân nỗ lực, cố gắng, đầu tư nhiều thời gian, công sức cho việc tìm hiểu nghiên cứu đề tài nhận bảo, định hướng tận tình thầy giáo hướng dẫn anh, chị trước hạn chế mặt thời gian khó khăn việc tìm kiếm tài liệu nên chưa có kết thực hoàn hảo Hình 3.5 Va cạnh xảy xe 04 chỗ xe tải ngược chiều Hướng phát triển: Mô Với kết nghiên cứu trên, cộng với đầu tư thời gian công nghệ tương lai việc thực mô liên quan đến va chạm không vấn đề khó khăn Chúng ta rễ dàng thực việc mô xác vụ va chạm tượng xảy ra, xây dựng phần mềm ứng dụng phục vụ cho lĩnh vực, ngành nghề cụ thể Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 45 46 [12] TÀI LIỆU THAM KHẢO Tiếng Việt [1] Lê Tấn Hùng, Huỳnh Quyết Thắng (2004), Đồ hoạ máy tính, tr40-50, Nhà Monster (1993), “Car Physics for Games”, [13] M.Müller, J.Dorsey, L.McMillan, R.Jagnow and B.Cutler “Stale real-time deformations” Proceedings of ACM SIGGRAPH Symposium onComputer xuất KHKT 2004 Animation,pp 49-54,2002 [2] Nguyễn Văn Trường (2005), “Động lực học hệ nhiều vật xây dựng [14] thiết bị tập lái” [3] Lê Huy Vần (2005), Nghiên cứu phát va chạm ứng dụng, tr 41-50, Huy Sơn (2005), “VR-Công Nick Bobic (2000), ”Advanced Collision Detection Techniques”, http://www.gamasutra.com [15] Richard Chaney (1999), “Simulating Single Rigid Bodies” Khoá luận tốt nghiệp, ĐH Công nghệ [4] Nguyễn Marco http://home.planet.nl/~monstrous nghệ tương lai”, http://simulationvn.org [16] Russell Smith (2006), “Open Dynamics Engine”, http://www.ode.org [17] Rui Pires, Tiago Rodrigues, José Miguel Salles Dias (2004), "d4md deformation Tiếng Anh [5] Devid Eberly (1999), “Numerical Methods for Ordinary Differential system for a vehicle simulation game", http://pwp.netcabo.pt/0175938601/d4md [18] Yongchoel Choi and Seungyong Lee (2000), “Injectivity Conditions of 2D and Equations”, http://www.geometrictools.com [6] Devid Eberly (1999), “Dynamic Collision Detection using Oriented Bounding Boxes”, http://www.geometrictools.com 3D Uniform Cubic B-Spline Functions”, Department of Computer Science and Engineering, Pohang University of Science and Technology (POSTECH), Pohang, 790-784, Korea [7] Diego Ruspini and Oussama Khatib (2000), “A Framework for Multi-Contact Multi-Body Dynamic Simulation and Haptic Display”, Proceedings of the 2000 IEEE/RSj International Conference on Intelligent Robots and Systems [8] Department of Informatics Umeå University S-901 87 UMEÅ, Sweden, “Virtual Reality in Medicine: Survey of the State of the Art” [9] Eugene Laptev (2002), “Collision Detection - Fastcar”, Oxford Dynamics www.oxforddynamics.co.uk [10] Leonard McMillan, Julie Dorsey, Robert Jagnow(2001), “Real-Time Simulation of Deformation and Fracture”, The Eurographics Association [11] Martin John Baker (2006), “Physics - Collision in dimensions”, http://www.euclideanspace.com/physics/dynamics/collision/oned/index.htm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ngày đăng: 10/08/2016, 18:31

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan