Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
856,87 KB
Nội dung
1 Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - LÊ NGUYỄN NHẬT TRƯỜNG NGHIÊN CỨU XÂY DỰNG QUY TRÌNH XÁC LẬP MƠ HÌNH ĐƯỜNG CONG NURBS THUỘC MẶT CONG Chun ngành: công nghệ chế tạo máy LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, THÁNG 11 NĂM 2008 GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI ĐẠI HỌC BÁCH KHOA TP, HỒ CHÍ MINH Cán hướng dẫn khoa học : PGS TS ĐOÀN THỊ MINH TRINH ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Cán chấm nhận xét : PSG.TS PHAN ĐÌNH HUẤN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Cán chấm nhận xeùt : PGS.TS NGUYỄN THANH NAM ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Luận văn thạc só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA TPHCM, ng ày 07 tháng 01 năm 2009 TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày …… tháng ……năm 2008 GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường ĐẠI HỌC QUỐC GIA TP HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc - - - oOo - - - Tp HCM, ngày tháng 11 năm 2008 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Lê Nguyễn Nhật Trường Nam Ngày, tháng, năm sinh : 18 – 02 - 1980 Nơi sinh : Khánh Hồ Chun ngành : Cơng Nghệ Chế Tạo Máy Khoá (Năm trúng tuyển) : 2006 TÊN ĐỀ TÀI: NGHIÊN CỨU XÂY DỰNG QUY TR ÌNH XÁC LẬP MƠ HÌNH ĐƯỜNG CONG NURBS THUỘC MẶT CONG 2- NHIỆM VỤ LUẬN VĂN: - Nghiên cứu phương pháp mơ hình hóa NURBS - Nghiên cứu phương pháp mơ hình hố đường cong thuộc mặt cong - Xây dựng phương pháp nội suy đường cong NURBS thuộc mặt cong - Ứng dụng nội suy đường cong NURBS thuộc mặt trụ trịn - Xây dựng chương trình nội suy đường cong NURBS phần mềm Matlab - NGÀY GIAO NHIỆM VỤ : - NGÀY HOÀN THÀNH NHI ỆM VỤ : - HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN ( Ghi đầy đủ học hàm, học vị ) : PGS TS Đoàn Thị Minh Trinh Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUY ÊN NGÀNH ( Họ tên chữ ký ) PGS.TS Đoàn Thị Minh Trinh GVHD : PGS.TS Đoàn Thị Minh Trinh ( Họ tên chữ ký ) PGS.TS Phạm Ngọc Tuấn HVTH: Lê Nguy ễn Nhật Trường Lời cảm ơn Sau hai năm học tập Trường Đại Học Bách Khoa Tp.HCM, em đ ược bảo, hướng dẫn tận tình Thầy Cơ Khoa Cơ Khí Thầy Cơ khác Trường Nhân luận văn tốt nghiệp, em xin bày tỏ cảm ơn tất thầy cô, ng ười không giúp em nắm bắt kiến thức mà định hướng cho em việc tìm hiểu, tiếp cận nghiên cứu tri thức Trong trình thực luận văn, em Cơ Đồn Thị Minh Trinh trực tiếp hướng dẫn, góp ý nhiệt tình để bước hồn thiện luận văn Mặc dù xem xét chỉnh sửa nhiều lần đề tài khơng tránh khỏi thiếu sót, em mong nhận đánh giá quí Thầy Cơ để sau n ày em tự nâng cao kiến thức áp dụng ý kiến trình học tập làm việc sau GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường Tóm tắt luận văn Luận văn nghiên cứu xây dựng quy trình xác lập mô hình đườ ng cong NURBS thuộc mặt cong gồm nội dung sau: (i) Hệ thống hoá phân loại dạng đường cong: đường cong Bezier, đường cong B -Spline, đường cong NURBS (ii) Ngh iên cứu lý thuyết mô hình hóa NURBS (iii) Nghiên cứu nghiên tắc mô hình hoá đường cong thuộc mặt cong ( iv) Xây dựng thuật toán nội suy cục đường cong NURBS bậc thuộc mặt cong (v) Nội suy đường cong NURBS bậc thuộc mặt trụ tròn sở thuật toán nội suy xây dựng (vi) Xây dựng chương trình phục vụ tính toán sở phần mềm matlab Kết phương pháp áp dụng vào toán CAD/CAM l ĩnh vực đồ hoạ máy tính GVHD : PGS.TS Đồn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường Abstract This thesis contains : (i) Classifies and systematizes curve model: Bezier , B-pline, NURBS (ii) Geometric modeling theory of NURBS (iii) Theory geometric modeling of curve on surface (iv) Set up local interpolation NURBS curve on a surface algorithm (v) Based on the above resulst, carries out the experiment : local interpolation cubic NURBS curve on a circular cylider ( iv) Build caculation program base on Matlab software Results show the methods are feasible and applicable to CAD/CAM and Computer Graphics GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường Một số từ viết tắt + CAD : (Computer aided design ): Thiết kế với trợ giúp máy tính + CAM : (Computer aided manufacturing ): Chế tạo với trợ giúp máy tính + NURBS : (Non-uniform rational B- Spline): B-Spline hữu tỉ không đồng + Surface curve: (Curve on surface ): Đường cong thuộc mặt cong + Liên tục C1, C2 (Continuous – C1, C2): Liên tục bậc liên tục bậc + Liên tục G1, G2 (Geometric G 1, G2) : Liên hình học C1 liên tục hình học C2 GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường MỤC LỤC Lời nói đầu Chương 1: Tổng quan mơ hình hóa đường cong thuộc mặt cong 1.1 Khái niệm đường cong thuộc mặt cong .… …… …… 11 1.2 Nhu cầu mơ hình hóa đường cong thuộc mặt cong …………… ……… 12 1.3 Các dạng mơ hình đường cong………………………………………… 16 1.4 Ứng dụng mơ hình hóa hình học NURBS…………….…………………….21 Chương 2: Cơ sở lý thuyết NURBS 2.1 Cơ sở lý thuyết đường cong NURBS ……………………………………… 26 2.2 Các phương pháp mơ hình hóa NURBS………………………… 31 2.2.1 Phương pháp nội suy đường cong NURBS…………………………… .31 2.2.2 Phương pháp xấp xỉ đường cong NURBS ………………………………40 2.3 Lựa chọn phương pháp mơ hình hóa NURBS.……………… ………… 44 Chương 3: Ngun tắc mơ hình hóa đường cong thuộc mặt cong 3.1 Phát biểu tốn mơ hình hóa đường cong thuộc mặt cong …………… 46 3.2 Cơ sở toán học ……………………………………………………………… 47 3.2.1 Cơ sở toán học…………………………………………….………… … 47 3.2.2.Bài toán nội suy tập điểm ri với tiếp tuyến Ti xác định …………… 50 3.2.3.Bài toán nội suy tập điểm ri với tiếp tuyến Ti độ cong hình học (hoặc vector độ cong) điểm xác định ….………………………………… …50 3.2.4.Bài toán nối hai đường cong thuộc mặt cong …………………… …… 50 3.3 Giải toán …………………………………………………… 50 3.3.1.Giải toán nội suy tập điểm ri với tiếp tuyến Ti xác định … ……50 GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường 3.3.2.Giải toán nội suy tập điểm ri với tiếp tuyến Ti độ cong hình học (hoặc vector độ cong) xác định …….…………………………………………… 3.3.3.Giải toán nối hai đường cong thuộc mặt cong ……………… 53 3.3.4.Một ví dụ minh họa ………… ………………………………………… .54 3.4 Nhận xét ……………………………… …………………………………… 57 Chương : Xây dựng quy trình nội suy đường cong NURBS thuộc mặt cong 4.1 Phát biểu toán nội suy đường cong NURBS thuộc mặt cong ….… .59 4.2 Phân tích tốn xây dựng quy trình nội suy 59 4.3 Thuật toán nội suy đường cong NURBS bậc thuộc mặt cong ………… 61 4.4 Phương pháp hiệu chỉnh sai số ……………………………………………68 Chương 5: Ứng dụng nội suy cục đường NURBS bậc mặt trụ tròn Kết luận……………………………………………………………………… ……74 Tài liệu tham khảo ………………………………………………………… …… 76 Phụ lục ……… …………………………………………………………… …….77 GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường 10 Lời nói đầu Ngày nay, nhà sản xuất nước chịu áp lực cạnh tranh lớn từ doanh nghiệp nước ngồi với trình độ cơng nghệ vượt trội Để phù hợp với xu hội nhập với giới, với phát triển khoa học kỹ thuật, xu h ướng tự động hoá sản xuất hường tất yếu Việc gia cơng chi tiết thủ cơng khơng cịn phù hợp Trong thực tế sản xuất gia công khí ngành cơng nghiệp khác mỹ thuật, phim ảnh (phim hoạt hình), tốn thường gặp cần phải tạo quản lý đường cong từ tập hợp điểm thuộc mặt cong nhằm thoả mản yêu cầu sản phẩm (về mặt ràng buộc kỹ thuật hay thẩm mỹ đối tượng) Vấn đề sản xuất theo h ướng tự động phải xây dựng mơ hình tốn cho đối tượng cần sử lý Cụ thể, toán xây dựng quản lý đường cong thuộc mặt cong, ta phải mơ hình hố đường cong qua điểm thuộc mặt cong Lợi ích thiết thực việc xây dựng mơ hình đường cong thuộc mặt cong lĩnh vực mơ hình hố, xây dựng quỹ đạo robot, máy CNC,… Nhu cầu giải toán thực tế lớn phù hợp với xu hướng sản xuất theo hướng tự động Với động lực giải toán trên, em thực đề tài “NGHIÊN CỨU XÂY DỰNG QUY TR ÌNH XÁC LẬP MƠ HÌNH ĐƯỜNG CONG NURBS THUỘC MẶT CONG “ Luận văn nghiên cứu sở lý thuyết mơ hình hố đường cong thuộc mặt cong, tr ên sở xây dựng phương pháp mơ hình đường cong NURBS thuộc mặt cong từ liệu điểm cho trước, ứng dụng nội suy đường cong NURBS bậc tr ên mặt trụ trịn Xây dựng phương pháp nhằm góp phần đại hố cơng nghệ sản xuất khí, tăng cường tính cạnh tranh cho sản phẩm c khí GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường 73 Tính hàm sở : 1 N 0,1 (u ) 0 u0 1 N 1,1 (u ) 0 u0 1 N 2,1 (u ) 0 u0 u0 1 N 3,1 (u ) 0 u 0.23255 u 0.23255 1 N 4,1 (u ) 0 u 0.23255 1 N 5,1 (u ) 0 0.23255 u u 0.23255 1 1 N 6,1 (u ) 0 u 1 u 1 1 N ,1 (u ) 0 u 1 u 1 1 N 8,1 (u ) 0 u 1 u 1 1 N 9,1 (u ) 0 u 1 u0 u0 u 0.23255 u 1 N 0, (u ) ; N 1, (u ) N 2, (u ) (0.23255 u ) N 3,1 (u ) 0.23255 N 3, (u ) u N 3,1 (u ) 0.23255 N 4, (u ) (1 u ) N 5,1 (u ) (1 0.23255) GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường 74 N 5, (u ) (u 0.23255) N 5,1 (u ) (1 0.23255) N 6, (u ) ; N , (u ) ; N 8, (u ) ; N 9, (u ) N 0,3 (u ) N 1,3 (u ) (0.23255 u ) N 2,1 (u ) 0.23255 N 2,3 (u ) u (1 u ) N 2, (u ) N 3, (u ) 0.23255 (1 0.23255) N 3,3 (u ) u (1 u ) N 3, (u ) N 4, (u ) 0.23255 (1 0.23255) N 4,3 (u ) (u 0.23255) (1 u ) N 3, (u ) N 5, (u ) (1 0.23255) (1 0.23255) N 5,3 (u ) (1 u ) N 5, (u ) (1 0.23255) N 6,3 (u ) ; N ,3 (u ) ; N 8,3 (u ) ; N 9,3 (u ) Phương trình đường cong NURBS : C (u ) w N i 0 i 1, w N i i 0 (u ) Pi 1, (u ) Ta thay phương trình C(u) vào phương trình hình trụ tròn s(u,v), ta phương trình đường cong cần tìm r(u,v): 1 u2 x (u ) 10 1 u2 2u y (u ) 10 1 u2 z (v ) v u 1 ; GVHD : PGS.TS Đoàn Thị Minh Trinh C (u ) w N i 0 i 1, w N i 0 i (u ) Pi 1, (u ) HVTH: Lê Nguy ễn Nhật Trường 75 Kết luận Việc sử dụng mơ hình đường cong NURBS mơ hình hố hình học nghiên cứu, áp dụng rộng rãi Thực tế dùng NURBS để mơ hình hố đường cong thuộc mặt cong đ ã nghiên cứu phát triển Luận văn nghiên cứu quy trình xây dựng đường cong NURBRS thuộc mặt cong v đạt số kết sau : Nghiên cứu sở lý thuyết ứng dụng NURBS mơ h ình hóa hình học Nghên cứu phương pháp mơ hình hố đường cong thuộc mặt cong Xây dựng qui trình tính tốn mơ hình hóa hình học đường cong NURBS thuộc mặt cong nội suy NURBS phương pháp hiệu chỉnh mơ hình nội suy Kết đề tài giải số vấn đề mặt lý thuyết v tính tốn Tạo điều kiện thuận lợi cho việc giải số b ài toán kỹ thuật Việc nội suy đường cong bậc ba áp dụng cho p hần lớn liệu điểm h ình học địi hỏi mơ hình hố liên tục đến bậc Tuy nhiên, trường hợp cần liên tục hình học bậc cao ba, phương pháp n ội suy cục mơ hình NURBS áp dụng cần phải xây dựng lại qui tr ình tính tốn Một số vấn đề chưa giải : Quy trình tính tốn cịn phức tạp Chưa đánh giá sai số phương pháp Chưa kiểm kiểm nghiệm thực tế để đánh giá kết (nh thử nghiệm robot hàn quỹ đạo 3D) Hướng phát triển đề tài : Hồn thiện quy trình để giảm lược bớt quy trình tính tốn Kiểm nghiệm thực tế nh làm chương trình nội suy cho robot hàn quỷ đạo điểm 3D ( ví dụ: robot hàn đường ống) GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường 76 TÀI LIỆU THAM KHẢO [1] Đồn Thị Minh Trinh, Cơng nghệ CAD/CAM – NXB khoa học kỹ thuật [2] Les Piegl and Wayne Tiller , The NURBS BOOKS - Department of Computer Science and Engineering University of South Florida Springer July 1996 [3] WANG Xiao-Ping, ZHOU Ru-Rong, YU Zhan-Yue, INTERPOLATION and BLENDING ON PARAMETRIC SURFACES Research Center of CAD/CAM Engineering, Nanjing University of Aeronautics and Astronautics, China 2004 [4] Li J, Hoschek J,Hartmann E, Gn1 FUNCTIONAL SPLINES FOR INTERPOLAR AND APPR OXIMATION OF CURVE, SURFACES AND SOLID , Computer Aided Geometric Design, 1990 [5] Hartmann E, G2 INTERPOLARTION AND BLENDING ON SURFACE , The Visual Computer, 1996 [6] Helmut Pottmann and Michael Hofer, A VARIATIONAL APPROACH TO SPLINE CURVES ON SURFACES , Research Group‘Geometric Modeling and Industrial Geometry’, Vienna University of Technology.Austria [7] Tae – Sang Chung, Won Young Yang, John Morris, APPLIED NUMERICAL METHODS USING MATLAB, Wiley –Interscience, 2005 [8] Alfio Quarteroni, Riccardo Sacco, Fausto Saleri, NUMERICAL MATHEMATICS, Springer, January 2000 [9] P.Nageswara Rao, CAD/CAM PRINCIPLES AND APPLICATIONS, Mc Graw Hill, 2002 [10] Nguyễn Hồng Hải, Nguyễn Việt Anh, LẬP TRÌNH MATLAP VÀ ỨNG DỤNG, nhà xuất Khoa kỹ thuật -2004 [11] Nguyễn Phùng Quang, MATLAB & SIMULINK, nhà xuất Khoa kỹ thuật [12] http://www.jos.org.cn/1000 -9825/15/451.htm GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường 77 PHỤ LỤC : Các chương trình Matlab dạng M-file phục vụ đề tài I Phụ lục 1: Tìm Span nút function findspand(n,p,u,U) % Function Name: % findspan – find the knot span of the parametric point u % Calling Squence : % findspand(n,p,u,U) % Parameters: % n - number of control points - % p - spline degree % u - parametric point % U - knot sequence % Algorithm A2.1 from 'The NURBS BOOK' pg68 % Description: % The assumption that u [ui, ui+1), we can focus our attention on the % functions N i-p,p, ,N i,p and their derivatives,all other functions a re % identicaly zero % This function is used to deterine the knot span in which u lies % A subtle problem in the evaluation of the basic funtions is the special % case u =u m.it is best to handle this at the lowest level by setting % the span index to n ( =m-p-1).Hence, in this case u (um-p-1, um-p] % findspan is an interger function which returns the span index int findspan(int n, int p, double u, double *U) int low, high, mid; % special case if (u == U[n+1]) return(n); end % binary search low = p; high = n + 1; mid = (low + high) / 2; while (u < U[mid] || u >= U[mid+1]) if (u < U[mid]) high = mid; else low = mid; mid = (low + high) / 2; end end return(mid); II Phụ Lục 2: Tính Hàm Cơ Sở B-Spline : Ni,p function basisfun (i,u,p,U) % Function Name: % basisfun – compute the nonvanishing basis functions % Calling Squence : % basisfun (i,u,p,U) % Parameters: % i - knot span ( from FindSpan() ) GVHD : PGS.TS Đoàn Thị Minh Trinh HVTH: Lê Nguy ễn Nhật Trường 78 % u - parametric point % p - spline degree % U - knot sequence % N - Basis functions vector[p+1] % Description: % This function is used to computes all the nonvanishing basis funstions % and stores them in the array N[0], ., N[p] % Algorithm A2.2 from 'The NURBS BOOK' pg70 void basisfun(int i, double u, int p, double *U, double *N) int j,r; double saved,temp; % work space double *left = (double*) mxMalloc((p+1)*sizeof(double)); double *right = (double*) mxMalloc((p+1)*sizeof(double)); N[0] = 1.0; for (j = 1; j