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

64 273 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 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 á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 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  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 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 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 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) xác đị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 a x P(x,y) o x o b 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 độ (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) xác đị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 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ạ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 qui phép quay quanh trục hệ tọa độ Bảng 1.1: X' Y' Z' x' = x y' = ycosθ - zsinθ z' = ysinθ + zcosθ Quanh t r ục y x' = zsinθ + xcosθ y' = y z' = zcosθ + xsinθ Quanh tr ụ c z x' = xcosθ + ysinθ y' = xsinθ + ycosθ z' = z Phép quay 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ị sau (đặt s = sinθ; c = cosθ;): 1 0  0 c s 0  R ( x,  )   0 s c 0   0 0 1 c 0 R( y, )   s  0 s 0 0  c 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 sau: (x' y' z' 1) = (x y z 1).H (1.9) Trong :  r11 r 21 H   r31   t x r12 r22 r32 r13 r23 r33 ty tz r12 r22 r32 r13  r23  r33  0     0      R* t 0  0  1 với  r11 R*   r21  r31 ta viết 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: ur ur r1 = (r11 r12 r13) r2 = (r21 r22 r23) ur 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ó: ur ur ur  r1 , r2   r3   ur ur ur  r2 , r3   r1   ur ur ur  r3 , r1   r2   (1.12) ta có : ur ur ur r1  r2  r3  1.1.2 Phép biến đổi đồng Biểu diễn điểm 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 phép nhân ma trận Theo tọa độ đồng nhất, điểm không gian n chiều á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 biểu diễn 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 nhân với hệ số h, điểm P 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ạ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ị sau: 1  T  0 t x t y   sx S    0  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ạ 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ạ thay đổi hệ tọa độ Có thể mô tả phép biến đổi tọa độ (1.9) 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)ur với vector đồng ta có: i'h = ihH = (1 0 1)H = ( r1 1) ur j'h = jhH = (0 1)H = ( r ur k'h = khH = (0 1)H = ( r (1.16a) (1.16b) 1) (1.16c) 1) ur ur ur 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 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) ur r1 r H P ur r2 r’ ur r3 z t r’ = rH k y i j x Hình 1.2 : Phép biến đổi tọa độ 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í 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 định nghĩa 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 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 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 Phần mềm thiết kế ánh xạ (chuyển đổi) tọa độ đo hệ tọa độ làm việc sang hệ tọa độ hệ thống trước lưu trữ hệ sở liệu hệ thống Phép ánh xạ đóng vai trò quan trọng cấu trúc lắp ghép, đối tượng (chi tiết hay phận) định nghĩa theo hệ tọa độ hệ thống riêng chúng cần kết nối quản lý hệ tọa độ hệ thống chủ Ví dụ 1.1: Ta đặt toán ánh xạ điểm từ hệ tọa độ sang hệ tọa độ thứ hai sau: Cho trước tọa độ điểm P xác định theo hệ tọa độ (X, Y, Z), ta xác định tọa độ điểm P theo hệ tọa độ (X', Y', Z'), cho thỏa mãn điều kiện: P' = f(P, thông số ánh xạ) hay P' = P.H đó: P: Vector vị trí điểm P theo hệ tọa độ (X, Y, Z) P': Vector vị trí điểm P theo hệ tọa độ (X', Y', Z') H : Ma trận ánh xạ công thức (1.9) mô tả vị trí tương đối hệ tọa độ (X, Y, Z) so với hệ tọa độ (X', Y', Z') 1.2 Đường cong Trong ứng dụng ĐHMT, thực thể đường cong mặt cong Các thực thể dùng để mô tả vật thể giới thực nhà cửa, đồi núi, phương tiện lại…hay để xây dựng thực thể thiết kế Nếu sử dụng phương trình đường cong hình ảnh thực hay ý tưởng người thiết kế, ngược lại dùng tập hợp điểm thường cần phải dùng nhiều dung lượng nhớ để lưu trữ tốc độ tính toán Ta có quỹ đạo chuyển động chất điểm không gian tạo thành đường thẳng đường cong Về mặt trực quan, người ta định nghĩa đường cong quỹ đạo điểm thỏa mãn số điều kiện 10 Qua hai điểm vẽ đường thẳng Qua ba điểm vẽ đường cong mặt phẳng Qua bốn điểm vẽ đường cong không gian Nếu ta dùng phương trình đường cong Hypebol, Parabol, Elip việc tính toán phức tạp hình ảnh thực hay ý tưởng đa dạng người thiết kế Vấn đề đặt chọn đường cong để phù hợp với việc biểu diễn máy tính? Trong ĐHMT muốn xây dựng đường cong tổng quát chưa biết phương trình toán học người ta sử dụng tập hợp điểm cho trước gọi tập điểm điều khiển (control points) Giả sử ta dùng n+1 điểm điều khiển P0, P1, P2, , Pn, đường cong C tạo theo hai cách sau:  Nội suy điểm điều khiển: Đường cong C bắt đầu điểm P0 qua điểm điều khiển trung gian theo thứ tự P0, P1, P2, , Pn C kết thúc Pn  Xấp xỉ điểm điều khiển: C không thiết phải qua điểm điều khiển hình dạng định điểm điều khiển Đường cong đối tượng thường kết tiến trình thiết kế điểm điều khiển đóng vai trò công cụ để kiểm soát mô hình hoá đường cong Cách tiếp cận sở lĩnh vực thiết kế mô hình hình học nhờ máy tính (Computer Aided Geometric Design, viết tắt CAGD) Về mặt toán học, đường cong biểu diễn dạng:  Phương trình ẩn: f(x, y, z) =  Phương trình tường minh: y = f(x), z = g(x) 50  6u  3u S 1,3 (u )   3u  3u  3u S , (u )  u3 S 3, (u )  Đường cong B-spline viết dạng biểu thức đại số: r (u )   S i , n (u ).Vi (3.3c) i 0 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 kết thực nghiệm sau: Hình 3.3: B-spline bậc 51 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 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 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), 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ệ gọi điều kiện hình học C1, hay 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) tính sau: r& dr / du  (dr / ds) / (ds / du )  Ts& & r& dr&/ du  s&(dT / du )  (ds&/ du )  T 52 &  s&2 kN  & &  s&2 (dT / ds)  & sT 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) a & r&(1)  b r&b (0)  & r& (0) b & r& (0) (3.5b) b r& (0)  (  /  ) (T  & r&a (1)) suy ra: T  & nghiệm phương trình vector là: b & &a (1) r& (0)  (  /  )2 r& (3.6) mối quan hệ đạo hàm bậc gọi điều kiện liên tục hình học C2 hay 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 β rb(u) Hình 3.4 Đường cong cát tuyến P2 53 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 đặ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 viết lại sau: b & r& (0)   & 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  T t1  ; S b   P1 P2 T t0 t1  Sau tính đạo hàm bậc biểu thức (3.9) ta xác định t1 54 theo điều kiện G2: (6 P1  P2  4t1  2t2 )   (6 P0  P1  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 : t0, 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], biểu diễn: ri(u) = U C Si (3.11) đó: S i   Pi Pi 1 i ti T ti 1  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 biểu diễn bởi: i i 1 & r& (0)  (i )2 & r& (1) Ta suy (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ạng ma trận: 55 1   0      0 21  212 122 22  222 n  2n21 2n 1  2n21 0   t   t0    t1   b1    t2   b2            1 tn 1  bn 1      1  tn   tn  đó: bi =3{Pi+1  (i  1) Pi  i Pi-1} 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 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 : t0, 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ự 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) lựa 56 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 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ị 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 )  UN ic R i i đó: R  Vi  (i )2  2  i 1i    3n11 N ci     3n11    n11   u  1; i = 0,1,…,n-1 T Vi 1 Vi  Vi 3  ;  n11  n13 (i 1 ) i3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 )2  3i i2  1  n43    n33  n44  (i ) / (i2i31 )  3  k nij : phần tử hàng thứ i cột j  i   i   i 1    i  k 1 (3.14) 57 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 hệ phương trình tuyến tính đường cong NURBS 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 58 Bảng 3.1 :Tọa độ điểm điều khiển hình STT Tọa độ điểm 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 biểu diễn phương trình sau: 3 r (u, v)   N i3 (u ) N 3j (u )Vij i 0 j 0 = U N B NT VT đó: U = [ u u2 u3 ] V = [ v v2 v3 ] V00 V B   10 V20  V30 V01 V02 V03  V11 V12 V13  V21 V22 V23   V31 V32 V33  Với ≤ u ≤ 59 1  3 N  6 6    0 0 0  1  3u  3u  u N , (u )   6u  3u N 1, (u )   3u  3u  3u N , (u )  u3 N , (u )  Mặt B-spline bậc thể 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 xem 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 biểu diễn sau: 60 r(u)= U N B N2T VT Với ≤ u ≤ đó: U = [ u u2 u3 ] ; V00 V B   10 V20  V30 V01 V02 V11 V12 V21 V22 V31 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 61 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ẽ 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 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 62 Hình 3.8: Mô mặt lưới trái tim 3D Hình 3.9: Mô trái tim 3D 63 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 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 đường cong, mặt cong hệ tọa độ 3D Trình bày số vấn đề liên quan đến đường bề mặt 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 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 64 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 Á tháng năm 2015 Học viên Phạm Hồng Quân [...]... đườ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ệ thống UNISURF của ông được áp dụng trong thực tế vào năm... = (t0 , t1 , …, tn), 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ị : 20 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 là : 1 0 0  3 3 0 BE3    3 6 3  ... của hàm kết 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... Patches) để 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 17 CHƯƠNG 2 B- SPLINE TRONG KHÔNG GIAN 2D VÀ 3D Chương này trình b y về một số đường cong và mặt cong, trong đó chủ yếu là tìm... đ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 (2.3) lúc này được gọi là đường cong Bezier b c 2 Công thức trên còn được... rb(u) = U N Rb u 2 u 3 ]; 0 0  ; 0  1 V0a  V 0b   a  b V V a b 1 R   a  ; R   1b  ; V2  V2   a  b V3  V3  V 3a  V 2b M1 ra(u) P0 (2.23) Rb(u) V 3b V a 0 M0 V 2a  V 1 b Hình 2.4 Dựng đường cong B- spline đều phức hợp 30 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 ; V 0b  V1a ; b ng cách xây dựng đường cong từ các điểm điều khiển... không b ng nhau Như thế nếu khoảng cách vật lý không b ng nhau chúng ta phải sử dụng phương pháp khác 2.2.4 Đường cong B- Spline hữu tỷ đều và không đều Đường cong B- spline hữu tỷ không đều (Non-Uniform Rational Bspline viết tắt là NURBS) được tạo thành từ các Vector nút không đều Trong các vector nút không tuần hoàn, giá trị các nút xuất hiện tại các biên được lặp lại và các nút b n trong các b ớc nút b ng... 1 Mô hình hóa mặt cong Mô hình hóa các mặt cong ta có thể xây dựng được b ng ba cách sau: a Mặt kẻ - Ruled Surface Mặt kẻ được xây dựng b ng cách cho trượt một đoạn thẳng trên hai đường cong Hai đường cong này gọi là đường cong biên Các mặt kẻ nhận được b ng phép nội suy tuyến tính từ hai đường cong biên cho trước tương ứng với hai biên đối diện của mặt kẻ P1(u) và P2(u) 14 Hình 1.4: Mô hình b mặt... dung và xử lý trong các phép toán nhưng trong một số trường hợp b ớc nút không đều lại có những ưu điểm đặc biệt, như trong việc điều khiển hình dạng của đường cong trong tiến trình thiết kế, khi các sai lệnh không mong muốn có thể xuất hiện mà việc sử dụng đường cong B- spline đều với các dữ liệu điểm có các khoảng cách tương đối lớn lại không đều nhau Như vậy, ta có thể thay đổi hình dạng đường cong B- spline... 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) sao cho thỏa điều kiện liên tục tham số C2 (3.1) Phương trình Ferguson cho hai đoạn đường cong được biểu diễn như sau: ra(u) = U C Sa ; rb(u) = U C Sb ; Trong đó : U

Ngày đăng: 25/05/2016, 22:45

Từ khóa liên quan

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

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

Tài liệu liên quan