Đồ họa hiện thực ảo - Bài 10 Surface - EN Version (HUST) GV.Lê Tấn Hùng

LI
lienhejb
0 lượt tải
5
0

Nội dung tài liệu

Trang 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 quadrilatera es – Biểu diễn miếng tứ giác - Patch 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 Cho phép phân tích sớm và dễ dàng các đặc tính của z Phương trình ‰ 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] ‰ Cho phép xác định diện tích, xác định vùng của bề mặt z=z(u,v) 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 độ Kết nối mảnh tứ giác Barycentric Coordinates ? Tập các điểm P1,P2 ... Pn z Thực thể hình học biểu diễn thông ập các tổ hợp của các điểm đó T 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 goupee.com fb.com/groups/goupee 1

Trang 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 Là mặt nội suy từ 4 điểm P00; P01; P10; P11 trong không gian z 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 Dùng để mô tả các đối tượng có hình dạng tứ giác như cờ, khăn ... z Nếu Hệ số ki > 1 hoặc <0 điểm P sẽ nằm ngoài tam giác Q z Mở rộng cho các đối tượng cùng loại Nếu Hệ số ki = 1 hoặc =0 điểm P sẽ nằm trên cạnh tam giác 7 8 Mô hình hoá các mặt cong Surface Patches Ruled Surface Ruled Surface (Matke) 3 zRuled Surface z Bề mặt được xây dựng bằng cách 2.5 cho trượt 1 đoạn thẳng trên 2 Coon-Boolean Sum đường cong 2 z z Các mặt kẻ nhận được bằng phép 1.5 nội suy tuyến tính từ hai đường cong biên cho trước tương ứng 1 Surface of Revolution 0.2 Duong cong Bezier z với hai biên đối diện của mặt kẻ 0.4 P1(u) và P2(u) Duong cong Bspline 0.6 0.6 Swept Surface 0.8 0.7 z 0.8 1 0.9 •Phương trình mặt kẻ: 1 Extrusion Q(u,v) = P2(u)v + P1(u)(1-v) – Nếu hai đường cong cho trước tương ứng là P1(v) và P2(v) Thì mặt kẻ có phương trình ⎡P1(v)⎤ Q(u,v) = P1(v)(1-u) + P2(v)u =[(1 - u) u]⎢ ⎥ ⎣P2(v)⎦ 9 10 Mặt tròn xoay Revolution surface VD - Mặt tròn xoay z Mặt được xây dựng bởi đường P1[1 1 0] và P2[6 2 0] nằm trong mặt phẳng xy. Quay đường thẳng thẳng hay 1 đường cong phẳng, quanh trục x sẽ được một mặt nón. Xác định điểm của mặt tại quanh một trục trong không gian t=0.5, φ =π/3. Phương trình tham số cho đoạn thẳng từ P1 tới P2 là: z Giả sử đường cong phẳng có dạng P(t) = [ x(t) y(t) z(t) ] = P1 + (P1 - P2)t 0 ≤ t ≤ 1 P(t)=[x(t) y(t) z(t)] 0≤t≤tmax với các thành phần Đề-các: z Ví dụ: quay quanh trục x một thực thể nằm trên mặt phẳng xy, phương x(t) = x1 + (x2- x1)t = 1+5t trình bề mặt là y(t) = y1 + (y2- y1)t = 1+t Q(t, φ ) = [ x(t) y(t) cosφ z(t) sinφ ] 0 ≤ φ ≤ 2π z(t) = z1 + (z2- z1)t = 0 Dùng phương trình Q(1/2, π/3) = [ 1+5t (1+t)cosφ (1+t)sinφ ] ⎡7 3 π 3 π ⎤ = ⎢ cos sin ⎥ ⎣2 2 3 2 3 ⎦ ⎡7 3 3 3 ⎤ 11 12 = ⎢ ⎥ ⎣2 4 4 ⎦ goupee.com fb.com/groups/goupee 2

Trang 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 z Hình vuông xác định bởi 4 đỉnh : -0.5 z Sweep surface là mặt được tạo bởi P1[0 -1 0], P2[0 -1 -1], -1 bằng cách trượt một thực thể 1 0 10 z ví dụ: một đường thẳng, đa giác, một P3[0 1 -1], P4[0 1 1] 6 8 -1 4 đường cong, một hình… dọc theo một 2 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⎥ ⎢ 0 1 0 0⎥ [ T(v) ] là ma trận biến đổi([ T(v) ] có thể là ⎢P2⎥ T(v) = ⎢ ⎥ 0.5 P(u) = = ⎢0 1 −1 1⎥ ⎢ 0 0 1 0⎥ ⎢P3⎥ ⎢ ⎥ ma trận tịnh tiến, quay, hay tỉ lệ …hoặc ⎢ ⎥ ⎢0 1 1 1⎥ ⎢10v cos(Πv) −1 0 1⎥ 0 ⎣P4⎦ ⎣ ⎦ là kết hợp của nhiều phép biến đổi đó) ⎢⎣0 −1 1 1⎥⎦ -0.5 ⎡ 1 0 0 0⎤ Quay 1 góc khi trượt -1 í dụ: 1 V ⎢ 0 cos(2Πv) sin(2Πv) 0⎥ ⎡ cos(ϕ) sin(ϕ) 0 0⎤ 0 10 P1[0 0 0], P2[0 3 0]. ⎢ 8 T(v) = ⎥ ⎢ ⎥ -1 6 P(t) = P1 + (P2 – P1)*u = [0 3u 0 1] ⎢ 0 −sin(2Πv) cos(2Πv) 0⎥ ⎢−sin(ϕ) cos(ϕ) 0 0⎥ -2 4 2 ⎢ -3 0 0 ≤ u,v ≤ 1 ⎢ ⎥ 0 0 1 0⎥ ⎣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 z Hermite Q(u,v)= ∑∑3 3 C ui v j 0≤ u,v ≤1 ij z Bezier i=0 j=0 z B-Spline z Q(u, v) = [U ][C ][V ]T 0 ≤ u, v <1 z Q(u, v) = [U][MH] [B] [MH]T [V]T ⎡ 2 −2 1 1⎤ ⎢−3 3 −2 −1⎥ [M ]= ⎢ ⎥ H ⎢ 0 0 1 0⎥ ⎢ ⎥ ⎣ 1 0 0 0⎦ 17 18 goupee.com fb.com/groups/goupee 3

Trang 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. Hình thành trên 4x4 diểm kiểm soát z 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 u B v P n ,i m , j ij i= 0 j= 0 z Đa thức Bernstein có dạng: z Phương trình tổng quát của mặt cong tham biến Bezier có dạng: u,v E [0, 1] 19 20 Tính chất của mảnh Bézier Q(u,v)= [U] [N] [ ] [B M] [T V]T Tính bao lồi: Mặt cong 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 đạo hàm riêng các bậc Bezier luôn nằm trong đa diện lồi của các điểm kiểm tồn tại của nó cũng liên [ ] [ ] V = v3 v2 v 1 soát tục. Đạo hàm riêng của mặt [U]= [u3 u2 u 1] Mặt cong đi qua 4 điểm cận z ⎡−1 3 −3 1⎤ z cong có dạng: P00, P01,P10,P11 hay chính [N] và [M] được biểu diễn = ⎢ 3 − 6 3 0⎥ ⎢ ⎥ xác ⎢−3 3 0 0⎥ ⎢ 1 0 0 0⎥ Q(0,0)=P00, Q(0,1)=P01, ⎣ ⎦ Q(1,0)=P10, Q(1,1)=P11 ⎡−1 3 −3 1⎤⎡B B B B ⎤⎡1 −3 3 −1⎤⎡v3 ⎤ ⎢ 00 01 02 03 ⎥ ⎢ ⎥ Đường cong biên của Mặt [ ]⎢ 3 − 6 3 0⎥ B B B B ⎢0 3 − 6 3 ⎥ v2 z Q(u,v)= u3 u2 u 1⎢ ⎥⎢ 10 11 12 13 ⎥⎢ ⎥⎢ ⎥ Bezier là đường cong Bezier ⎢−3 3 0 0⎥⎢B B B B ⎥⎢0 0 3 −3⎥⎢ v ⎥ ⎢ ⎥⎢ 20 21 22 23 ⎥⎢ ⎥⎢ ⎥ ⎣ 1 0 0 0⎦⎣B B B B ⎦⎣0 0 0 1 ⎦⎢⎣ 1 ⎥⎦ 30 31 32 33 21 22 Nối 2 miếng Bezier Bậc 3(Bi-cubic) Hai mảnh Q và R cùng chung 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 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) z 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 Tương tự: Nếu theo hướng z Mỗi đường biên của mặt Bezier là 1 đường cong Bezier với mặt cong bậc ba của v thì hàng sẽ thay cột ma Bezier các đường cong biên luôn đảm bảo là các đường Bezier bậc 3. trận z Như vậy lưới đa giác cho bề mặt sẽ là 4 × 4 23 24 goupee.com fb.com/groups/goupee 4

Trang 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 z Q(u,w) = ∑∑N (u).M (w).P – Dễ trong xây dựng chương trình z Pij là điểm kiểm soát i,k j,h i, j i=1 j=1 – Dễ trong render z N và M là đa thức B-spline ⎧1 xi ≤ u < xi+1 N (u) = ⎨ Là mặt cong mạnh biểu diễn được nhiều hình phức i,k 0 otherwise – z Với các mặt cong mở mặt ⎩ tạp cong phụ thuộc vào các (u − x )N (u) (x − u).N (u) Ni,k(u) = i i,k−1 + i+k i+1,k−1 z NHƯỢC ĐIỂM knot vector x − x x − x i+k−1 i i+k i+1 – Không thể mô tả được hình cầu ⎧x = 0(1≤ i ≤ k) ⎪ i – Điều kiện để nối 2 mặt cong cần rất nhiều điểm. Dẫn ⎨xi = i − k(k +1≤ i ≤ n) đến mất khả năng điều khiển ⎪x = n − k +1(n +1≤ i ≤ n + k) ⎩ 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. Dựa trên việc xây dựng nên bề Bề mặt sẽ thay đổi nếu ta thay đổi đa giác kiểm soát. z 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 = [ x( u, v ) y( u soát sẽ có hình dáng gần giống với bề mặt cong. 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 ≤ u ≤ umax , vmin ≤ v ≤ vmax 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 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 goupee.com fb.com/groups/goupee 5

Hiển thị 5 trang đầu. Tải tài liệu để xem đầy đủ.

Bình luận (0)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!