Đăng ký Đăng nhập
Trang chủ Tái tạo bề mặt b spline với điều kiện ràng buộc...

Tài liệu Tái tạo bề mặt b spline với điều kiện ràng buộc

.PDF
72
5
80

Mô tả:

ii MỤC LỤC LỜI CAM ĐOAN ...................................................................................................... i MỤC LỤC ................................................................................................................. ii DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................ iv DANH MỤC CÁC HÌNH .........................................................................................v MỞ ĐẦU ....................................................................................................................1 CHƯƠNG 1................................................................................................................5 TỔNG QUAN VỀ ĐỀ TÀI .......................................................................................5 1.1. BIỄU DIỄN MÔ HÌNH 3D..................................................................................5 1.2. ĐƯỜNG CONG THAM SỐ ................................................................................6 1.2.1. Đường cong B-spline ..........................................................................6 1.2.2. Đường cong NURBS ...........................................................................8 1.3. MẶT CONG THAM SỐ ....................................................................................10 1.3.1. Mặt cong B-spline .............................................................................10 1.3.2. Mặt cong NURBS .............................................................................12 1.4. XÁC ĐỊNH VÀ BIỂU DIỄN ĐỐI TƯỢNG .....................................................14 1.4.1. Vector nút ..........................................................................................14 1.4.2. Xác định một điểm trên đối tượng B-spline ......................................15 1.5. KẾT CHƯƠNG ..................................................................................................20 CHƯƠNG 2..............................................................................................................22 CÁC PHƯƠNG PHÁP NỘI SUY VÀ XẤP XỈ ĐỐI TƯỢNG 3D ......................22 2.1. GIỚI THIỆU ......................................................................................................22 2.2. NỘI SUY VÀ XẤP XỈ ĐỐI TƯỢNG B-SPLINE .............................................22 2.2.1. Phương pháp nội suy .........................................................................22 2.2.2. Phương pháp xấp xỉ ...........................................................................33 2.2.3. Nhận xét đánh giá về các phương pháp tái tạo ..................................43 2.3. KẾT CHƯƠNG ..................................................................................................43 CHƯƠNG 3..............................................................................................................44 TÁI TẠO ĐỐI TƯỢNG 3D VỚI ĐIỀU KIỆN RÀNG BUỘC ...........................44 3.1. XẤP XỈ MẶT CONG B-SPLINE VỚI TẬP ĐIỂM DỮ LIỆU.........................44 3.1.1. Tái tạo đường cong B-spline đi qua một tập điểm cho trước ............46 3.1.2. Thuật toán bình phương tối thiểu ......................................................48 3.2. KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH ....................................................50 3.2.1. Tái tạo đường cong B-spline .............................................................50 iii 3.2.2. Tái tạo mặt cong B-spline .................................................................51 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .............................................................54 TÀI LIỆU THAM KHẢO ......................................................................................56 iv DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Nội dung CMM Coordinate Measuring Machine CAD Computer Aided Design CAM Computer Aided Manufacturing B-SPLINE Basic Spline NURBS Non - Uniform Ration B-Spline 3D 3 Dimension GN Gauss – Newton LM Levenberg Marquardt GL Graphic Library v DANH MỤC CÁC HÌNH Ký hiệu Tên hình Trang Hình 1.1 Một cảnh đồ họa 3 chiều 5 Hình 1.2 Đường cong NURBS 9 Hình 1.3 Mặt cong B-spline 11 Hình 1.4 Mặt cong NURBS 13 Hình 1.5 Đồ thị của hàm 18 Hình 1.6 Minh họa các phần đồ thị 20 Hình 2.1 Nút đường cong trước và sau khi di chuyển 29 Hình 2.2 Mặt cong trước và sau khi di chuyển 30 Hình 2.3 Điểm dữ liệu để nội suy 31 Hình 2.4 Nội suy dữ liệu dọc theo hướng u 34 Hình 2.5 Xấp xỉ đường cong B-spline bậc 3 và 5 điểm điều khiển 40 Hình 3.1 Sơ đồ khối tái tạo đối tượng bằng phương pháp bình phương tối thiểu 49 Hình 3.2 Kết quả tái tạo đường cong B-spline bậc 3 từ tập đầu vào 30 điểm 50 Hình 3.3 Các kết quả tái tạo các đường cong B-spline 50 Tái tạo bề mặt B-Spline từ tập đầu vào với mặt cong 52 Hình 3.4 5x6 điểm điều khiển Hình 3.5 Các kết quả xử lý bề mặt NURBS cắt từ tập đầu vào với mặt cong 12x12 điểm điều khiển và 2 đường cong cắt 53 Hình 3.6 Các kết quả tái tạo bề mặt NURBS 53 1 MỞ ĐẦU 1. LÝ DO CHỌN ĐỀ TÀI Mô hình hóa hình học đang là một lĩnh vực hết sức quan trọng và được ứng dụng rất nhiều trong cuộc sống. Nhiều ứng dụng liên quan đến CAD/CAM, thực tế ảo, hoạt hình và mô hình trực quan đều được biểu diễn bằng bề mặt NURBS [2][3]. Trong công nghệ thiết kế các mô hình tạo mẫu và sản xuất được thực hiện với các hệ thống CAD thường dựa trên các bề mặt cắt của NURBS. Trong đó bề mặt NURBS cung cấp một cách thuận tiện để mô tả hầu hết các hình dạng và việc cắt cung cấp cho nhà thiết kế có khả năng loại bỏ các khu vực không cần thiết trên bề mặt [5][6]. Kết hợp hàng ngàn các bề mặt giúp cho nhà thiết kế có thể mô tả các đối tượng rất phức tạp như xe hơi, máy bay hoặc tàu ngầm… Tuy nhiên việc biểu diễn các bề mặt NURBS để loại bỏ các bề mặt không cần thiết theo đường cong cắt đang đặt ra các vấn đề thách thức cần xử lý về mặt thời gian, toán học, thuật toán… nhằm giải quyết vấn đề phát sinh trong quá trình biểu diễn bề mặt cắt NURBS.Để 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 [1][15]. Để 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á. Do vậy, việc nghiên cứu xây dựng mô hình hóa đối tượng 3D linh hoạt, phục vụ quá trình nghiên cứu, tiến tới tái 2 tạo các vật thể từ máy đo 3 chiều CMM hay từ máy quét là một yêu cầu thiết yếu [8]. Với bài toán tái tạo đường và mặt cong tham số 3D sử dụng phương pháp bình phương tối thiểu thì công cụ quan trọng để giải quyết bài toán này là lý thuyết bình phương tối thiểu. Đây là phương pháp tối ưu hóa để lựa chọn một đường khớp nhất cho một dải dữ liệu với cực trị của tổng các sai số thống kê giữa đường khớp và dữ liệu. Nhiều bài toán tối ưu hóa cũng được quy về tìm cực trị của dạng bình phương [7][11]. Tuy nhiên phương pháp bình phương tối thiểu chưa giải quyết được vấn đề về ràng buộc một tập điểm hoặc ràng buộc về độ cong của đường cong, mặt cong tái tạo. Vì những lý do như trên, tôi đề xuất chọn đề tài luận văn cao học: “Tái tạo bề mặt B-Spline với điều kiện ràng buộc” 2. MỤC TIÊU CỦA ĐỀ TÀI Giải quyết bài toán xây dựng ứng dụng tái tạo đường và mặt cong tham số với điều kiện ràng buộc về một tập con các điểm cố định và độ cong của đường cong, mặt cong tái tạo. 3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU Đối tượng nghiên cứu của đề tài: - Đường cong và mặt cong B-Spline. - Các thuật toán nội suy về tái tạo đường và mặt cong tham số 3D - Các thuật toán xấp xỉ về tái tạo đường và mặt cong tham số 3D Phạm vi nghiên cứu của đề tài: - Nghiên cứu đường cong và mặt cong B-Spline. - Nghiên cứu tái tạo đường và mặt cong B-spline đi qua một số điểm yêu cầu cho trước dựa trên bài toán xấp xỉ bình phương. 3 4. PHƯƠNG PHÁP NGHIÊN CỨU Phương pháp lý thuyết: - Cơ sở lý thuyết về đường và mặt cong tham số - Cơ sở lý thuyết về xây dựng các bề mặt cắt NURBS - Xây dựng thuật toán tái tạo đường và mặt cong B-spline đi qua một số điểm yêu cầu cho trước dựa trên ràng buộc về điểm và ràng buộc về độ cong bằng phương pháp bình phương tối thiểu. Phương pháp thực nghiệm: - Phân tích và thiết kế các chức năng của chương trình - Lập trình xây dựng chương trình. - Đánh giá, thử nghiệm kết quả. 5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI Ý nghĩa khoa học: - Áp dụng phương pháp bình phương tối thiểu để tái tạo đường và mặt cong B-splines đi qua một số điểm yêu cầu cho trước. Ý nghĩa thực tiễn của đề tài: - Đề xuất giải pháp góp phần hỗ trợ cho việc mô phỏng các đối tượng trong thực tế. - Phục vụ công tác nghiên cứu thiết kế mô hình đối tượng 3D trong các ngành kỹ thuật. 6. CẤU TRÚC LUẬN VĂN Luận văn được tổ chức thành ba chương với các nội dung chính như sau: Chương 1: Tổng quan về đề tài. Trình bày lý thuyết về mô hình hóa đối tượng 3D. Các phương trình biểu diễn đường và mặt cong tham số và cách xây dựng các đối tượng 3D. Chương 2: Tái tạo đường và mặt cong tham số. Nêu ra các phương pháp tái tạo, so sánh và đề xuất phương pháp mới. 4 Chương 3: Tái tạo đối tượng B-spline với điều kiện ràng buộc. Trình bày thuật toán bình phương tối thiểu trong tái tạo đối tượng B-spline. Triển khai xây dựng và đánh giá kết quả. Kết luận và hướng phát triển của đề tài. 5 CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1. BIỄU DIỄN MÔ HÌNH 3D Khi mô hình hóa và hiển thị một cảnh ba chiều, ta cần phải xem xét rất nhiều khía cạnh và vấn đề khác nhau chứ không đơn giản là thêm vào tọa độ thứ ba cho các đối tượng. Bề mặt đối tượng có thể xây dựng bởi nhiều tổ hợp khác nhau của các mặt phẳng và các mặt cong. Ngoài ra, đôi khi chúng ta cũng cần mô tả một số thông tin về bên trong các đối tượng. Các công cụ hỗ trợ đồ họa thường cung cấp một số hàm hiển thị các thành phần bên trong, những đường nét tiêu biểu hoặc hiển thị một phần của đối tượng ba chiều. Ngoài ra, các phép biến đổi hình học thường được sử dụng nhiều hơn và đa dạng hơn trong đồ họa ba chiều so với trong đồ họa hai chiều. Phép biến đổi hệ quan sát trong không gian ba chiều phức tạp hơn nhiều so với trong không gian hai chiều do chúng ta phải chọn lựa nhiều tham số hơn khi mô tả một cảnh ba chiều sẽ xuất hiện trên màn hình như thế nào [1]. Hình 1: Một cảnh đồ họa 3 chiều 6 Các mô tả về một cảnh ba chiều phải đi qua một quy trình xử lí gồm nhiều công đoạn như phép biến đổi hệ tọa độ quan sát và phép chiếu chuyển cảnh từ hệ tọa độ quan sát ba chiều xuống hệ tọa độ thiết bị hai chiều. Những phần nhìn thấy được của cảnh, ứng với một hệ quan sát được chọn nào đó, phải được xác định và cuối cùng, các thuật toán vẽ mặt sẽ được áp dụng nhằm tạo ra hình ảnh trung thực (gần với thực tế) của cảnh. Hai mô hình cơ bản của ứng dụng đồ họa là dựa trên mẫu số hóa và dựa trên đặc trưng hình học. Trong ứng dụng đồ họa dựa trên mẫu số hóa thì các đối tượng đồ họa được tạo ra bởi lưới các điểm ảnh rời rạc. Các điểm ảnh này có thể được tạo ra bằng các chương trình vẽ, máy quét … Các điểm ảnh này mô tả tọa độ xác định vị trí và giá trị mẫu. Thuận lợi của ứng dụng này là dễ dàng thay đổi ảnh bằng cách thay đổi màu sắc hay vị trí của các điểm ảnh, hoặc di chuyển vùng ảnh từ nơi này sang nơi khác. Tuy nhiên, điều bất lợi là không thể xem xét đối tượng từ các góc nhìn khác nhau. Ứng dụng đồ họa dựa trên đặc trưng hình học bao gồm các đối tượng đồ họa cơ sở như đoạn thẳng, đa giác… được lưu trữ bằng các mô hình và các thuộc tính [13]. 1.2. ĐƯỜNG CONG THAM SỐ 1.2.1. Đường cong B-spline Đường cong B-spline chứa các hàm trộn là những hàm Bernstein đặc biệt. Mỗi điểm điều khiển Bi chỉ liên kết duy nhất một hàm trộn. Do vậy mỗi vector nút chỉ ảnh hưởng đến đoạn cong trên một khoảng tham số mà tại đó hàm trộn không bị triệt tiêu. B-spline cũng cho phép hạ bậc hàm trộn và vì vậy hạ bậc đường cong thì không cần giảm số điểm điều khiển. Lý thuyết về đường cong Bspline lần đầu tiên được trình bày bởi Schoenberg, sau đó Cox và Boor dùng công thức đệ quy để định nghĩa đường cong B-spline tiện cho việc áp dụng trên máy tính [14]. 7 Đặt P(t) là vector nút dọc theo đường cong, hàm này được xem như là hàm vector theo tham số t. Đường cong B-spline có phương trình cho bởi: n 1 P (t )   Bi .N i ,k (t ) (1. 1) i 1 Với: - tmin  t  tmax - 2  k  n 1 Ở đây Bi là các vector nút của n+1 đỉnh của đa giác điều khiển và hàm Ni,k là các hàm trộn của đường cong B-spline. Ta định nghĩa hàm cơ sở chuẩn thứ i có cấp k (order k) và bậc k-1 (degree k-1) là Ni,k(t) được xác định bởi công thức đệ quy sau: 1 x i  t  x i 1 N i ,k (t )    0 otherwise N i ,k (t )  (t  x1 ).N i ,k (t ) xi  k 1  xi  (1. 2) ( xi  k  t ).N i 1,k 1 (t ) (1. 3) xi  k  xi 1 Trong đó, vector X= [x1, x2, …, xm] gọi là các vector nút và thỏa mãn công thức xi  xi+1, trong đó tham số biến đổi từ tmin đến tmax dọc theo đường cong P(t). Thông thường đường cong B-spline được định nghĩa như một hàm đa thức cấp k (tức bậc k-1) qua các vector nút Bi thỏa mãn các tính chất sau: - Hàm P(t) là hàm đa thức bậc k-1 trên mỗi khoảng xi  t  xi 1 - P(t) và đạo hàm của nó có cấp 1,2,. ., k-2 liên tục trên toàn đường cong - Vì hàm B-spline thực chất là dùng hàm trộn của đường cong Bézier, nên các tính chất của đường cong Bézier cũng thỏa mãn cho đường cong B-spline. - Tổng của các hàm cơ sở B-spline cho mọi giá trị của tham số t là: n 1 N i t i ,k (t )  1 (1. 4) 8 - Mỗi hàm cơ sở thì không âm Ni,k  0 - Ngoại trừ k=1 thì mỗi hàm cơ sở có duy nhất một giá trị max - Cấp lớn nhất của đường cong thì bằng số vector nút ( k  n  1 ) - Có thể biến đổi đường cong thông qua biến đổi các điểm điều khiển Biểu thức (1. 2) biểu thị rằng việc chọn vector nút có ảnh hưởng lớn đến các hàm cơ sở Ni,k(t) và do đó ảnh hưởng đến đường cong B-spline. Điều kiện duy nhất cho vector nút: xi  xi 1 , chính là dãy số thực đơn điệu tăng. 1.2.2. Đường cong NURBS Phương trình toán học biểu diễn đường cong NURBS bậc p (p>0) biểu diễn như sau: n C u    N u .w .P i ,k i 0 n i i  N u .w i .k i 0 ,0≤u≤1 (1.5) i Trong đó: - Pi là điểm điều khiển - wi là trọng số tương ứng với các điểm điều khiển(điểm Pi có trọng số wi) - Ni,k là B-spline cơ sở cấp k của đường cong B-spline - u = [u0, u1, … , um] là vector nút và thuộc khoảng [0, 1] với điều kiện là không đều. Đường cong NURBS được viết dưới dạng các hàm hữu tỷ Ri,k như sau: C (u )  n  P .R i 0 Trong đó: i i ,k (u ) (1.6) 9 Ri , k (u )  w i .N i , k (u ) n N i 0 i ,k (u ).w(u ) (1.7) Là tập các hàm cơ sở của đường cong NURBS Một đường cong NURBS cấp k được biểu diễn bằng một đa thức cấp k. Mỗi điểm điều khiển được biểu diễn như sau trong hệ tọa độ thuần nhất bốn chiều: Pi w  (w i . X i (u)w i .Yi (u)w i .Zi (u)w i ) (1.8) Với wi # 0 để có được Pk ta thực hiện chia 4 tọa độ của nó cho w(u) như sau: Xi  X i (u ) w(u ) Yi  Yi w(u ) Zi  Z i (u ) w(u ) Là các hàm hữu tỷ của NURBS. Lúc đó các điểm điều khiển có dạng Pi=(xi,yi,zi,1). Như vậy ta có thể biểu diễn phương trình dưới dạng đơn giản hơn như sau: n C w (u )   N i ,k (u ).Pi w i 0 Hình 1.2: Đường cong NURBS [19] (1.9) 10  Tính chất đường cong NURBS Đường cong NURBS là một dạng tổng quát của B-spline, Bézier nên nó có đầy đủ tính chất của hai loại đường cong này. Ngoài ra nó còn có các tính chất sau: - Đường cong NURBS có thể là mở (open), hoặc đóng (close), hoặc tự cắt nhau (clamped) - Đường cong NURBS C(u) là tổng hợp các phân đoạn, mà mỗi phân đoạn là một đường cong hữu tỷ cấp k - Nếu đường cong NURBS là clamped thì chúng đi qua hai điểm điều khiển đầu cuối P0, Pn - Tính chất bao lồi mạnh mẽ: C(u) luôn nằm trong bao lồi các điểm điều khiển của nó - Đường cong NURBS có thể chuyển về các dạng Bézier, B-spline hay các đường conic, điều đó thể hiện tính tổng quát của nó. - Bậc của các đường cong NURBS tăng chậm hơn so với các đường Bézier hay đường B-spline. 1.3. MẶT CONG THAM SỐ 1.3.1. Mặt cong B-spline Có hai loại mặt được sử dụng trong các hệ thống mô hình hóa: tham số (parametric) và ẩn (implicit). Mặt cong tham số B-spline thường dùng để thiết kế các mặt cong tự do, được biểu diễn: f (u, v)  ( x(u, v), y(u, v), z(u, v)) Trong đó u, v là tham số (1.10) 11 Hình 1.3: Mặt cong B-spline  Phương trình biểu diễn Cho tập hợp (m+1) x (n+1) điểm điều khiển Pi,j với 0 ≤ i ≤ m và 0 ≤ j ≤ n Phương trình mặt cong B-spline: m n P (u , v)   N i , p (u ).N j , q (v ).Pij i 0 j 0 (1.11) Trong đó: - Vector nút U gồm (m+p+2) phần tử theo hướng u: U = {u0,u1, …, um+p, um+p+1}, ∀ui ≤ ui+1, ui ∈ R - Vector nút V gồm (n+q+2) phần tử theo hướng v: V = {v0,v1, …, vn+q, un+q+1}, ∀𝑣i ≤ vj+1, uj ∈ R - Bậc p > 1 theo hướng u của vector nút - Bậc q > 1 theo hướng v của vector nút - Ni,p(u) và Nj,q (v) là các hàm B-spline cơ bản có bậc tương ứng là p và q.  Tính chất mặt cong B-spline - Số bậc cao nhất của bề mặt theo mỗi hướng thì bằng số điểm điều khiển trừ 1 theo hướng đó. 12 - Đạo hàm riêng của phương trình bề mặt theo mỗi tham biến có bậc bằng số điểm điều khiển theo tham biến đó trừ 2. - Bề mặt B-spline thì không chịu ảnh hưởng của phép biến đổi affine. Bề mặt sẽ thay đổi nếu ta thay đổi đa giác điều khiển. - Nếu số đỉnh của đa giác điều khiển bằng số bậc theo mỗi tham biến và không có điểm kép nào thì mặt B –spline sẽ chuyển thành mặt Bézier. - Nếu các đa giác điều khiển có dạng tam giác thì lưới của đa giác điều khiển sẽ có hình dạng gần giống với bề mặt cong. - Mỗi mặt B-spline luôn nằm trong bao lồi của đa giác điều khiển - Mỗi mặt B-spline có hình dạng theo đa giác điều khiển. 1.3.2. Mặt cong NURBS Mặt cong NURBS là các mặt cong B-spline hữu tỷ có các vector nút không đều. Quá trình tạo mặt cong NURBS là mở rộng của quá trình sử dụng đường cong NURBS [13]. Hình 1.4: Mặt cong NURBS Phương trình toán học của mặt cong NURBS: 13 n S (u, v)  m  w i 0 j 0 n m i, j  w i 0 j 0 .Ni ,k (u ).N j ,l (v).Pi , j 0  u  1, 0  v  1 i, j (1.12) .Ni ,k (u ).N j ,l (v) Trong đó: - (n, m): cấp của a trận điểm điều khiển. - (k, l): là bậc theo hai hướng u, v của mặt cong NURBS. - Pi,j: các điểm điều khiển. - Ni,k(u), Nj,l (v) là các hàm B-spline cơ sở. - wi,j là trọng số của điểm Pi,j trong hệ tọa độ thuần nhất với wi,j ≥ 0. Hai vector nút của mặt cong lần lượt có số nút là p, q: u = [0, 0, …, 0, tk+1 …, tp-k-1, 1, …, 1] v = [0, 0, …, 0, sq+1 …, sq-l-1, 1, …, 1] Nếu ta đặt: n Ri , j , k ,l (u , v)  m w i, j .N i , k (u ).N j ,l (u ) w i, j .N i , k (u ).N j ,l (v) i 0 j 0 n m i 0 j 0 (1.13) là tích tensơ của mặt cong NURBS. Khi đó ta viết lại như sau: n m S (u , v)    Ri , j , k ,l (u , v).Pi , j i 0 j 0 (1.14)  Tính chất mặt cong NURBS - Hai giá trị bậc của mặt cong (k,l) và cấp của ma trận điểm điều khiển (m, n) và chiều dài (p, q) của hai vector nút có mối liên hệ: 14 P = n + k + 1 và q = m+ 1 + 1 - (1.15) Khi thay đổi một hoặc một số điểm điều khiển thì chỉ dẫn đến sự thay đổi cục bộ hình dạng mặt cong. Các điểm điều khiển Pi,j và trọng số tương ứng chỉ có ảnh hưởng trong một khoảng (u, v) € [ui, vi+k]∩ [uj, vj+k]. - Đạo hàm của S (u,v) liên tục đến bậc p – r theo hướng u tại nút bội r (r ≤ p)liên tục đến bậc q – r theo hướng v tại nút bội r (r ≤ p) và liên tục đến mọi cấp còn lại. Điều này đảm bảo cho mặt cong NURBS trơn mượt. - Nếu hai vector nút u, v không tuần hoàn thì mặt cong NURBS sẽ nội suy qua 4 điểm điều khiển ở 4 góc {P0,0, Pn,0, P0,m, Pn,m}. - Nếu cả hai vector nút có dạng u = {0. …, 0, 1, …1} và v = {0, …, 0, 1, …, 1} thì mặt cong NURBS trở thành mặt cong Bézier, nếu (u,v) là đều và tuần hoàn thì trở thành mặt B-spline. - Mặt cong NURBS có thể tạo mặt cong có hình dạng bất kỳ, từ đó có thể tạo ra các vật thể sinh động như ý muốn. - Đây là dạng tổng quát cho phương pháp biểu diễn bề mặt tổng hợp, bao gồm tất cả các dạng Bézier, B-spline và các dạng tham số - Bề mặt NURBS có tính cơ động cao, dễ dàng điều chỉnh hình dạng từng phần của mặt mà không làm ảnh hưởng đến toàn bộ mặt. 1.4. XÁC ĐỊNH VÀ BIỂU DIỄN ĐỐI TƯỢNG 1.4.1. Vector nút Cho U là tập hợp gồm (m+1) số tăng dần u0, u1, …, um trong đó ui gọi là các nút (knot) và tập U gọi là vector nút (knot vector). Nếu các nút ui xuất hiện k lần (ui= ui+1 = …ui+k-1 với k>1) gọi là các nút bội được viết là ui(k). Ngược lại các nút chỉ xuất hiện một lần gọi là các nút đơn. Nếu khoảng cách giữa hai nút là như nhau ( ui+1 – ui là một hằng số ) thì các vector nút được gọi là là đều 15 (uniform), ngược lại là không đều (non-uniform). Các nút được xem xét bằng cách chia các điểm thành những khoảng nhỏ [u0, um] [10]. Việc xác định các vector nút sẽ phụ thuộc vào sự phân loại của chính bản thân chúng và điều đó sẽ ảnh hưởng đến hình dạng của đường cong được mô tả. Phân loại này sẽ dựa trên loại của đường cong như sau: - Đều tuần hoàn (periodic) - Không tuần hoàn (open or unperiodic) - Không đều (non-uniform) 1.4.2. Xác định một điểm trên đối tượng B-spline Giả sử ta có n + 1 điểm điều khiển P0, P1, …, Pn kí hiệu tọa độ của mỗi điểm điều khiển là Pi (xi, yi, zi) trong đó 0 ≤ i ≤ n. Tập hợp các điểm điều khiển ta gọi là đa giác điều khiển (control polygon). Khi đó các điểm trên đường cong B-spline được tính theo công thức: n C (u )   N i ,m (u ).Pi (tmin ≤ u ≤ tmax , 2 ≤ m ≤ n+1) (1.16) i 0 Ta có thể lựa chọn miền giá trị của tham số u. Hàm Ni,m(u) được gọi là hàm B-Spline là một đa thức có bậc là m - 1. Giá trị của tham số có thể chọn là một trong số các giá trị từ 2 đến n+1. Trong thực tế ta có thể thiết lập m=1 nhưng khi đó chỉ hiển thị các điểm điều khiển. Trước khi định nghĩa hàm Ni,m(u) ta phải xây dựng các khoảng giá trị của tham số biến u, hàm Ni,m(u) sẽ được định nghĩa trên từng khoảng đó. Muốn vậy ta định nghĩa r+1 điểm chia t0 ≤ t1 ≤ … ≤ tr, mỗi điểm như vậy được gọi là điểm nút. Tập hợp các điểm nút T = {t0, t1, …, tr} được gọi là vector nút. Các điểm nút tạo thành một dãy số không giảm và có thể một vài điểm nút có giá trị bằng nhau. 16 Hàm Ni,m(u) được định nghĩa một cách đệ quy theo m như sau:  1 N i ,m (u )    0 ti  u  ti 1 u  ti , ti 1  (1.17) Hàm cơ sở B-spline với m>1 được biểu diễn: N i ,m (u )  u  ti t u N i ,m 1 (u )  i  m N i 1,m 1 (u ) ti  m 1  ti ti  m  ti 1 (1.18) Nhìn vào công thức tính trên ta thấy để tính được Ni,m(u) ta cần các nút t0, t1, …, ti+m trong vector nút. Vậy khi i = n ta cần t0, t1, …, ti+m trong vector nút, chính vì lí do đó mà ta phải chọn từ đầu vector nút sao cho khoảng giá trị của tham số u được chia thành n+m khoảng bởi n+m+1 điểm chia hay nói cách khác r = n+m Xét trường hợp cụ thể khi m = 1, 2, 3 + Khi m=1, hàm B-spline Ni,1 (u)  N0,1P0  N1,1P1  ...  Nn,1Pn (t0 ≤ u ≤ tn+1) Theo định nghĩa ở trên ta có khi t0 ≤ u ≤ t1 chỉ có duy nhất hàm N0,1=1 còn các hàm B-spline khác đều bằng 0 do đó C(u)=P0. Tương tự như vậy khi xét lần lượt các khoảng của tham số u ta thấy trên khoảng [ti, ti+1] chỉ có duy nhất hàm Ni,1 có giá trị bằng 1, còn các hàm B-spline khác có giá trị bằng 0. Vậy khi m =1 ta có đường cong C(u) chính là các điểm điều khiển rời rạc. Hình 1.5 minh họa đồ thị cho các hàm Ni,1(0 ≤ i ≤ 4) và đường cong C(u). + Khi m=2, hàm B-spline Ni,2 sẽ có bậc bằng 1, phương trình đường cong B-spline có dạng: n C (u )   N i ,2 (u ) Pi  N 0,2 P0  N1,2 P1  ...  N n,2 Pn i 0 Ta xét hàm B-spline đầu tiên N0,2 (t1 ≤ u ≤ tn+1) (1.19)
- Xem thêm -

Tài liệu liên quan