Xây dựng đường cong Bezier, đường cong Bspline, mảnh mặt cong Bezier và mảnh mặt cong Bspline ứng dụng phần mềm Matlab

28 1.4K 1
Xây dựng đường cong Bezier, đường cong Bspline, mảnh mặt cong Bezier và mảnh mặt cong Bspline ứng dụng phần mềm Matlab

Đ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

Hiện nay việc gia công cơ các bề mặt sản phẩm trong công nghiệp rất đa dạng và phức tạp, vì vậy để thiết kế và mô tả nó thuận lợi người ta sử dụng các phần mềm máy tính trợ giúp. Trong đó các phần mềm CADCAM đóng vai trò quan trọng trong việc trợ giúp xây dựng các bề mặt bằng máy tính.

LỜI NÓI ĐẦU Hiện nay việc gia công cơ các bề mặt sản phẩm trong công nghiệp rất đa dạng và phức tạp, vì vậy để thiết kế và mô tả nó thuận lợi người ta sử dụng các phần mềm máy tính trợ giúp. Trong đó các phần mềm CAD/CAM đóng vai trò quan trọng trong việc trợ giúp xây dựng các bề mặt bằng máy tính. Môn học: "Phương pháp xây dựng bề mặt cho CAD/CAM" cung cấp cho các học viên các phương pháp xây dựng bề mặt thường gặp trong sản xuất công nghiệp, trên cơ sở đó giúp cho học viên hiểu thêm quá trình xây dựng các đường cong và các mặt phức tạp trong hệ thống CAD/CAM/CNC Trong quá trình tìm hiểu và học tập môn hoc, tác giả đã tiến hành làm tiêủ luận để có thức riêng cho bản thân về môn học và thực hành lập trình sơ bộ cho các biên dạng đường và mặt cơ bản, bước đầu biết được nguyên lý chung cho quá trình xây dựng các bề mặt này. Tiểu luận môn học sau được trình bày làm 2 phần: - Phần 1. Cơ sở lý thuyết: bao gồm các kiến thức chung nhất về mô hình toán học và cách xây dựng đường cong Bezier, 1 đường cong B-spline, mảnh mặt cong Bezier và mảnh mặt cong B-spline. - Phần 2. Bài tập: Xây dựng đường cong Bezier, đường cong B-spline, mảnh mặt cong Bezier và mảnh mặt cong B- spline ứng dụng phần mềm Matlab Trong quá trình thực hiện tiểu luận, tác giả chân thành cảm ơn sự giúp đỡ tận tình của thầy giáo hướng dẫn Bộ môn Máy - Ma sát, Khoa Cơ khí, Đại học Bách khoa Hà nội và các ý kiến đóng góp của các bạn trong lớp.Trong qua trình làm tác giả không thể tránh được những thiếu sót, rât mong được sự đóng góp của thầy cô và các bạn để có thể hoàn thiện tốt hơn. 2 Phần 1. CƠ SỞ LÍ THUYẾT Để tạo thành các khối vật thể trong không gian 3D, trong kĩ thuật người ta sử dụng các đường cong phẳng. Trong toán học, các đoạn cong được biểu diễn bằng một hàm ẩn, hàm tường minh hoặc một hàm tham số. Hàm để mô tả đường cong được gọi là mô hình toán học của đường cong. Có nhiều hàm để mô tả các đường cong nhưng người ta sử dụng rộng rãi hàm đa thức vì hàm này dễ làm việc và linh hoạt trong việc mô tả nhiều loại đường cong kỹ thuật. Để xây dựng đoạn cong trên cơ sở điểm đã biết, người ta phải dựa vào một hàm nào đó và gọi nó là hàm cơ sở. Sử dụng hàm đa thức chuẩn làm hàm cơ sở có ưu việt là dễ dàng định nghĩa và đánh giá. Khảo sát hàm bậc ba: r(u) = (x(u), y(u), z(u)) = a + bu + cu 2 + du 3 Thể hiện dưới dạng ma trận: ( ) [ ]             = d c b a uuuur 32 1 (1) 3 Hay r(u) = UA với 0≤u≤1. Trong đó U là véc tơ cơ sở và A là véc tơ hệ số. 1.1. Mô hình toán học đường cong Berier. Chúng ta trình bày cách xây dựng đường cong Bezier trên cơ sở đường cong Ferguson với các điều kiện mút V 0 , V 1 , V 2 , V 3 trong đó: V 0 - điểm bắt đầu đoạn đường cong, tương ứng với điểm P 0 . V 1 - điểm nằm trên véc tơ tiếp tuyến điểm đầu đường cong và bằng V 0 + t 0 /3 chỉ ra trên hình 1. V 2 - điểm nằm trên véc tơ tiếp tuyến điểm cuối đường cong và bằng V 3 - t 1 /3; V 3 - Điểm cuối của đoạn cong ứng với đỉnh P 1 . Điểm cuối của đường cong Bezier với điều kiện mút được viết như sau: V 0 = P 0 ; V 1 = V 0 + t 0 /3; V 2 = V 3 - t 1 /3; V 3 = P 1 4 t r(u) 1 t 0 0 V P 0 P V 1 3 1 V 2 V = = V 1 2 V 0 V V 3 V 0 3 V 1 V V 2 Hình 1. Ví dụ đường cong Bezier bậc 3 Để có thể dùng phương pháp xây dựng đường cong bậc ba Ferguson vào xây dựng đường cong Bezier khi biết các điều kiện mút của nó, chúng ta phải tìm môtis quan hệ giữa điều kiện mút của đường cong bậc 3 Ferguson P 0 , P 1 , t 0 , t 1 , và điều kiện mút của đường cong Bezier V 0 , V 1 , V 2 , V 3 có nghĩa là ta phải có: V 0 = P 0 V 3 = P 1 Xác định t 0 theo V 1 ta nhận được: V 1 = V 0 + t 0 /3 3V 1 = 3V 0 - t 0 t 0 = 3(V 1 -V 0 ) Xác định t 1 theo V 2 ta có: 5 V 2 = V 3 - t 1 /3 3V 3 = 3V 2 - t 1 t 1 = 3(V 2 -V 3 ) Kết quả biến đổi ta nhận được hệ phương trình tuyến tính: V 0 = P 0 V 3 = P 1 t 0 = 3(V 1 -V 0 ) t 1 = 3(V 2 -V 3 ) Thể hiện dưới dạng ma trận: RL V V V V t t P P S =                         − − =             = 3 2 1 0 1 0 1 0 3300 0033 1000 0001 (4) Thay (4) vào (2) ta nhận được đường cong Bezier bậc ba. r(u) = U C S = U C L R (5) Với 0≤u≤1 6 Đặt M = C L             − −−− == 1122 1233 0100 0001 LCM             − − 3300 0033 1000 0001 =             −− − − 1331 0363 0033 0001 Và R =             3 2 1 0 V V V V Phương trình (5) được gọi là phương trình đường cong Bezier. Phương trình trên cũng có thể biểu diễn dưới dạng hàm đa thức: r(u) = (U M) R = B 0,3 (u)V 0 + B 1,3 (u)V 1 + B 2,3 (u)V 2 + B 3,3 (u)V 3 = ∑ − 3 0 3,1 )( i i VuB trong đó: B 0,3 (u) = (1-u) 3 B 1,3 (u) = 3u(1-u) 2 7 B 2,3 (u) = 3u 2 (1-u) B 3,3 (u) = u 3 B i,3 (u) được gọi là đa thức Bezier bậc 3 Đa thức Bezier tương đương với số hạng trong khai triển nhị phân (u+v) n , với v = 1 - u. Dạng chung của đa thức Bezier bậc n được viết như sau: u)-(1u !)!( ! (u)B i-ni ni, iin n − = Đa thức trên được gọi là hàm cơ sở Bezier dùng để định nghĩa đường cong Bezier bậc n với n+1 điểm điều khiển. ∑ = = n i ini VuBur 0 , )()( với 0≤u≤1 Chúng ta có thể tiến hành các phép như là tăng bậc, giảm bậc hàm Bezier. Ví dụ: đường cong Berier bậc ba Chương trình trên Matlab   8                !" !# "  $ % &'(  )* !"&!#+!"(,&+(- 9 ).*&"( $ &'*($ &'*(&.'*(,/ "/#  &.'''( " " &$ &*'('$ &*'('&*'('&*'('0+,0'01"20'( &034"5"5$/#/#0( 5" Ta sẽ có được biên dạng đường cong Berier bậc ba như sau: 10 [...]... 1:(n+1) Bs(i,:) = Bs(i,:) + P(j,:)*bsplinebasis(j,n+1,t,X); end end plot3(Bs(:,1),Bs(:,2),Bs(:,3),P(:,1),P(:,2),P(:,3),'*r','LineWidth',2); %axis([500 0 0 500]); title('B-Spline bac ba'); grid on Ta sẽ có một đường B-spline bậc ba như sau: 16 1.3 Mảnh mặt Berier Bây giờ chúng ta xây dựng mảnh mặt Bezier từ các đường cong Bezier tương tự như phương pháp hình thành mảnh mặt Ferguson đã nêu trên Giả thiết... học đường cong B-spline đồng nhất Để hiểu được đặc trưng hình học của một đường cong Bspline bậc 3 cần phải biết cấu trúc hình học của đường cong này.Giả sử, bốn đỉnh điều khiển của đường cong bậc ba này được ký hiệu V0, V1, V2, V3.Ta định nghĩa như sau: M0 = V0 + V1 2 Là điểm giữa của V0 và V1 M1 = V1 + V2 2 Là điểm giữa của V1 và V2 P0 = 2V1 + M 0 3 Là điểm nằm ở một phần ba của đoạn thẳng V1 và M0... P1 = 2V 2 + M 1 3 Là điểm nằm ở một phần ba của đoạn thẳng V2 và M1 Ta xây dựng đoạn cong r(u) thoả mãn điều kiện sau: - Đoạn cong bắt đầu từ điểm P0 và điểm cuối là P1 - Vectơ tiếp tuyến t0 ở điểm P0 là bằng ( M0-V0) - Vectơ tiếp tuyến t1 ở điểm P1 là bằng ( M1-V1) Điểm mút P0 và P1 của đoạn cong biểu diễn theo các đỉnh điều khiển như sau: 11 - Điểm đầu P0 của đoạn cong B-spline r(u) được dánh giá như... V02 V12 V22 V32 M được gọi là ma trận hệ số Bezier B là ma trận hệ số điều khiển Bezier Phương trình mảnh mặt Bezier tổng quát bậc n và m điều khiển như sau: m n r(u, v) = ∑∑ Bim (u ) B n (v)Vij j i =0 j = 0 (11) Trong đó: Bim (u ) = m! u i (1 − u ) m−i (m − i )!i! B n (v ) = j n! v j (1 − v) n− j (n − j )! j! Trong CAD/CAM người ta thường sử dụng mảnh mặt Bezier bậc m=n=5 hoặc m=n=7 Khi bậc m=n=5 số... V 2    0 3 V3  Thay kết quả tìm được vào đường cong Ferguson ta tìm được cách biểu diễn đường cong B-spline đồng nhất bậc 3 r(u) =U C S =UCKR Với 0 ≤ u ≤ 1 = U (C K) R U = [1 u u2 u3 ] C – ma trận hệ số Ferguson 13 4 1 1 − 3 0 3 1 N=  6 3 −6 3  − 1 3 − 3 0 0  0  1 R = [V0 V1 V2 V3 ]T Trong đó N- hệ số đường cong B-spline bậc ba Đường cong B-spline đồng nhất bậc ba viết dưới dạng... Q(g,h)=Q(g,h)+ P(i,j,1)*bsplinebasis(i,m,u,X)*bsplinebasis(j,n,v,Y); R(g,h)=R(g,h)+ P(i,j,2)*bsplinebasis(i,m,u,X)*bsplinebasis(j,n,v,Y); S(g,h)=S(g,h)+ P(i,j,3)*bsplinebasis(i,m,u,X)*bsplinebasis(j,n,v,Y); end end end end 21 hold of; surf(Q,R,S,'EdgeColor','none', 'FaceAlpha', 1); hold on; surf(P(:,:,1) ,P(:,:,2), P(:,:,3),'FaceColor', 'none','LineWidth',1.0); title('Be mat Bezier bac hai'); 1.4 Mảnh mặt B-spline... V22 V11 V10 V00 V21 V32 V33 V31 V20 u =0 V30 Hình 4 Mảnh mặt Bezier bậc 3 Các đỉnh điều khiển liên kết với nhau bằng đa thức Bernstein, mảnh mặt Bezier bậc 3 được xác định như sau: 3 3 r(u, v) = ∑∑ B3 (u ) B 3 (v)Vij i j i =0 j =0 3 3 3! 3! u i (1 − u )3−i v j (1 − v)3− j (3 − j )! j! j =0 (3 − i )!i! r(u, v) = ∑∑ i =0 = U M B MT VT U = [1 Trong đó: và u u2 u3 V = [1 v v2 v3 M= ] ] 0 0 1 − 3 3 0 ... 1 + 3u + 3u 2 − 3u 3 6 N 3,3 (u ) = u3 6 Mặt B-spline đồng nhất được thể hiện dưới hình sau: 23 V03 V02 V01 V 00 V13 V23 V12 V22 V11 v u V10 V 21 V32 V33 V31 V20 V30 Măt cong B-spline đồng nhất bậc hai được em như là tích tensor của đường cong B-spline đồng nhất bậc hai r(u) = U N 2 R Mặt đồng nhất B-spline có thể có bậc của hai biến u và v khác nhau Ví dụ mặt B-spline có biến u hoặc biến v bậc hai,... g = 1:(pr+1)u u = (g-1)/pr; for h = 1:(pr+1) v = (h-1)/pr; for i = 1:(n+1) for j = 1:(m + 1) Q(g,h)=Q(g,h)+ P(i,j,1)*bsplinebasis(i,n1,u,X)*bsplinebasis(j,m-1,v,Y); R(g,h)=R(g,h)+ P(i,j,2)*bsplinebasis(i,n1,u,X)*bsplinebasis(j,m-1,v,Y); S(g,h)=S(g,h)+ P(i,j,3)*bsplinebasis(i,n1,u,X)*bsplinebasis(j,m-1,v,Y); end end end end hold of; surf(Q,R,S,'EdgeColor','none', 'FaceAlpha', 1); hold on; 27 surf(P(:,:,1)... S1,3 (u ) = 4 − 6u 2 − 3u 3 6 S 2,3 (u ) = 1 + 3u + 3u 2 − 3u 3 6 S 3,3 (u ) = u3 6 Đường cong B-spline viết dưới dạng biểu thức đại số: 3 r (u ) = ∑ S i ,n (u ).Vi i =0 14 Tập phương trình đại số Si,3(u) với i = 0,B-spline đồng nhất bậc ba hay còn gọi là hàm hỗn hợp B-spline - Ví dụ: đường cong B-spline bậc 3 %function bspline( P,n) hold of; % Vi tri vecto P = [0 20 0; 10 40 150 ; 30 -70 20]; %P = [p1x . mặt cong B-spline. - Phần 2. Bài tập: Xây dựng đường cong Bezier, đường cong B-spline, mảnh mặt cong Bezier và mảnh mặt cong B- spline ứng dụng phần mềm Matlab Trong quá trình thực hiện tiểu. Phần 1. Cơ sở lý thuyết: bao gồm các kiến thức chung nhất về mô hình toán học và cách xây dựng đường cong Bezier, 1 đường cong B-spline, mảnh mặt cong Bezier và mảnh mặt cong B-spline. - Phần. &( &0$+7"/#/#0( 5" Ta sẽ có một đường B-spline bậc ba như sau: 16 1.3. Mảnh mặt Berier Bây giờ chúng ta xây dựng mảnh mặt Bezier từ các đường cong Bezier tương tự như phương pháp hình thành mảnh mặt Ferguson đã

Ngày đăng: 08/06/2015, 16:18

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

  • Đang cập nhật ...

Tài liệu liên quan