Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
393,5 KB
Nội dung
Phương pháp xâydựng bề mặt cho CAD/CAM T IĐỀ À Sử dụngphầnmềm Matlab đểxâydựngđườngcongBezier,đườngcongB-spline,mảnhmặtcongBeziervàmảnhmặtcongB-spline Giáo viên h ng d n ướ ẫ : Sinh viên th c hi nự ệ : Học viên: Vũ Quang Lương 1 Phương pháp xâydựng bề mặt cho CAD/CAM Học viên: Vũ Quang Lương 2 Phương pháp xâydựng bề mặt cho CAD/CAM Học viên: Vũ Quang Lương 3 Phương pháp xâydựng bề mặt cho CAD/CAM 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ầnmềm máy tính trợ giúp. Trong đó các phầnmềm CAD/CAM đóng vai trò quan trọng trong việc trợ giúp xâydựng các bề mặt bằng máy tính. Môn học: "Phương pháp xâydựng bề mặt cho CAD/CAM" cung cấp cho các học viên các phương pháp xâydự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âydựng các đườngcongvà 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 đườngvàmặt cơ bản, bước đầu biết được nguyên lý chung cho quá trình xâydự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âydựngđườngcongBezier,đườngcongB-spline,mảnhmặtcongBeziervàmảnhmặtcong B-spline. - Phần 2. Bài tập: sử dụngphầnmềm Matlab đểxâydựngđườngcongBezier,đườngcongB-spline,mảnhmặtcongBeziervàmảnhmặtcongB-spline 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 TS. Bùi Quý Lực, 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. Hà nội, ngày 19 tháng 8 năm 2009 Học viên Vũ Quang Lương Học viên: Vũ Quang Lương 4 Phương pháp xâydựng bề mặt cho CAD/CAM 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 đườngcong 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ả đườngcong được gọi là mô hình toán học của đường cong. Có nhiều hàm để mô tả các đườngcong 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 đườngcong kỹ thuật. Đểxâydự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) 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 đườngcong Berier. Chúng ta trình bày cách xâydựngđườngcongBezier trên cơ sở đườngcong 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 đườngcongvà 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 đườngcongvà bằng V 3 - t 1 /3; Học viên: Vũ Quang Lương 5 Phương pháp xâydựng bề mặt cho CAD/CAM V 3 - Điểm cuối của đoạn cong ứng với đỉnh P 1 . Điểm cuối của đườngcongBezier 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 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ụ đườngcongBezier bậc 3 Để có thể dùng phương pháp xâydựngđườngcong bậc ba Ferguson vào xâydựngđườngcongBezier 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 đườngcong bậc 3 Ferguson P 0 , P 1 , t 0 , t 1 , và điều kiện mút của đườngcongBezier 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ó: 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 Học viên: Vũ Quang Lương 6 Phương pháp xâydựng bề mặt cho CAD/CAM 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 đườngcongBezier bậc ba. r(u) = U C S = U C L R (5) Với 0≤u≤1 Đặ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 đườngcong 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 Học viên: Vũ Quang Lương 7 Phương pháp xâydựng bề mặt cho CAD/CAM trong đó: B 0,3 (u) = (1-u) 3 B 1,3 (u) = 3u(1-u) 2 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ở Bezierdùngđể định nghĩa đườngcongBezier 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ụ: đườngcong Berier bậc ba Chương trình trên Matlab !" !# " $ % &'( Học viên: Vũ Quang Lương 8 Phương pháp xâydựng bề mặt cho CAD/CAM )* !"&!#+!"(,&+(- ).*&"( $ &'*($ &'*(&.'*(,/ "/# &.'''( " " &$ &*'('$ &*'('&*'('&*'('0+,0'01"20'( &034"5"5$/#/#0( 5" Ta sẽ có được biên dạng đườngcong Berier bậc ba như sau: 1.2. Mô hình toán học đườngcongB-spline đồng nhất Để hiểu được đặc trưng hình học của một đườngcongB-spline bậc 3 cần phải biết cấu trúc hình học của đườngcong này.Giả sử, bốn đỉnh điều khiển của đườngcong bậc ba này được ký hiệu V 0 , V 1 , V 2 , V 3 .Ta định nghĩa như sau: 2 10 0 VV M + = Là điểm giữa của V 0 và V 1 2 21 1 VV M + = Là điểm giữa của V 1 và V 2 3 2 01 0 MV P + = Là điểm nằm ở một phần ba của đoạn thẳng V 1 và M 0 Học viên: Vũ Quang Lương 9 Phương pháp xâydựng bề mặt cho CAD/CAM 3 2 12 1 MV P + = Là điểm nằm ở một phần ba của đoạn thẳng V 2 và M 1 Ta xâydựng đoạn cong r(u) thoả mãn điều kiện sau: - Đoạn cong bắt đầu từ điểm P 0 và điểm cuối là P 1 - Vectơ tiếp tuyến t 0 ở điểm P 0 là bằng ( M 0 -V 0 ) - Vectơ tiếp tuyến t 1 ở điểm P 1 là bằng ( M 1 -V 1 ) Điểm mút P 0 và P 1 của đoạn cong biểu diễn theo các đỉnh điều khiển như sau: - Điểm đầu P 0 của đoạn congB-spline r(u) được dánh giá như sau o 6 4 3 2 2 3 2 201 10 1 01 0 VVV vV V MV P ++ = + + = + = Hay 6 )(4 )0( 201 0 VVV rP ++ == (1-a) Đánh giá r(u) tại điểm cuối P 1 ứng với u = 1 6 4 3 2 2 3 2 312 31 2 01 1 VVV VV V MV P ++ = + + = + = Biểu diễn tại P 1 : 6 )(4 )1( 312 1 VVV rP ++ == (1-b) Ta có )( . 0 urt = , do đó ta xác định tiếp tuyến t 0 : 22 02 0 20 000 VV V VV VMP − =− + =−= Hay 2 )0( 02 . 0 VV rt − =≡ (2-a) Tương tự ta có: 22 13 1 31 111 VV V VV VMP − =− + =−= Hay 2 )1( 13 . 1 VV rt − =≡ (2-b) Tử các phương trình (1-a), (1-b), (2-a), (2-b) ta có hệ phương trình tuyến tính )04( 6 1 2400 +++= VVVP Học viên: Vũ Quang Lương 10 [...]... 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 đườngB-spline bậc ba như sau: 12 Học viên: Vũ Quang Lương Phương pháp xâydựng bề mặt cho CAD/CAM 1.3 Mảnhmặt Berier Bây giờ chúng ta xâydựngmảnhmặtBezier từ các đườngcongBezier tương tự như phương pháp hình thành mảnhmặt Ferguson đã nêu trên Giả thiết rằng chúng... P(i,j,3)*bsplinebasis(i,m,u,X)*bsplinebasis(j,n,v,Y); end end end end 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 matBezier bac hai'); 15 Học viên: Vũ Quang Lương Phương pháp xâydựng bề mặt cho CAD/CAM 1.4 MảnhmặtB-spline đồng nhất MặtB-spline đồng nhất bậc ba của hai biến u và v được biểu diễn bởi phương trình sau: 3 3 r (u, v)... P(i,j,3)*bsplinebasis(i,n-1,u,X)*bsplinebasis(j,m-1,v,Y); end end end end hold of; 18 Học viên: Vũ Quang Lương Phương pháp xâydựng bề mặt cho CAD/CAM surf(Q,R,S,'EdgeColor','none', 'FaceAlpha', 1); hold on; surf(P(:,:,1) ,P(:,:,2), P(:,:,3),'FaceColor', 'none','LineWidth',1.0); title('Manh matB-Spline ') ; 19 Học viên: Vũ Quang Lương ... số đườngcongB-spline bậc ba ĐườngcongB-spline đồng nhất bậc ba viết dưới dạng biểu thức đại số như sau: r( u ) = 1 − 3u − 3u 2 − u 3 4 − 6u 2 − 3u 3 1 + 3u + 3u 2 − 3u 3 u3 V0 + V1 + V 2 + V3 6 6 6 6 Đặt: S 0,3 (u ) = 1 − 3u − 3u 2 − u 3 6 11 Học viên: Vũ Quang Lương Phương pháp xâydựng bề mặt cho CAD/CAM 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. .. pháp xâydựng bề mặt cho CAD/CAM N 0,3 (u ) = 1 − 3u − 3u 2 − u 3 6 N 1,3 (u ) = 4 − 6u 2 − 3u 3 6 N 2, 3 (u ) = 1 + 3u + 3u 2 − 3u 3 6 N 3,3 (u ) = u3 6 MặtB-spline đồng nhất được thể hiện dưới hình sau: V03 V02 V01 V 00 V13 V23 V12 V22 V11 v u V10 V 21 V20 V32 V33 V31 V30 MătcongB-spline đồng nhất bậc hai được em như là tích tensor của đườngcongB-spline đồng nhất bậc hai r(u) = U N 2 R Mặt đồng... V23 V33 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ảnhmặtBezier 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ặtBezier bậc m=n=5 hoặc m=n=7 Khi bậc m=n=5 số... V10 V20 u =0 V30 Hình 4 MảnhmặtBezier bậc 3 Các đỉnh điều khiển liên kết với nhau bằng đa thức Bernstein, mảnhmặtBezier bậc 3 được xác định như sau: 13 Học viên: Vũ Quang Lương Phương pháp xây dựng bề mặt cho CAD/CAM 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 − i )!i! (3 − j )! j! j =0 r(u, v) = ∑∑ i =0 (10) = U M B MT VT U= và [1 u u2 u3 V= [1 v...Phương pháp xây dựng bề mặt cho CAD/CAM P1 = 1 (0 + V1 + 4V 2 + V3 ) 6 t0 = 1 (−3V0 + 0 + 3V2 + 0) 6 t1 = 1 (0 − 3V1 + 0 + 3V3 ) 6 Chuyển sang dạng ma trận ta được: 4 P0 1 P 0 1 1 1 S= = t 0 6 − 3 0 0 −3 t1 1 0 V0 4 1 V1 = KR 3 0 V 2 0 3 V3 Thay kết quả tìm được vào đườngcong Ferguson ta tìm được cách biểu diễn đườngcongB-spline đồng nhất... 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ặtB-spline có biến u hoặc biến v bậc hai, phương trình được biểu diễn như sau: r(u)= U N B N2T VT Với 0 ≤ u ≤ 1 Trong đó: U = [ 1 u u2 u3 ] V = [ 1 v v2 v3 ] V00 V01 V V11 B = 10 V20 V21 V30 V31 V02 V12 V22 V32 17 Học viên: Vũ Quang Lương Phương pháp xâydựng bề mặt cho CAD/CAM 4 1 1 − 3 0... dụngmảnhmặtBezier bậc m=n=5 hoặc m=n=7 Khi bậc m=n=5 số đỉnh điều khiển cần thiết là 36 Chúng ta có thể tiến hành tăng hoặc giảm bậc của phương trình mảnhmặt tam giác Bezier 14 Học viên: Vũ Quang Lương Phương pháp xâydựng bề mặt cho CAD/CAM Ví dụ bề mặt Berierbậc 2 pr = 20; P = zeros(3,3,3); P(1,1,:) = [0 3 -1]; P(1,2,:) = [0 7 5]; P(1,3,:) = [0 6 1]; P(2,1,:) = [2 3 1]; P(2,2,:) = [3 10 -2]; P(2,3,:) . Phương pháp xây dựng bề mặt cho CAD/CAM T IĐỀ À Sử dụng phần mềm Matlab để 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 Giáo viên. B-spline. - Phần 2. Bài tập: sử dụng phần mềm Matlab để 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 Trong quá trình thực hiện tiểu luận, tác giả chân. 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, đường cong B-spline, mảnh mặt cong Bezier và mảnh mặt cong B-spline. - Phần