Xem mẫu

  1. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn I. Các khái niệm cơ bản Mô hình bề mặt – Surface Các phương pháp xây dựng z Mặt cong-Surface Là quỹ đạo chuyển động của 1 đừơng cong tạo nên z Biểu diễn tham biến cho mặt cong – Dựa vào việc xây dựng và tạo bề mặt toán học trên những điểm dữ liệu – Dựa trên việc xây dựng nên bề mặt phụ thuộc vào biến số có khả năng Khái niệm thay đổi một cách trực diện thông qua các tương tác đồ hoạ. Constructive surface z Biểu diễn theo mảnh Bề mặt tổng hợp – Biểu diễn miếng tứ giác - quadrilatera Patches Bề mặt tam giác – Biểu diễn miếng tam giác-Triangular Patches Le Tan Hung x=x(u,v,w) u,v,w E [0, 1] y=y(u,v,w) u+v+w=1 www.dohoavietnam.com z=z(u,v,w) Q(u,v,w) = Q[ x=x(u,v,w) y=y(u,v,w) z=z(u,v,w) ] 1 2 Biểu diễn mảnh Ưu điểm dùng mặt lưới tứ giác z Phương trình ‰ Cho phép phân tích sớm và dễ dàng các đặc tính của x=x(u,v) bề mặt, đường cong của bề mặt và tính chất vật lý của bề mặt. y=y(u,v) u,v E [ 0, 1] z=z(u,v) ‰ Cho phép xác định diện tích, xác định vùng của bề mặt hay các môment của mặt. Q(u,v) = Q[ x=x(u,v) y=y(u,v) z=z(u,v) ] Thành phần ‰ Với khả năng tô màu bề mặt trong thực tế cho phép – u,v là các tham biến việc kiểm tra thiết kế đơn giản. – Các điểm Q(0,0) Q(0,1), Q(1,0), Q(1,1) là cận của mảnh – Các đường cong Q(1,v), Q(0,v), Q(u,0), Q(u,1) là các biên của mảnh ‰ Tạo ra các thông tin cần thiết cho việc sản xuất và tạo – Đạo hàm riêng tại điểm Q(u,v) xác định vector tiếp tuyến theo hướng u, v ra bề mặt như code điều khiển số được dễ dàng thuận tiện hơn nhiều so với các phương pháp thiết kế cổ điển 3 4 Hệ tọa độ Barycentric Coordinates ? Kết nối mảnh tứ giác Tập các điểm P1,P2 ... Pn z Thực thể hình học biểu diễn thông Tập các tổ hợp của các điểm đó qua các mảnh cùng dạng z Các mảnh có thể nối với nhau theo k1P1 + k2P2 + k3P3 ... + knPn các hướng u,v khi 2 mảnh cùng Với hướng đó k1 + k2 + k3 + ... + kn =1 z Nếu mọi điểm trên biên của 2 mảnh = các điểm tạo thành không gian affine với các gias trị toạ nhau, hay 2 biên = nhau. 2 mảnh liên độ nates tục bậc Co k1,k2,k3,..kn z Nếu 2 biên = nhau và đạo hàm bằng được gọi là hệ toạ độ barycentric. nhau trên cùng 1 hướng thi 2 mảnh gọi là kết nối bậc C1 5 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
  2. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn Tam giác Triangular Bi-Linear Trong tam giác các điểm có dạng P1, P2, P3 z Là mặt nội suy từ 4 điểm P00; P01; P10; P11 trong không gian Hệ số: k1, k2, k3 E [ 0, 1] Với (u,v) [0; 1] [0; 1] k1 + k2 + k3 = 1 P(u,v) = (1 - u)(1 - v)P00 + (1 - u)vP01 + u(1 - v)P10 + uvP11 P = k1P1 + k2P2+ k3P3 z Dùng để mô tả các đối tượng có hình dạng tứ giác như cờ, khăn ... Nếu Hệ số ki > 1 hoặc
  3. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn Mặt trượt - Sweept Surface Ví dụ về mặt Sweept Extrusion 1 0.5 0 Hình vuông xác định bởi 4 đỉnh : -0.5 z z Sweep surface là mặt được tạo bởi -1 bằng cách trượt một thực thể P1[0 -1 0], P2[0 -1 -1], 1 10 0 8 z ví dụ: một đường thẳng, đa giác, một P3[0 1 -1], P4[0 1 1] -1 4 6 2 đường cong, một hình… dọc theo một z Đường cong trượt -2 0 đường trong không gian. x= 10v y= cos(Πv) – 1 z Q(u,v) = P(u)*[ T(v) ] ⎡0 − 1 1 1⎤ ⎡ 1 0 0 0⎤ 1 P(u) thực thể cần trượt ⎡ P1 ⎤ ⎢ ⎢ ⎥ ⎢0 − 1 − 1 1⎥ ⎢ P2 ⎥ 0 1 0 0⎥ T (v ) = ⎢ ⎥ 0.5 [ T(v) ] là ma trận biến đổi([ T(v) ] có thể là P ( u ) = ⎢ ⎥ = ⎢0 1 − 1 1⎥ ⎢ 0 ⎢ P3⎥ ⎢ ⎥ 0 1 0⎥ ma trận tịnh tiến, quay, hay tỉ lệ …hoặc ⎢ ⎥ ⎢0 1 1 1⎥ ⎢ ⎥ 0 ⎣ P 4 ⎦ ⎢0 − 1 1 ⎣10v cos( Πv ) − 1 0 1⎦ là kết hợp của nhiều phép biến đổi đó) ⎣ 1⎦⎥ -0.5 ⎡ 1 0 0 0⎤ Quay 1 góc khi trượt -1 1 Ví dụ: ⎢ 0⎥ 0 10 0 cos( 2Πv ) sin( 2 Πv ) ⎡ cos(ϕ ) sin(ϕ ) 0 0⎤ 8 P1[0 0 0], P2[0 3 0]. T (v ) = ⎢ ⎥ ⎢ -1 6 ⎢ − sin(ϕ ) cos(ϕ ) 0 0⎥ -2 4 P(t) = P1 + (P2 – P1)*u = [0 3u 0 1] ⎢ 0 − sin( 2 Πv ) cos( 2 Πv ) 0⎥ ⎥ -3 0 2 ⎢ ⎥ ⎢ 0 0 1 0⎥ 0 ≤ u,v ≤ 1 ⎢ ⎣10v 0 0 1⎦ ⎣ 10v cos( Πv ) − 1 ⎥ 0 1⎦ 13 14 Boolean sum Example Coon surface Boolean Sum Surface Mặt được xây dựng trên 4 điểm và Với u = 0 các đường cong biên S(0,v) = S1(0,v) + S2(0,v) - P(0, v) S(u,v) Mặt nội suy trên 4 đường biên = v A0(0) + (1 - v)A2(0) + 0 A1(v) + 1 A3(v) - (1 - v)P00 - v P01 S(u; v) = S1(u, v) + S2(u, v) - P(u; v) = v P01 + (1 - v)P00 + A3(v) -(1 - v)P00 - v P01 Với: = A3(v) P(u,v) = (1-u)(1-v)P00 + (1-u)vP01 + u(1-v)P10 + uvP11 S1(u,v) = vA0(u) + (1-v)A2(u) S2(u; v) = uA1(v) + (1-u)A3(v); P là các đỉnh của mảnh 4 Ai(u) là các phương trình đường biên 15 16 Surface from Curves Mặt cong bậc ba Hermite Hermite Q(u, v ) = 3 3 z ∑∑ C ij uiv j 0 ≤ u, v ≤ 1 z Bezier i =0 j =0 z B-Spline z Q(u, v) = [U ][C ][V ]T 0 ≤ u, v
  4. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn Mảnh-patch Bézier Mảnh Bezier bậc 3 z Mô Hình dạng tổng quát z Mặt cong Bezier bậc 3 là mặt phổ biến nhất trong z Mảnh Bezier được hình thành trên CG, vì đi độ đơn giản của nó phép trượt của đường cong Bezier. z Hình thành trên 4x4 diểm kiểm soát z Việc xây dựng nên mảnh Bezier dưới các điểm kiểm soát, tạo nên đa diện z Công thức có dạng kiểm soát 3 3 Q (u , v ) = ∑∑ B n ,i (u )B m , j (v )Pij i=0 j=0 z Phương trình tổng quát của mặt cong z Đa thức Bernstein có dạng: tham biến Bezier có dạng: u,v E [0, 1] 19 20 Q(u, v ) = [U ] [N ] [B ] [M] [V] T T Tính chất của mảnh Bézier z Mặt cong là liên tục và z Q(u,v) là mọi điểm nằm trên mặt cong và z Tính bao lồi: Mặt cong Bezier luôn nằm trong đa đạo hàm riêng các bậc diện lồi của các điểm kiểm tồn tại của nó cũng liên [V] = [v 3 v2 ] v 1 tục. soát z Đạo hàm riêng của mặt [U] = [u 3 u 2 u 1 ] z Mặt cong đi qua 4 điểm cận ⎡− 1 3 − 3 1⎤ cong có dạng: ⎢ 3 −6 3 0⎥⎥ P00, P01,P10,P11 hay chính [N] và [M] được biểu diễn = ⎢ xác ⎢− 3 3 0 0⎥ ⎢ ⎥ Q(0,0)=P00, Q(0,1)=P01, ⎣1 0 0 0⎦ Q(1,0)=P10, Q(1,1)=P11 ⎡− 1 3 − 3 1 ⎤ ⎡ B 00 B 01 B 02 B 03 ⎤ ⎡1 − 3 3 − 1⎤ ⎡ v 3 ⎤ ⎢ ⎢ ⎥ ⎢ 3 −6 3 0 ⎥⎥ ⎢ B 10 B 13 ⎥⎥ ⎢⎢0 3 − 6 3 ⎥⎥ ⎢ v 2 ⎥ z Đường cong biên của Mặt [ Q (u, v ) = u 3 u 2 u 1⎢ ] ⎢− 3 3 0 ⎥ ⎢ B 20 B 11 B 12 B 23 ⎥ ⎢0 0 3 − 3⎥ ⎢ v ⎥ Bezier là đường cong Bezier ⎢ 0 ⎥⎢ B 21 B 22 ⎥⎢ ⎥⎢ ⎥ ⎣1 0 0 0 ⎦ ⎣ B 30 B 31 B 32 B 33 ⎦ ⎣0 0 0 1 ⎦ ⎢⎣ 1 ⎥⎦ 21 22 Nối 2 miếng Bezier Bậc 3(Bi-cubic) z Bậc của mặt cong theo mỗi hướng của tham biến bằng số điểm kiểm soát trừ 1. z Hai mảnh Q và R cùng chung z Tính liên tục hay đạo hàm của mặt theo mỗi tham biến bằng số điểm kiểm soát tham biến tại biên (Giả sử u) trừ 2. z Hai đường cong biên phải z Hình dạng của mặt biến đổi theo các cạnh của đa giác kiểm soát. bằng nhau Q(1,v)=R(0,v) z Mặt lưới chỉ đi qua các điểm góc cạnh của đa giác kiểm soát. z Hệ số của cột cuối ma trận Q z Mặt lưới chỉ nằm trong phần giới hạn bởi lưới của đa giác lồi kiểm soát. = cột đầu ma trận R z Mặt lưới không thay đổi dưới tác động của các phép biến đổi affine. z Mỗi đường biên của mặt Bezier là 1 đường cong Bezier với mặt cong bậc ba z Tương tự: Nếu theo hướng Bezier các đường cong biên luôn đảm bảo là các đường Bezier bậc 3. của v thì hàng sẽ thay cột ma z Như vậy lưới đa giác cho bề mặt sẽ là 4 × 4 trận 23 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4
  5. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn ĐÁNH GIÁ MẶT CONG BEZIER Mặt cong B-Spline z ƯU ĐIỂM Phương trình mặt B-spline n m Q (u, w) = ∑∑ N i ,k (u ). M j ,h ( w). Pi , j z – Dễ trong xây dựng chương trình z Pij là điểm kiểm soát i =1 j =1 – Dễ trong render z N và M là đa thức B-spline ⎧1 xi ≤ u < xi +1 N i , k (u ) = ⎨ – Là mặt cong mạnh biểu diễn được nhiều hình phức ⎩ 0 otherwise z Với các mặt cong mở mặt tạp cong phụ thuộc vào các (u − xi ) N i ,k −1 (u ) ( xi + k − u ). N i +1,k −1 ( u ) Ni , k ( u ) = + z NHƯỢC ĐIỂM knot vector xi + k −1 − xi xi + k − xi +1 – Không thể mô tả được hình cầu ⎧ xi = 0(1 ≤ i ≤ k ) ⎪ – Điều kiện để nối 2 mặt cong cần rất nhiều điểm. Dẫn ⎨ x i = i − k ( k + 1 ≤ i ≤ n) ⎪ x = n − k + 1(n + 1 ≤ i ≤ n + k ) đến mất khả năng điều khiển ⎩ i 25 26 Đặc điểm của mặt cong B-Spline Mặt cong tham biến bậc 3 z Số bậc caonhất của bề mặt theo mỗi hướng thì bằng số điểm kiểm soát -1 theo hướng đó. z Dựa vào việc xây dựng và tạo z Đạo hàm riêng của phương trình bề mặt theo mỗi tham biến có bậc bề mặt toán học trên những bằng số điểm kiểm soát theo tham biến đó trừ 2. điểm dữ liệu z Bề mặt B-spline thì không chịu ảnh hưởng của phép biến đổi anfine. Bề mặt sẽ thay đổi nếu ta thay đổi đa giác kiểm soát. z Dựa trên việc xây dựng nên bề z ảnh hưởng của một điểm kiểm soát đơn được giới hạn bởi + - k/2 mặt phụ thuộc vào biến số có h/2 khoảng đối với mỗi tham số. khả năng thay đổi một cách z Nếu số đỉnh của đa giác kiểm soát bằng số bậc theo mỗi tham biến trực diện thông qua các tương và không có điểm kép nào thì mặt B-spline sẽ chuyển thành mặt tác đồ hoạ. Bezier. z Q( u, v ) = [ x y z ] z Nếu các đa giác kiểm soát có dạng tam giác thì lưới đa giác kiểm soát sẽ có hình dáng gần giống với bề mặt cong. z = [ x( u, v ) y( u z Mỗi mặt B-Spline luôn nằm trong bao lồi của đa giác kiểm soát . ,v ) z( u, v ) ] umin z Mỗi mặt B-Spline có dáng điệu luôn bám theo hình dáng của đa giác ≤ u ≤ umax , vmin ≤ v ≤ vmax kiểm soát. 27 28 z Bậc cao nhất của mặt theo mỗi hướng bằng số điểm kiểm soát -1 theo hướng đó z Đạo hàm riêng của phương trình bề mặt theo một hướng có bậc bằng số điểm kiểm soát -2. z Mặt B.spline không thay đổi dưới tác động của các phép biến đổi affine z Nếu số điểm kiểm soát bằng số bậc của mặt cong cộng 1 thì mặt B-spline chuyển dạng Bezier. 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt 5
nguon tai.lieu . vn