B splines và ứng dụng trong thiết kế hình học

66 330 0
B splines và ứng dụng trong thiết kế hình học

Đ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

1 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM HỒNG QUÂN B-SPLINES VÀ ỨNG DỤNG TRONG THIẾT KẾ HÌNH HỌC LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM HỒNG QUÂN B-SPLINES VÀ ỨNG DỤNG TRONG THIẾT KẾ HÌNH HỌC Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC GS-TS ĐẶNG QUANG Á Thái Nguyên - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ MỞ ĐẦU Lý chọn đề tài Công nghệ thông tin ngày phát triển đồ họa máy tính lĩnh vực công nghệ phát triển nhanh Đồ họa đƣợc áp dụng rộng rãi nhiều lĩnh vực khác từ khoa học, công nghệ, y tế, kỹ thuật đến giải trí Đồ họa máy tính phát triển dựa kết hình học họa hình, hình học vi phân với nhiều kết toán học khác đặc biệt bao gồm đại số giải tích Hiện nay, với phát triển phần cứng máy tính, đồ họa phát triển nhanh hơn, tảng sở mô hình hóa hình học Có nhiều toán đặt đồ họa máy tính Một toán xử lý đƣờng cong mặt cong B-splines dạng đƣờng cong mặt cong mô hình hóa hình học đƣợc nhiều tác giả giới nghiên cứu Đề tài tìm hiểu B -splines xây dựng ứng dụng toán thiết kế hình học Đây việc làm có ý nghĩa khoa học thực tiễn Đối tƣợng nghiên cứu Cơ sở mô hình hóa hình học, Phƣơng pháp sinh đƣờng cong mặt cong nhờ điểm điều khiển, B - splines, Ứng dụng B- splines đồ họa Phạm vi nghiên cứu Đề tài tập trung tìm hiểu lý thuyết splines, B-splines ứng dụng Nhiệm vụ nghiên cứu  Tìm hiểu kiến thức sở hình học đƣờng cong mặt cong, phép biến đổi tọa độ không gian 2D 3D  Tìm hiểu lý thuyết splines, B-splines sinh đƣờng cong mặt cong Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/  Từ kết lý thuyết B-splines xây dựng ứng dụng cho toán thiết kế hình học 2D 3D  Cài đặt thuật toán ứng dụng Những nội dung nghiên cứu  Tìm hiểu kiến thức tổng quan mô hình hóa hình học  Tìm hiểu lý thuyết đƣờng cong B-splines mặt cong B-splines  Tìm hiểu toán dựng hình  Ứng dụng B-splines vào toán mô hình hóa hình học Phƣơng pháp nghiên cứu - Phƣơng pháp chuyên gia: Tham khảo ý kiến thầy cô lĩnh vực đồ họa, đảm bảo toán học cho máy tính hệ thống tính toán lĩnh vực có liên quan - Thu thập, nghiên cứu tài liệu từ giáo trình, báo, tạp chí, giảng - Phƣơng pháp thực nghiệm: Cài đặt ứng dụng ngôn ngữ MATLAB Ý nghĩa khoa học đề tài Kết nghiên cứu đề tài đƣa ứng dụng cụ thể B-splines toán mô hình hóa hình học Bên cạnh đó, đề tài tổng hợp đƣợc kết nghiên cứu hình học vi phân phép biến đổi hình học sử dụng mô hình hóa hình học, đặc biệt kết Bsplines Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ CHƢƠNG LÝ THUYẾT MÔ HÌNH HÓA HÌNH HỌC Chƣơng trình bày kết hình học vi phân phép biến đổi hình học đƣợc sử dụng mô hình hóa hình học Lý thuyết đƣờng cong, mặt cong phép biến đổi tọa độ không gian 2D, 3D 1.1 Cơ sở mô hình hóa hình học 1 Các phép biến đổi hình học không gian 2D 3D Tất phép biến hình ĐHMT mô hình hóa hình học dựa hình thức biến đổi tọa độ dịch chuyển tịnh tiến, lấy tỷ lệ quay [3] Xét điểm P'(x', y') vị trí điểm P(x, y) sau phép biến đổi tọa độ Tọa độ (x', y') điểm P' tƣơng ứng với vector dịch chuyển t(tx, ty) (Hình 1.1a), hệ số tỷ lệ s(sx, sy) (Hình 1.1b); góc xoay θ ngƣợc chiều quay kim đồng hồ (Hình 1.1c) đƣợc xác định nhƣ sau: x' = x + tx; y' = y + ty (1.1) x' = sxx; y' = syy (1.2) x' = xcosθ – ysinθ; y' = xsinθ + ycosθ (1.3) y y y P’(x’,y’ ) P’(x’,y’ ) P’(x’,y’) r ty P(x,y) θ P(x,y) tx o x P(x,y) o x o b a r x α c Hình 1.1: Phép biến đổi tọa độ 2D Phép biến đổi tọa độ 3D mở rộng phép biến đổi tọa độ 2D Tọa độ Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ (x', y', z') điểm P(x, y, z) sau phép biến đổi tọa độ 3D, tƣơng ứng với vector dịch chuyển t(tx, ty, tz); hệ số tỷ lệ s(sx, sy, sz) đƣợc xác định nhƣ sau: x' = x + tx; y' = y + ty; z' = z + tz (1.4) x' = sx.x ; y' = sy.y; z = sz.z (1.5) Cũng giống nhƣ trƣờng hợp biến đổi 2D, biểu diễn phép dịch chuyển 3D (1.4) phép lấy tỷ lệ (1.5) dƣới dạng tích ma trận vector tọa độ đồng Ph, P'h, ma trận biến đổi T S P'h = PhT (1.6) P'h = PhS (1.7) đó: 1 0 T  0  t x Ph = (x y z 1) ; P'h = (x' y' 0 0  sx  0 s 0 y S 0 0 0 ;   t y t z  0 z 1) 0 0  sz   1 Đối với phép quay 3D, việc xác định phép quay quanh trục không gian khó, phép quay quanh trục thƣờng đƣợc qui phép quay quanh trục hệ tọa độ nhƣ Bảng 1.1: Phép quay X' Y' Z' x' = x y' = ycosθ - zsinθ z' = ysinθ + zcosθ Quanh trục y x' = zsinθ + xcosθ y' = y z' = zcosθ + xsinθ Quanh tr ụ c z x' = xcosθ + ysinθ y' = xsinθ + ycosθ z' = z Quanh trục x Bảng 1.1: Phép quay 3D quanh trục tọa độ Khi ma trận biến đổi đồng R phép quay 3D có giá trị nhƣ sau (đặt s = sinθ; c = cosθ;): Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 1 0  0 c s   R ( x,  )   0  s c    0 0  c 0 R( y,  )   s  0 s 0 c 0 0  0  1  c s 0 s c 0  R( z, )    0 0    0 1 (1.8) Tổng quát, ta biểu diễn phép biến đổi tọa độ 3D (chỉ gồm phép dịch chuyển t phép quay R) ma trận biến đổi đồng H nhƣ sau: (x' y' z' 1) = (x y z 1).H (1.9) Trong :  r11 r12 r r 21 22 H   r31 r32   t x t y r13 r23 r33 tz 0  0         R* t 0  0  1 với  r11 R*   r21  r31 r12 r22 r32 r13  r23  r33  ta viết nhƣ sau: (x' y' z' ) = (x y z )R* + t (1.10) Có thể thấy ma trận xoay R công thức (1.8) ma trận trực giao, ta định nghĩa vector hàng R:   r1 = (r11 r12 r13) r2 = (r21 r22 r23)  r3 = (r31 r32 r33) (1.11) Thì thành phần vector cosin hƣớng vector đơn vị i, j, k hệ trục tọa độ Oxyz thỏa điều kiện tích có hƣớng vector vector kia, cụ thể ta có: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/     r1 , r2   r3       r2 , r3   r1       r3 , r1   r2   (1.12) ta có :    r1  r2  r3  1.1.2 Phép biến đổi đồng Biểu diễn điểm dƣới dạng tọa độ đồng cho phép đơn giản hóa thống hóa việc biểu diễn phép biến đổi hình học nhƣ phép nhân ma trận Theo tọa độ đồng nhất, điểm không gian n chiều đƣợc ánh xạ vào không gian (n+1) chiều Ví dụ 1.1: điểm P(x, y , z) hệ tọa độ Đề-các chiều đƣợc biểu diễn dƣới dạng tọa độ đồng chiều P'(x',y',z',h) theo mối quan hệ: x = x '/ h; y = y'/h; z = z'/h (1.13) h ≠0 hệ số vô hƣớng Mối quan hệ (1.13) dựa thực tế, tọa độ Đề-các điểm P đƣợc nhân với hệ số h, điểm P đƣợc di chuyển tới vị trí P'(x',y',z') theo phép lấy tỷ lệ với hệ số h Tổng quát, ta biểu diễn phép biến đổi 2D tuyến tính (1.1), (1.2), (1.3) dƣới dạng ma trận vector tọa độ đồng (chuẩn tắc) Ph, P'h ma trận biến đổi đồng M: P'h = PhM (1.14) đó: Ph = (x y 1) ; P'h = (x' y' 1) Ma trận biến đổi tọa độ M tƣơng ứng với phép dịch chuyển (T), phép lấy tỷ lệ (S) phép quay (R) có giá trị nhƣ sau: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 1  T  0 t x t y  0  0 ;   sx S    0 sy 0  ;   cos  R    sin   sin  cos  0   (1.15) 1.1.3 Khung tọa độ Phần ta đề cập tới phép ánh xạ nhƣ thay đổi mô tả đối tƣợng hình học từ hệ tọa độ sang hệ tọa độ thứ hai Tiếp theo ta đề cập đến phép ánh xạ nhƣ thay đổi hệ tọa độ Có thể mô tả phép biến đổi tọa độ (1.9) dƣới hình thức hệ tọa độ chuyển động (Hình 1.2) Cho ih, jh kh vector hƣớng đồng hệ tọa độ tham chiếu: ih = (l 0 ) ; jh = (0 1); kh = (0 1) Áp dụng phép biến đổi (1.9)với vector đồng ta có: i'h = ihH = (1 0 1)H = ( r1 1)  j'h = jhH = (0 1)H = ( r2  k'h = khH = (0 1)H = ( r3 (1.16a) (1.16b) 1) (1.16c) 1)    Kết cho thấy vector r1 , r2 , r3 ma trận biến đổi đồng H trở thành vector trục hệ tọa độ chuyển động (Hình 1.2) biến đổi theo (1.12) Gốc hệ tọa độ chuyển động đƣợc xác định tƣơng tự: P'h = (0 0 1)H = (tx ty tz 1) = (t 1) (1.17) Vì lý này, ngƣời ta gọi ma trận biến đổi đồng H khung tọa độ Nhƣ vậy, phép biến đổi (1.9) phép ánh xạ từ hệ tọa độ làm việc (hệ tọa độ địa phƣơng hay hệ tọa độ chuyển động) sang hệ tọa độ hệ thống (hệ tọa độ cố định) Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 10  r1 r H P  r2 r’  r3 z t r’ = rH k y i j x Hình 1.2 : Phép biến đổi tọa độ dƣới hình thức hệ tọa độ chuyển động 1.1.4 Phép ánh xạ Ở phần ta xét phép biến đổi tọa độ hệ tọa độ mà hoàn toàn thay đổi hệ tọa độ tham chiếu vị trí nhƣ phƣơng chiếu Trong phần ta xét tới phép ánh xạ đối tƣợng hình học hệ tọa độ khác Phép ánh xạ đối tƣợng hình học từ hệ tọa độ sang hệ tọa độ thứ hai đƣợc định nghĩa nhƣ thay đổi mô tả đối tƣợng hình học từ hệ tọa độ thứ sang hệ tọa độ thứ hai Do đó, thay đổi vị trí phƣơng chiều đối tƣợng hình học so với hệ tọa độ Phép ánh xạ tƣơng đƣơng với phép biến đổi hệ tọa độ thứ sang hệ tọa độ thứ hai đƣợc sử dụng phổ biến thiết kế đồ họa Thông thƣờng, ngƣời ta sử dụng định nghĩa hệ tọa độ làm việc (còn đƣợc gọi hệ tọa độ địa phƣơng hay hệ tọa độ đối tƣợng) gắn liền với đối tƣợng thiết kế để đơn giản hóa việc thiết lập nhập liệu hình học Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 52  6u  3u S1,3 (u )  S 2,3 (u )   3u  3u  3u u3 S 3,3 (u )  Đƣờng cong B-spline viết dƣới dạng biểu thức đại số: r (u )   S i , n (u ).Vi i 0 (3.3c) Tập phƣơng trình đại số Si,3(u) với i = 0, B-spline bậc ba hay gọi hàm hỗn hợp B-spline Ta đƣợc kết thực nghiệm nhƣ sau: Hình 3.3: B-spline bậc Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 53 3.3.4 Dựng đƣờng cong từ chuổi điểm không cách Ở phần khảo sát theo dạng mô hình: - Đƣờng cong cát tuyến: dùng phƣơng pháp dựng đƣờng cong bậc với việc hiệu chỉnh cho chiều dài cát tuyến đƣợc tính đến xác định vectơ tiếp tuyến ti - Đƣờng cong B-spline không đều: dùng phƣơng pháp cho chiều dài cát tuyến nhƣ khoảng cách điểm nút Hai phƣơng pháp thích hợp việc dựng đƣờng cong phức hợp trơn láng qua chuỗi điểm phân bố không 3.3.4.1 Điều kiện liên tục hình học Hai đoạn đƣờng cong kế cận ra(u) rb(u) thỏa mãn điều kiện ra(1) = rb(0), đƣợc gọi liên tục tiếp tuyến, thỏa: ra (1) / ra (1)  rb (0) / rb (0)  T (3.4a) đó: T vector tiếp tuyến đơn vị điểm kết nối Mối quan hệ đƣợc gọi điều kiện hình học C1, hay đƣợc gọi tắt điều kiện G1 Nếu đặt: ra (1)  t1 ; ra (1)   rb (0)   ;    / (3.4a) trở thành: ra (1)  t1 ; rb (0)  t1 (3.4b) cho r(u) đƣờng cong tham số chuẩn tắc đạo hàm r(u) đƣợc tính nhƣ sau: r  dr / du  (dr / ds) / (ds / du)  Ts  r  dr / du  s(dT / du)  (ds / du)  T Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 54  s2 (dT / ds)   sT  s2 kN   sT thực tích vector với đạo hàm trên:   s2 kN  s3k (T  N )  r kB r   r  sT đó: B=T x N vector pháp tuyến đôi đƣờng cong Do biểu diễn độ cong đƣờng cong tham số r(u) bởi: kB  (r   r ) / r (3.5a) đƣờng cong ra(u) rb(u) liên tục theo độ cong điểm ra(1) = rb(0) , thỏa điều kiện: r a (1)   r a (1)  r a (1)  rb (0)   r b (0)  r b (0) (3.5b) r b (0)  ( /  )2 (T   r a (1)) suy ra: T   nghiệm phƣơng trình vector là:  r b (0)  ( /  )2  r a (1) (3.6) mối quan hệ đạo hàm bậc đƣợc gọi điều kiện liên tục hình học C2 hay đƣợc gọi tắt điều kiện G2 3.3.4.2 Dựng đƣờng cong cát tuyến Ví dụ ta dựng đƣờng cong phức hợp trơn láng qua điểm P0, P1, P2 với vector tiếp tuyến đầu cuối t0, t2 (Hình 3.10) theo mô hình Ferguson điều kiện G2 ra(u) t0 t2 P1 P0 α t1 β P2 rb(u) Hình 3.4 Đƣờng cong cát tuyến Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 55 Cho ra(u) rb(u) đoạn đƣờng cong Ferguson Việc cần giải xác định vector tiếp tuyến t1 chƣa biết điểm kết nối Giả sử t1 vector tiếp tuyến điểm cuối đoạn cong ra(u): t1  ra (1) (3.7a) điều kiện liên tục G2 yêu cầu vector tiếp tuyến điểm đầu đoạn cong rb(u) thỏa điều kiện: rb (0)  t1 (3.7b) theo phƣơng pháp dựng đƣờng cong cát tuyến, độ lớn vector tiếp tuyến điểm kết nối đƣợc đặt chiều dài cát tuyến:   P1  P0 ;   P2  P1 tỷ số độ lớn vector trở thành tỷ số chiều dài cát tuyến điều kiện G2 đƣợc viết lại nhƣ sau:  r b (0)   2 r a (1) đó: (3.8)   P2  P1 / P1  P0 Viết lại phƣơng trình Ferguson cho đƣờng cong ra(u) rb(u): ra(u) = U C Sa (3.9a) rb(u) = U C Sb (3.9b) đó: U  1 u u U   P0 P1 t0 1 0 0 0 0   u  ; C   3 2 1    2 1  t1  ; T S b   P1 P2 t0 t1  T Sau tính đạo hàm bậc biểu thức (3.9) ta xác định đƣợc t1 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 56 theo điều kiện G2: (6P1  6P2  4t1  2t2 )   (6P0  6P1  2t0  4t1 ) (3.10) Xét trƣờng hợp tổng quát: dựng đƣờng cong qua (n+1) điểm thỏa điều kiện G2 cho trƣớc: Chuỗi điểm 3D : {Pi : i = 0,1,…,n} Vector tiếp tuyến biên : t 0, tn xác định: hệ số tỷ lệ cát tuyến: {i = Pi 1  Pi / Pi  Pi1 :i=1,2, ,n-1} Với 0 =1 tiếp tuyến : {ti : i = 1,2,…,n-1} cho ri(u) đoạn đƣờng cong Ferguson miền [pi, pi+1], đƣợc biểu diễn: ri(u) = U C Si (3.11) đó: S i   Pi Pi 1 iti ti 1  T 0 =1 , i = Pi 1  Pi / Pi  Pi 1 :i=1,2, ,n-1 Tại điểm kết nối Pi, điều kiện G2 đƣợc biểu diễn bởi:  r i (0)  (i )2  r i 1 (1) Ta suy đƣợc (n-1) phƣơng trình tiếp tuyến dạng: {i-1i 2ti-1  2i (1  i )ti  ti+1}=3{Pi+1  (i  1) Pi  i Pi-1} (3.12) Giả thiết biết trƣớc t0 tn, hệ phƣơng trình biểu diễn dƣới dạng ma trận: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 57 1   0      0 21  212 122 22  222 n  2 2n 1  2n21 n 1 0   t0   t0    t1   b1    t2   b2            1 tn 1  bn 1      1  tn   tn  đó: bi =3{Pi+1  (i  1) Pi  i Pi-1} 2 Phƣơng trình biến đổi thành phƣơng trình bậc (3.3c) i =1 hay cách khác đƣờng cong cát tuyến trở thành đƣờng cong bậc nhƣ tất cát tuyến 3.3.4.3 Dựng đƣờng cong phức hợp B-spline không Xét phƣơng pháp dựng đƣờng cong NURBS trơn láng qua chuỗi điểm 3D hình minh họa đƣờng cong phức hợp tạo n đoạn đƣờng cong NURBS bậc {ri(u) : i = 0,1,…,n-1} định nghĩa bởi: a (n+3) đỉnh điều khiển b (n+4) bƣớc nút Ta có toán dựng hình: cho trƣớc: chuỗi điểm 3D : {Pi : i = 0,1,…,n} vector tiếp tuyến biên : t 0, tn Hãy xác định: bƣớc nút : {  i : i = -2,-1,…,n+1} đỉnh điều khiển: { Vi : i = 0,1,…,n+2} Giải thuật tƣơng tự nhƣ giải thuật dựng đƣờng cong B-spline Bƣớc cần thực xác định bƣớc nút  i Có n giá trị bƣớc nút hỗ trợ 0 , , n1 (Hình 3.5) đƣợc lựa Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 58 chọn chiều dài cát tuyến tƣơng ứng: i  Pi 1  Pi : i = 0,…,n-1 (3.13a) Những giá trị lại đƣợc gọi bƣớc nút mở rộng, chúng không ảnh hƣởng tới chất lƣợng đƣờng cong đặt lấy giá trị nhƣ nhau: 2  1  n1  n  (3.13b) 2  1  0; n1  n  n1 (3.13c) Bƣớc thiết lập hệ phƣơng trình tuyến tính cho đỉnh điều khiển chƣa biết Ta thiết lập phƣơng trình cho đoạn cong (Hình 3.5) theo dạng đƣờng cong NURBS bậc 3: r i (u)  UNic R i i đó: R  Vi  (i )  2  i 1i    3n11 N ci     3n11    n11   u  1; i = 0,1,…,n-1 (3.14) Vi 1 Vi  Vi 3  ; T  n11  n13 (i 1 ) 3i 1i21 (3n11  n23) 3i i 1 3i 1i21 (3n11  n33 ) 3(i ) 3i 1i21 n11  n43  n44 n43           (i )  3i i2  1  n43    n33  n44  (i )2 / (i23i 1 )  3  nij : phần tử hàng thứ i cột j i  i  i 1   i  k 1 k Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 59 2 2 đặt: hi = (1-fi - gi) ; fi  (i ) / (i 1i 2 ); gi  (i 1 ) / (i 1i 1 ) Qua điều kiện ta rút đƣợc hệ phƣơng trình tuyến tính đƣờng cong NURBS nhƣ sau:  3 1  0         0 0 f1 h1 g1 f n 1 hn 1 0 3   V0   t0   V   P        V2   P1                  g n 1   Vn   Pn 1   Vn 1   Pn       Vn    t0  (3.15) Kết thực nghiệm để dựng đƣờng cong B-Splines từ điểm điều khiển bất kỳ: Hình 3.5: Đƣờng cong B-spline với 10 nút điều khiển bậc nút Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 60 Bảng 3.1 :Tọa độ điểm điều khiển hình Tọa độ điểm STT 0.0222 0.8594 0.0714 0.1331 0.1895 0.8054 0.1612 0.0438 0.3143 0.0047 0.3833 0.7011 0.5761 0.7886 0.5959 0.2467 0.7991 0.2765 10 0.8237 0.5670 3.4 Ứng dụng B-spline dựng số mặt cong Mặt B-spline bậc ba hai biến u v đƣợc biểu diễn phƣơng trình sau: 3 r (u, v)   N i3 (u ) N 3j (u )Vij i 0 j 0 Với ≤ u ≤ = U N B N T VT đó: U = [ u u2 u3 ] V = [ v v2 v3 ] V00 V B   10 V20  V30 V01 V11 V21 V31 V02 V12 V22 V32 V03  V13  V23   V33  Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 61 1  3 N  6 6    0 0 0  1  3u  3u  u N 0,3 (u )   6u  3u N 1,3 (u )   3u  3u  3u N 2,3 (u )  u3 N 3,3 (u )  Mặt B-spline bậc đƣợc thể dƣới hình sau: V03 V02 V13 V23 V12 V22 V01 V11 v V00 V32 u V10 V21 V20 V33 V31 V30 Hình 3.6: Mặt cong B-spline bậc Mặt cong B-spline bậc hai đƣợc xem nhƣ tích tensor đƣờng cong B-spline bậc hai r(u) = U N2 R Mặt đồng B-spline có bậc hai biến u v khác Ví dụ mặt B-spline có biến u biến v bậc hai, phƣơng trình đƣợc biểu diễn nhƣ sau: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 62 r(u)= U N B N2T VT Với ≤ u ≤ đó: U = [ u u2 u3 ] ; V00 V B   10 V20  V30 V01 V11 V21 V31 V02 V12 V22 V32 1  3 N  6 6  1  V = [ v v2 v3 ]       0 0 0  1 0 1 N   2 0   1 Hình 3.6: Mặt cong B-spline bậc Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 63 3.5 Ứng dụng vẽ đối tƣợng không gian 3D Việc thiết kế, mô hình hóa đối tƣợng phần quan trọng đồ họa máy tính Có nhiều phƣơng pháp để xây dựng mô hình hóa đối tƣợng hình học đây, ta xét ví dụ cụ thể mô hình trái tim Ta phải vẽ đƣợc hình trái tim cách vẽ đƣờng cong b-spline kín theo chiều ngang sử dụng điểm vẽ để tạo thành đƣờng cong b-spline kín theo chiều dọc theo phƣơng pháp nội suy điểm điều khiển ta thu đƣợc mặt lƣới b-spline trái tim 3D Kết cuối tạo thành hình trái tim mong muốn tiến hành tô màu cho lƣới tạo Dƣới kết thực nghiệm Hình 3.7: Mô trái tim 2D Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 64 Hình 3.8: Mô mặt lƣới trái tim 3D Hình 3.9: Mô trái tim 3D Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 65 KẾT LUẬN VÀ KIẾN NGHỊ Nội dung luận văn trình bày kiến thức B-spline thiết kế hình học; tóm tắt phƣơng pháp sử dụng đƣờng cong B-spline mặt cong B-spline thiết kế hình học nhƣ phƣơng pháp dựng đƣờng cong B-spline đều, không đều, tuần hoàn không tuần hoàn, Dựng mặt cong Bspline không đều; tìm hiểu hàm sở B-spline không gian 2D, 3D xây dựng đƣờng cong, bề mặt cong ứng dụng hàm để thiết kế số đối tƣợng hình học thực tế Kết luận văn gồm có: Hệ thống số kiến thức liên quan làm sở cho việc thiết kế số đối tƣợng hình học nhƣ đƣờng cong, mặt cong hệ tọa độ 3D Trình bày số vấn đề liên quan đến đƣờng bề mặt đƣợc tạo B-splines ứng dụng thiết kế mô hình hóa hình học Cài đặt thành công thuật toán sử dụng B-spline cấp hai cấp ba phƣơng pháp dựng hình để thiết kế đối tƣợng hình học dựa việc xác định điểm điều khiển Trên sở kết đƣợc trình bày, thời gian tới tiếp tục nghiên cứu sâu để thiết kế khôi phục đối tƣợng 3D phức tạp dựa hàm sở B-splines, vận dụng hàm việc tái tạo lại vật thể bị biến dạng, pha trộn bề mặt khác để tạo nên vật thể có hình dạng phức tạp Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 66 DANH MỤC TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đặng Quang Á, Giáo trình phƣơng pháp số, Nxb Đại học Thái Nguyên, 2009 [2] Võ Phƣơng Bình, Giáo trình đồ họa máy tính, Đại học Đà Lạt, 2010 [3] Nguyễn Thế Tranh, Giáo trình Công nghệ CAD/CAM, NXB Đại học Bách khoa Đà Nẵng, 2007 [4] Phạm Anh Phƣơng, Giáo trình Lý thuyết Đồ họa, 2008 Tiếng Anh [5] Andrés Iglesias, B-splines and nurbs curves and surfaces (bản thảo), 2001 [6] Kenneth I Joy, Biquadratic uniform B-spline surface refinement (bản thảo ), 2000 [7] R Sevilla, 3D nurbs-enhanced finite element method, 7th Workshop on Numerical Methods in Applied Science and Engineering, 2008 [8] Sung Soo Han, The NURBS human body modeling using local knot removal, Fibers and Polymers, 2008 Website [9] http://www.scribd.com/doc/117528423/Ph%C6%B0%C6%A1ng-phapn%E1%BB%99i-suy [10] http://www.rw-designer.com/NURBS [11] http://www.mathworks.com/matlabcentral/fileexchange Thái Nguyên, ngày Xác nhận giáo viên hƣớng dẫn GS.TS Đặng Quang Á Số hóa Trung tâm Học liệu - ĐHTN tháng năm 2015 Học viên Phạm Hồng Quân http://www.lrc-tnu.edu.vn/ [...]... đƣờng cong và mặt cong, trong đó chủ yếu là tìm hiểu về đƣờng cong và mặt cong B- spline 2.1 Sơ lƣợc về đƣờng cong và mặt cong Bezier Lý thuyết đƣờng cong và mặt cong Bezier đƣợc phát minh b i một kỹ sƣ ngƣời Pháp có tên là Pierre Bezier trong quá trình thiết kế mẫu xe ô tô Bezier là nhân viên hãng RENAULT Vào những năm 1970 ông là ngƣời đi đầu trong việc ứng dụng máy tính cho việc xây dựng các b mặt Hệ... V1a  V 0b t0 a 0 V rb(u) = U N Rb u 2 u3 ]; V0a  V 0b   a  b V V a b 1 R   a  ; R   1b  ; V2  V2   a  b V3  V3  0 0  ; 0  1 V3a  V 2b M1 ra(u) P0 (2.23) M0 Rb(u) V2a  V 1b V 3b Hình 2.4 Dựng đƣờng cong B- spline đều phức hợp Số hóa b i Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 32 ta thấy rằng các điểm điều khiển của 2 đƣờng cong trùng nhau: V 2b  V3a V 1b  V2a... đầu và cuối của đa giác kiểm soát Đƣờng cong Bezier là trƣờng hợp đặc biệt của B- spline không tuần hoàn, trong đó số lƣợng các đỉnh sử dụng b ng với b c của đƣờng cong 2.2.6 Đƣờng cong B- spline b c 3 Đƣờng cong B- spline b c ba với b n điểm điều khiển và vector không tuần hoàn [0 0 0 0 1 1 1 1] cũng chính là đƣờng cong Bezier Đầu tiên ta sẽ xác định tiếp tuyến chung t1 của 2 đoạn đƣờng cong ra(u) và rb(u)... Ben là ma trận biểu diễn mảng Bn(t), trong đó mỗi hàng i của ma trận này ứng với các hệ số tƣơng ứng (a0 ,a1 ,…an) của đa thức Bi,n(t) và tại vị trí (i,j) trong ma trận Ben có giá trị : Số hóa b i Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 22 BEn (i, j )  (1) j i Cni Ci j (2.7) do đó C(t) có thể viết lại thành : C(t) = Pow(t).Ben.PT (2.8) đối với đƣờng cong Bezier b c 3 ta có ma trận BE3... để biểu diễn Kết chƣơng: Ở chƣơng này trình b y một số kiến thức cơ b n đƣờng cong và mặt cong Qua đó có cái nhìn và tƣ duy cơ b n về các dạng đƣờng cong và mặt cong, giúp em định hƣớng rõ hơn về hƣớng nghiên cứu chính của mình sẽ đƣợc trình b y trong chƣơng tiếp theo Số hóa b i Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 19 CHƢƠNG 2 B- SPLINE TRONG KHÔNG GIAN 2D VÀ 3D Chƣơng này trình b y... Hệ thống UNISURF của ông đƣợc áp dụng trong thực tế vào năm 1972 đƣợc thiết kế và kiểm tra xe Mezesez hay Renault Điểm mạnh của lý thuyết Bezier là tính dễ dàng và thuận tiện trong việc biểu diễn các đƣờng cong và mặt cong Bezier đã sử dụng đa giác kiểm soát cho đƣờng cong tại những đỉnh của đa giác và tiếp tuyến tại đó 2.1.1 Đƣờng cong Bezier Giả sử một đƣờng cong Bezier C đƣợc tạo ra từ (n+1) điểm... theo tham số t và ta gọi đó là đƣờng cong Bezier b c 1 Trƣờng hợp có 3 điểm điều khiển P0, P1, P2 nhƣ trong (Hình 2. 1b) , ta có : B0 ,2 = (1 - t)2 B1 ,2 = 2t(1 - t) B2 ,2 = t2 khi đó phƣơng trình của đƣờng cong C là : C(t) = (1 - t)2P0 + 2t(1 - t)P1 + t2P2 P1 (2.3) P1 P2 b( t) P1 C(t ) a(t) P0 P0 a e(t) b( t) c(t) a(t) P2 d(t) c(t) P0 b c a(t) P3 Hình 2.1 : Đƣờng cong Bezier b c 1, 2, 3 C(t) trong công thức... nối B- spline không đều b c 2, ta có thể rút ra kết luận: đƣờng cong NURBS b c 2 đƣợc hỗ trợ b i 6 điểm nút ti-2 đến ti+3, ngay cả khi miền tham số xác định là [ti, ti+1] Tuy nhiên các điểm biên ti-2 và ti+3 không cần thiết b i vì dữ liệu này không đƣợc sử dụng để xác định đƣờng cong Do đó đƣờng cong NURBS b c 2 hoàn toàn đƣợc xác định b i 3 giá trị b ớc nút i1 ,  i , i1 và 3 điểm điều khiển V0... Tƣơng tự nhƣ trên, trong trƣờng hợp có 4 điểm điều khiển P0, P1, P2, P3 nhƣ trong (Hình 2.2c), ta tính đƣợc : B0 ,3 = (1 - t)3 B1 ,3 = 3t(1 - t)2 B2 ,3 = 3t2(1 - t) B3 ,3 = t3 khi đó phƣơng trình đƣờng cong Bezier đi qua 4 điểm này là : C(t) = (1 - t)3P0 + 3t(1- t)2P1 + 3t2(1 - t)P2 + t3P3 (2.4) trong công thức (2.4), C(t) là một hàm b c 3 theo biến t và đƣợc gọi là đƣờng cong Bezier b c 3 Công thức này... tự b ng thuật toán Casteljau cho 4 điểm  Dạng biểu diễn ma trận của đường cong Bezier Để thích hợp cho việc biểu diễn trên máy tính, ta biểu diễn 2 mảng Bn(t) và P nhƣ sau : Bn(t) = (B0 ,n(t) , B1 ,n(t),…,Bn,n(t)) P = (P0, P1, P2,…, Pn)  P0  P  T P   1 =>  P2     P3  khi đó theo công thức (2.1) ta có: C(t) = Bn(t).PT (2.5) các hàm trộn có thể biểu diễn dƣới dạng đa thức tổng quát : Bi,n ... MATLAB Ý nghĩa khoa học đề tài Kết nghiên cứu đề tài đƣa ứng dụng cụ thể B- splines toán mô hình hóa hình học B n cạnh đó, đề tài tổng hợp đƣợc kết nghiên cứu hình học vi phân phép biến đổi hình học. .. dụng mô hình hóa hình học, đặc biệt kết Bsplines Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ CHƢƠNG LÝ THUYẾT MÔ HÌNH HÓA HÌNH HỌC Chƣơng trình b y kết hình học vi phân phép biến... kiến thức tổng quan mô hình hóa hình học  Tìm hiểu lý thuyết đƣờng cong B- splines mặt cong B- splines  Tìm hiểu toán dựng hình  Ứng dụng B- splines vào toán mô hình hóa hình học Phƣơng pháp nghiên

Ngày đăng: 23/12/2015, 16:30

Từ khóa liên quan

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

Tài liệu liên quan