intTypePromotion=1

Tính toán va chạm sử dụng kỹ thuật hộp bao theo hướng và ứng dụng trong tuyên truyền giao thông

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:9

0
36
lượt xem
4
download

Tính toán va chạm sử dụng kỹ thuật hộp bao theo hướng và ứng dụng trong tuyên truyền giao thông

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Va chạm là vấn đề không thể thiếu trong bất kỳ một hệ thống thực tại ảo nào (VR). Do đó, nghiên cứu các phương pháp phát hiện va chạm là một mục tiêu hàng đầu mà các hệ thống thực tại ảo quan tâm. Bài báo này trình bày một kỹ thuật phát hiện va chạm dựa trên việc tính toán các hộp bao theo hướng (Oriented Bounding Boxes) và có cải tiến để phát hiện va chạm. Kỹ thuật nghiên cứu đã được áp dụng vào hệ thống “Giúp bạn đi an toàn” - một hệ thống thực tại ảo mô phỏng giao thông. Hệ thống có thể trợ giúp con người biết cách đi như thế nào để an toàn khi tham gia giao thông.

Chủ đề:
Lưu

Nội dung Text: Tính toán va chạm sử dụng kỹ thuật hộp bao theo hướng và ứng dụng trong tuyên truyền giao thông

Đỗ Năng Toàn và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 120(06): 161 – 169<br /> <br /> TÍNH TOÁN VA CHẠM SỬ DỤNG KỸ THUẬT HỘP BAO THEO HƢỚNG VÀ<br /> ỨNG DỤNG TRONG TUYÊN TRUYỀN GIAO THÔNG<br /> Đỗ Năng Toàn1, Nông Minh Ngọc2*<br /> 1<br /> <br /> Viện Công nghệ thông tin, 2Đại học Thái Nguyên<br /> <br /> TÓM TẮT<br /> Va chạm là vấn đề không thể thiếu trong bất kỳ một hệ thống thực tại ảo nào (VR). Do đó, nghiên<br /> cứu các phƣơng pháp phát hiện va chạm là một mục tiêu hàng đầu mà các hệ thống thực tại ảo<br /> quan tâm. Bài báo này trình bày một kỹ thuật phát hiện va chạm dựa trên việc tính toán các hộp<br /> bao theo hƣớng (Oriented Bounding Boxes) và có cải tiến để phát hiện va chạm.<br /> Kỹ thuật nghiên cứu đã đƣợc áp dụng vào hệ thống “Giúp bạn đi an toàn” - một hệ thống thực tại<br /> ảo mô phỏng giao thông. Hệ thống có thể trợ giúp con ngƣời biết cách đi nhƣ thế nào để an toàn<br /> khi tham gia giao thông.<br /> Từ khóa: Phát hiện va chạm, OBBs, AABB, Thực tại ảo.<br /> <br /> GIỚI THIỆU*<br /> Phát hiện va chạm là một trong những vấn đề<br /> trọng tâm của mỗi hệ thống thực tại ảo. Các<br /> đối tƣợng trong mỗi hệ thống đồ hoạ có<br /> những chuyển động riêng của nó, trong khi<br /> chuyển động đó có thể va chạm với đối tƣợng<br /> khác, hoặc có thể va chạm với môi trƣờng,<br /> chƣớng ngại vật,...<br /> Đối với phƣơng pháp phát hiện va chạm theo<br /> các hộp bao thì ta có hai kỹ thuật khác nhau<br /> đó là sử dụng hộp bao có các cạnh song song<br /> với các trục toạ độ (axis-aligned bounding<br /> boxes - AABBs) hoặc là hộp bao theo hƣớng<br /> của đối tƣợng (Oriented Bounding Boxe OBBs ). Việc phát hiện va chạm giữa các hộp<br /> bao AABBs đƣợc thực hiện nhanh chóng<br /> nhƣng sai số lớn, trong khi đó phát hiện va<br /> chạm giữa các hộp bao OBBs tuy phức tạp<br /> hơn nhƣng lại cho sai số nhỏ hơn nhiều.<br /> Bài báo này sẽ trình bày kỹ thuật phát hiện va<br /> chạm dựa vào các hộp bao OBBs và đƣa ra<br /> một cải tiến để giảm thời gian xử lý các hộp<br /> bao. Cuối cùng, chúng tôi đã áp dụng kỹ thuật<br /> trên vào hệ thống “Giúp bạn đi an toàn khi<br /> tham giao thông ” - một hệ thống thực tại ảo mô<br /> phỏng các tình huống giao thông nhằm tuyên<br /> truyền, trợ giúp ngƣời dùng biết cách đi nhƣ thế<br /> nào để an toàn nhất khi tham gia giao thông.<br /> *<br /> <br /> Tel: 0968 595888<br /> <br /> KỸ THUẬT HỘP BAO THEO HƢỚNG<br /> (ORIENTED BOUNDING BOXES)<br /> Định nghĩa hộp bao theo hƣớng (Oriented<br /> Bounding Boxes-OBBs)<br /> Trong phần này, tất cả các vectors đƣợc hiểu<br /> là trong không gian R3.<br /> Một hình hộp OBB bao gồm một tâm C, ba<br /> <br /> <br /> <br />  <br /> <br /> vector A0 , A1 , A2 chỉ hƣớng của hình hộp và<br /> 3 hệ số độ dài tƣơng ứng với kích thƣớc của<br /> hình hộp là a0 >0, a1>0, a2>0. Khi đó, 8 đỉnh<br /> của hình hộp sẽ đƣợc xác định nhƣ sau:<br /> 2<br /> <br /> C<br /> <br /> <br /> si ai * Ai<br /> <br /> | si | 1, i<br /> <br /> 0,1,2.<br /> <br /> (1)<br /> <br /> i 0<br /> <br /> Kỹ thuật phát hiện hộp bao theo hƣớng đƣợc<br /> chia làm hai mức. Mức một là kiểm tra<br /> “nhanh” xem có va chạm nào xảy ra không?<br /> Nếu không có va chạm nào xảy ra thì hệ<br /> thống vẫn làm việc bình thƣờng, có ít nhất<br /> một va chạm xảy ra thì sẽ chuyển sang mức<br /> hai là tìm chính xác điểm va chạm của các<br /> hộp bao.<br /> Định lý: Việc kiểm tra hai khối đa diện lồi<br /> không giao nhau nếu có thể cô lập đƣợc<br /> chúng bằng một mặt phẳng P thoả mãn một<br /> trong hai điều kiện sau:<br /> - P song song với một mặt nào đó của một<br /> trong hai khối đa diện.<br /> - Hoặc là P chứa một cạnh thuộc đa diện thứ<br /> nhất và một đỉnh thuộc đa diện thứ hai.<br /> 161<br /> <br /> Đỗ Năng Toàn và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> Từ định lý trên, ta rút ra nhận xét sau cho<br /> phép kiểm tra nhanh sự giao nhau của hai hai<br /> khối đa diện lồi: Điều kiện cần và đủ để kiểm<br /> tra hai khối đa diện lồi có giao nhau hay<br /> không là kiểm tra giao nhau giữa các hình<br /> chiếu của chúng lên đƣờng thẳng vuông góc<br /> với mặt phẳng P ở trên, đƣờng thẳng này<br /> đƣợc gọi là trục cô lập. Ta thấy rằng các hộp<br /> bao OBBs là những khối đa diện lồi, bởi vậy<br /> ta hoàn toàn có thể áp dụng định lý trên để<br /> kiểm tra va chạm giữa chúng.<br /> Phƣơng pháp kiểm tra va chạm giữa hai<br /> hộp bao OBBs<br /> Cho hai hình bao OBBs xác định bởi các<br /> thông<br /> số<br /> [C0,A0,A1,A2,a0,a1,a2]<br /> và<br /> [C1,B0,B1,B2,b0,b1,b2]. Ta thấy rằng các tình<br /> huống mà hai OBBs tiếp xúc với nhau (không<br /> cắt nhau) chỉ có thể là một trong 6 trƣờng hợp<br /> sau đây: mặt - mặt, mặt - cạnh, mặt - đỉnh,<br /> cạnh - cạnh, cạnh - đỉnh, đỉnh - đỉnh. Do vậy,<br /> tập ứng cử viên các trục cô lập chỉ tối đa là 15<br /> trục sau:<br /> <br /> 120(06): 161 – 169<br /> <br /> P<br /> d<br /> H<br /> C0<br /> Hình 1. Hình chiếu của P lên đường thẳng d<br /> <br /> Nhƣ vậy, khi chiếu 8 đỉnh của hộp bao thứ<br /> nhất lên trục cô lập d với gốc C0 thì sẽ thu<br /> đƣợc 4 cặp đoạn thẳng có độ dài bằng nhau<br /> nằm về hai phía so với C0 (hình 2), độ dài của<br /> mỗi đoạn thẳng đƣợc xác định nhƣ sau :<br /> <br />  <br /> si * ai * Ai ) * V<br /> 0<br /> <br /> |<br /> |V |<br /> <br /> 2<br /> <br /> <br /> hc(C0<br /> <br /> 2<br /> <br /> <br /> si * ai * Ai , d ) |<br /> <br /> i 0<br /> <br /> (<br /> i<br /> <br /> (2)<br /> <br /> <br /> <br /> - 3 trục chỉ hƣớng của hộp bao thứ nhất ( Ai )<br /> <br /> <br /> <br /> - 3 trục chỉ hƣớng của hộp bao thứ hai ( B j )<br /> - 9 trục tạo bởi tích có hƣớng của một trục<br /> thuộc hộp bao thứ nhất và một trục thuộc hộp<br /> <br /> <br /> <br /> bao thứ hai ( Ai<br /> <br /> <br /> B j ).<br /> <br /> Mặt khác, ta biết rằng nếu một trục là trục cô<br /> lập thì khi tịnh tiến đến vị trí nào, nó vẫn là<br /> trục cô lập. Bởi vậy, không mất tính tổng quát<br /> ta sẽ gọi trục cô lập có vector chỉ phƣơng là V<br /> và đi qua tâm C0 của hộp bao thứ nhất, do vậy<br /> nó có phƣơng trình nhƣ sau:<br /> <br /> <br /> <br /> d = C 0 + t* V<br /> <br /> <br /> <br /> <br /> Trong đó: t là tham số. V là Ai hoặc B j<br /> hoặc Ai B j với i, j = 0,1,2.<br /> Gọi P là một điểm bất kỳ, hình chiếu của P<br /> lên đƣờng thẳng d với gốc C0 sẽ là đoạn thẳng<br /> C0H xác định nhƣ sau :<br /> <br /> hc( P, d )<br /> 162<br /> <br />  <br /> <br /> ( P C0 ) *V<br /> <br /> |V |<br /> <br /> Hình 2. Chiếu 8 đỉnh của hình hộp lên trục cô lập d<br /> <br /> Nhƣ vậy, khoảng cách nhỏ nhất chứa 8 đoạng<br /> thẳng (2) sẽ có tâm có tâm là C0 và bán kính<br /> r0 đƣợc xác định nhƣ sau :<br /> <br /> <br /> <br /> si * ai * Ai ) * V<br /> 0<br /> <br /> |}<br /> |V |<br /> <br /> 2<br /> <br /> (<br /> r0 = max { |<br /> <br /> i<br /> <br /> Với mọi |si| = 1.<br /> <br /> (3)<br /> <br /> <br /> Đặt R0 = r0* | V | , ta có:<br />  <br />  <br />  R0 = max{| a0* A0 * V + a1* A1 * V +<br />  <br /> a2* A2 *V |<br />  <br />  <br />  <br /> | a0* A0 * V + a1* A1 * V - a2* A2 *V |<br /> <br /> Đỗ Năng Toàn và Đtg<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Giải cụ thể các phƣơng trình trên. Với mỗi<br /> <br /> | a0* A0 * V - a1* A1 * V + a2* A2 *V |<br /> <br />  <br />  <br />  <br /> | a0* A0 * V - a1* A1 * V - a2* A2 *V |<br />  <br />  <br />  <br /> |-a0* A0 * V + a1* A1 * V + a2* A2 *V |<br />  <br />  <br />  <br /> |-a0* A0 * V + a1* A1 * V - a2* A2 *V |<br />  <br />  <br />  <br /> |-a0* A0 * V - a1* A1 * V + a2* A2 *V |<br />  <br />  <br />  <br /> |-a0* A0 * V - a1* A1 * V - a2* A2 *V |}<br />  <br />  <br />  <br /> = a0*| A0 * V | + a1*| A1 * V | + a2*| A2 *V |<br /> <br /> <br /> <br /> Với D<br /> <br /> Đặt :<br /> <br /> |si| = 1.<br /> <br /> i<br /> <br /> <br /> ci 0 B0<br /> <br /> AT*B = C<br /> <br /> <br /> ci1 B1<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> c i 2 B2<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> = Ai<br /> <br /> <br /> <br /> <br /> B j , các trƣờng hợp còn lại đƣợc tính<br /> <br /> toán tƣơng tự.<br /> <br /> <br /> - Xét trƣờng hợp V = A0 :<br />  <br /> + R0 = a0*| A0 * V | + a1*| A1 * V | +<br /> a2*| A2 *V | = a0.<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> b0*| B0 * V | + b1*| B1 * V | +<br /> <br /> <br /> <br /> b2*| B2 *V | = b0*|c00| + b1*|c01| + b2*|c02|.<br />  <br /> + R = A0 * D<br /> <br /> <br /> <br /> - Xét trƣờng hợp V = A0 B0 :<br /> <br /> Hai khoảng cách trên sẽ không giao nhau nếu:<br /> <br /> <br /> <br /> | V | *C0C1 > | V | *r0 +<br /> <br /> <br /> <br /> (5)<br /> <br /> Trong đó: R = C0C1* | V | .<br /> <br /> d<br /> <br /> <br /> <br /> <br /> B0 |<br />  <br />  <br /> <br /> <br /> a1*| A1 * A0 B0 | + a2*| A2 * A0 B0 |<br /> <br /> <br /> <br /> A0 B0<br /> Mặt<br /> khác :<br /> =<br /> V<br /> <br /> <br /> <br /> <br /> A0 (c00 A0 c10 A1 c20 A2 )<br /> <br /> <br /> c10 A2 c 20 A1<br /> +<br /> <br /> R0<br /> <br /> =<br /> <br /> a0*| A0 * A0<br /> <br />  R0 = a1*|c20| + a2*|c10|<br /> <br /> <br /> <br /> Hình 3. Kết quả chiếu 2 hình hộp lên trục cô lập d<br /> <br /> <br /> <br /> minh họa cho hai trƣờng hợp V = Ai và V<br /> <br /> <br /> <br /> R0 C0<br /> <br /> (7)<br /> <br /> toán các hệ số R0, R1, R ở trên thì ta sẽ làm<br /> <br /> + R1 =<br /> <br /> C1 R1<br /> <br /> C =<br /> <br /> <br /> B j }với i, j = 0,1,2. Để tính<br /> <br /> = { Ai , B j , Ai<br /> <br /> <br /> <br /> <br /> <br /> c 21 c 22<br /> <br /> Nhƣ trong tập các trục cô lập ứng cử viên V<br /> <br /> <br /> <br /> R > R0 + R1<br /> <br /> c 20<br /> <br /> (6)<br /> <br /> chính là tích vô hƣớng của hai vector Ai, Bj.<br /> Mặt khác, từ B = C*A  A = CT*B <br /> <br /> b2*| B2 *V |.<br /> <br /> <br /> | V | *r1<br /> <br /> c11 c12<br /> <br /> A2 B0 A2 B1 A2 B2<br />  <br /> Từ (6) và (7) suy ra: cij Ai * B j , hay cij<br /> <br /> <br /> <br /> si * bi * Bi ) * V<br /> 0<br /> <br /> | } Với mọi<br /> |V |<br /> <br /> C0C1 > r0+r1<br /> <br /> c10<br /> <br /> A2<br /> <br /> R1 = b0*| B0 * V | + b1*| B1 * V | +<br /> <br /> <br /> <br /> viết<br /> <br /> A0 B0 A0 B1 A0 B2<br /> <br /> <br /> Ai<br /> <br /> <br /> <br /> thể<br /> <br /> <br /> c 2i A2 với i =<br /> <br /> A1 * B0 B1 B2 = A1 B0 A1 B1 A1 B2<br /> <br /> (4)<br /> <br /> <br /> <br /> c01 c02<br /> <br /> A0<br /> <br /> Đặt R1 = r1* | V | , tƣơng tự nhƣ trên ta suy ra :<br /> <br /> <br /> <br /> c00<br /> <br />  B = C*A<br /> <br /> 2<br /> <br /> r1 = max { |<br /> <br /> có<br /> <br /> A = (A0, A1, A2) và B= (B0, B1, B2)<br /> <br /> C<br /> <br /> Chú ý rằng, 8 đoạn thẳng này đƣợc nhóm<br /> thành 4 cặp đối xứng nhau qua C1. Do vậy,<br /> khoảng cách nhỏ nhất chứa 8 đoạng thẳng (4)<br /> sẽ có tâm là C1 và bán kính R1 đƣợc xác định<br /> nhƣ sau :<br /> <br /> (<br /> <br /> <br /> c1i A1<br /> <br /> 0,1,2.<br /> <br />  <br /> <br /> <br /> (<br /> s<br /> *<br /> b<br /> *<br /> B<br /> ) *V<br /> 2<br /> <br /> V *D i 0 i i i<br />  |<br /> <br /> si * bi * Bi , d )<br /> |<br /> |V |<br /> |V |<br /> i 0<br /> <br /> C0<br /> <br /> ta<br /> <br /> <br /> c0i A0<br /> <br /> <br /> thành: Bi<br /> <br /> 2<br /> <br /> <br /> C1<br /> <br /> <br /> Bi<br /> <br /> vector<br /> <br /> Tƣơng tự, ta xác định hình chiếu 8 đỉnh của<br /> hộp bao thứ hai lên d với gốc C0 nhƣ sau.<br /> <br /> <br /> hc(C1<br /> <br /> 120(06): 161 – 169<br /> <br /> <br /> <br /> <br /> <br /> + R = V * D = (c10 A2<br /> <br /> +<br /> <br /> =<br /> =<br /> <br /> <br /> <br /> c 20 A1 ) * D<br /> 163<br /> <br /> Đỗ Năng Toàn và Đtg<br /> <br /> <br /> <br /> <br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> <br /> <br /> <br /> <br /> + R1 = b0*| B0 * V | + b1*| B1 * V | +<br /> <br />  <br /> b2*| B2 *V |.<br /> <br /> <br /> <br /> Ta có viết lại V dƣới dạng:<br /> <br /> <br /> <br /> <br /> V = A0 B0 =<br /> <br /> <br /> <br /> <br /> (c00 B0 c01B1 c02 B2 ) B0 = <br /> <br /> c01B2 c02 B1<br />  <br /> <br /> <br /> <br />  B0 * V = B0 * ( c01B2 c02 B1 ) = 0<br /> <br /> <br />   <br /> B1 * V = B1 * ( c01B2 c02 B1 ) = c02<br /> <br /> <br /> <br />  <br /> B2 *V = B2 * ( c01B2 c02 B1 ) = -c01<br />  R1 = b1*|c02|+ b2*|c01|<br /> Tiếp tục, ta xây dựng đƣợc bảng các giá trị<br /> cho R, R0, R1 nhƣ thể hiện tại bảng 1.<br /> Tính toán điểm va chạm giữa hai OBBs<br /> Khi có va chạm giữa các OBBs xảy ra, ta sẽ<br /> thực hiện việc tìm chính xác điểm va chạm.<br /> <br /> Đối với hai hộp bao, nếu chúng va chạm với<br /> nhau ở dạng đỉnh - đỉnh, đỉnh - cạnh, cạnh cạnh, đỉnh - mặt thì điểm tiếp xúc là duy nhất.<br /> Nhƣng nếu chúng va chạm với nhau ở dạng<br /> mặt - mặt, cạnh - mặt thì sẽ có vô số điểm<br /> tiếp xúc, khi đó chúng ta chỉ cần đƣa ra một<br /> điểm bất kỳ là đƣợc.<br /> Ý tưởng để tìm thời điểm va chạm như sau:<br /> Mỗi khi ta thực hiện công việc kiểm nhanh va<br /> chạm ở mức thứ nhất, nếu tìm đƣợc một trục<br /> cô lập thì ta sẽ ghi lại nhãn thời gian cho trục<br /> cô lập đó. Nếu không tìm đƣợc một trục cô<br /> lập nào thì có nghĩa là hai hộp bao đã va<br /> chạm với nhau, khi đó nhãn thời gian đƣợc<br /> gán cho trục cô lập ở lần kiểm tra liền trƣớc<br /> sẽ là thời điểm đầu tiên mà hai hộp bao va<br /> chạm nhau, gọi T là nhãn thời gian đó. Khi<br /> đó, ta có thế coi nhƣ R = R0+R1(thời điểm hai<br /> hình hộp tiếp xúc nhau).<br /> <br /> Bảng 1. Các giá trị R, R0, R1<br /> <br /> 164<br /> <br /> 120(06): 161 – 169<br /> <br /> Đỗ Năng Toàn và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> Gọi P là điểm tiếp xúc của hai hộp bao thì suy<br /> ra tồn tại một vector x = {x0, x1, x2} và y =<br /> {y0, y1, y2} sao cho:<br /> <br /> <br /> xi * Ai<br /> <br /> 2<br /> <br /> <br /> D<br /> <br /> 2<br /> <br /> i 0<br /> <br /> bj và i,j = 0,1,2.<br /> <br /> (8)<br /> <br /> Việc tìm điểm va chạm sẽ phụ thuộc vào trục<br /> cô lập V ở thời điểm T là trục nào trong số<br /> 15 trục cô lập ứng cử viên. Ta xét 3 trƣờng<br /> hợp sau.<br /> <br /> <br /> <br /> <br /> V là vector Ai :Nhân hai vế của (8) với Ai<br /> <br /> ta thu đƣợc:<br /> <br /> <br /> <br /> 2<br /> <br />  <br /> y j * Ai B j =<br /> <br /> <br /> <br /> Sign( Ai * D )*(R0+R1) +<br /> <br /> <br /> <br /> bj nên ta có:<br /> <br /> Do vậy, ta chỉ cần chọn một giá trị yj thuộc<br /> đoạn trên.<br /> <br /> <br /> <br /> V là vector Bi :Tƣơng tự nhƣ trƣờng hợp<br /> <br /> trên, ta tính đƣợc.<br /> 0<br /> <br /> * bi<br /> <br /> xj<br /> <br /> 0,1,2.<br /> <br /> Nếu cji = 0, nhân hai vế của (6) với Ai ta có:<br /> <br /> 2<br /> <br /> <br /> <br /> x k * c kj<br /> <br /> Mặt khác, vì |yj|<br /> <br /> yi<br /> <br /> j 0<br /> <br /> <br /> <br /> 2<br /> k 0<br /> <br /> Nếu cji<br /> <br /> xi = Ai * D<br /> <br /> <br /> <br /> yj = - B j * D<br /> <br /> <br /> y j * B j với |xi| ai, |yj|<br /> <br /> j 0<br /> <br /> <br /> <br /> <br /> <br /> 120(06): 161 – 169<br /> <br /> y j * cij<br /> <br /> * Sign(c ji ) * a j<br /> <br /> j<br /> <br /> j 0<br /> <br /> = Sign( Ai * D )  xi = *(R0+R1) +<br /> <br /> Đặt<br /> 2<br /> <br /> y j * cij . Thay giá trị các R0, R1 tại bảng 1:<br /> <br /> Tƣơng tự nhƣ trên, ta có:<br /> <br /> j 0<br /> <br /> 2<br /> <br /> b j * | ci j | ) +<br /> <br /> xi = *(ai +<br /> j 0<br /> <br /> cả hai vế với<br /> <br /> 2<br /> <br /> y j * cij Nhân<br /> j 0<br /> <br /> ta đƣợc.<br /> 2<br /> <br /> 2<br /> <br /> b j * | ci j | +<br /> <br /> (ai- *xi) +<br /> j 0<br /> <br /> y j * cij = 0<br /> j 0<br /> <br /> <br /> <br /> hợp V<br /> <br /> 2<br /> <br /> | cij | *(b j<br /> <br /> * Sign(cij ) * y j ) = 0 (9)<br /> <br /> j 0<br /> <br /> Ta<br /> <br /> thấy:<br /> <br /> (b j<br /> <br /> <br /> (ai- *xi)<br /> <br /> 0<br /> <br /> và<br /> <br /> <br /> B j : Để dễ trình bày,<br /> <br /> ai<br /> <br /> * xi<br /> <br /> bj<br /> <br /> * Sign(cij ) * y j<br /> 0<br /> <br /> xi<br /> <br /> * ai<br /> <br /> 0<br /> <br /> * Sign(cij ) * bj<br /> <br /> <br /> c01B2<br /> <br /> =<br /> <br /> <br /> <br /> <br /> <br /> A0 B0 = c10 A2 c 20 A1 =<br /> <br /> c02 B1 , các trƣờng hợp khác sẽ<br /> <br /> đƣợc tính tƣơng tự.<br /> <br /> <br /> B0 ta đƣợc:<br /> <br /> <br /> <br /> x2*c10 - x1*c20 = ( A0 B0 ) * D +<br /> 2<br /> <br /> <br /> <br /> y j * B j * ( c01B2 c02 B1 )<br /> j 0<br /> <br /> <br /> <br /> x2*c10 - x1*c20 = ( A0 B0 ) * D + y1*c02 <br /> <br /> Nhân hai vế (8) với A0<br /> <br /> * Sign(cij ) * y j ) 0<br /> <br /> Nếu cij<br /> <br /> yj<br /> <br /> <br /> <br /> V là vector Ai<br /> <br /> chúng ta sẽ làm minh hoạ cho một trƣờng<br /> <br /> (ai- *xi)<br /> +<br /> <br /> Khi đó, chọn xj thuộc đoạn sau làm điểm tiếp<br /> xúc:<br /> <br /> 0<br /> <br /> y2*c01<br /> <br /> j 0,1,2.<br /> <br /> Nếu cij = 0 (ứng với trƣờng hợp cạnh va chạm<br /> mặt, mặt va chạm mặt). Khi đó, nhân hai vế<br /> của (8) với B j ta đƣợc:<br /> <br /> (10)<br /> <br /> Chú ý rằng, theo hàng 7 trong bảng 1 thì:<br /> <br /> <br /> | R | | ( A0<br /> <br /> <br /> <br /> B0 ) * D | R0<br /> <br /> R1<br /> <br /> a1* | c20 | a2 * | c10 | b1* | c02 | b2 * | c01 |<br /> 165<br /> <br />
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2