Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng

I. Các khái niệm cơ bản

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

thay đổi một cách trực diện thông qua các tương tác đồ hoạ.

z Biểu diễn theo mảnh

– Biểu diễn miếng tứ giác - quadrilatera Patches

– Biểu diễn miếng tam giác-Triangular Patches

x=x(u,v,w) u,v,w E [0, 1]

y=y(u,v,w) u + v + w = 1

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) ]

Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng trang 1

Trang 1

Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng trang 2

Trang 2

Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng trang 3

Trang 3

Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng trang 4

Trang 4

Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng trang 5

Trang 5

pdf 5 trang xuanhieu 3720
Bạn đang xem tài liệu "Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng

Bài giảng Đồ họa hiện thực ảo - Bài 10: Mô hình bề mặt Surface. Các phương pháp xây dựng - Lê Tấn Hưng
CNTT-DHBK Hanoi
hunglt@it-hut.edu.vn
 I. Cáckháiniệmcơ 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ỹđạochuyển động của1 đừơng cong tạonên
 z Biểudiễn tham biếnchomặt cong
 – Dựavàoviệcxâydựng và tạobề mặt toán họctrênnhững điểmdữ liệu
 – Dựatrênviệcxâydựng nên bề mặtphụ thuộc vào biếnsố có khả năng
 Khái niệm thay đổimộtcáchtrựcdiện thông qua các tương tác đồ hoạ. 
 Constructive surface z Biểudiễn theo mảnh
 Bề mặttổng hợp
 – Biểudiễnmiếng tứ giác - quadrilatera Patches
 Bề mặt tam giác
 – Biểudiễnmiế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ểudiễnmảnh
 Ưu điểmdùngmặtlưới tứ giác
 z Phương trình
 ‰ Cho phépphântích sớmvà dễ dàng các đặctính của
 bề mặt, đường cong củabề mặtvà tính chấtvậtlýcủa x=x(u,v)
 bề mặt. y=y(u,v) u,v E [ 0, 1]
 z=z(u,v) 
 ‰ Cho phépxác định diệntích, xác định vùng củabề mặt
 hay cácmômentcủamặt. Q(u,v) = Q[ x=x(u,v) y=y(u,v) z=z(u,v) ]
 Thành phần
 ‰ Vớikhả năng tô màubề mặttrongthựctế cho phép – u,v là các tham biến
 việckiểmtrathiếtkế đơngiản. – Các điểm Q(0,0) Q(0,1), Q(1,0), Q(1,1) là cậncủamảnh
 – Các đường cong Q(1,v), Q(0,v), Q(u,0), Q(u,1) là các biên củamảnh
 ‰ Tạoracác thông tin cầnthiếtchoviệcsảnxuấtvà tạo – Đạohàmriêngtại điểm Q(u,v) xác định vector tiếptuyếntheohướng u, v
 ra bề mặtnhư code điềukhiểnsố đượcdễ dàng thuận
 tiệnhơnnhiềuso vớicácphương phápthiếtkế cổ
 điển
 3 4
 Hệ tọa độ 
 Barycentric Coordinates ?
 Kếtnốimảnh tứ giác
 Tập các điểm P1,P2 ... Pn
 z Thựcthể hình họcbiểudiễ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ốivớ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ếumọi điểmtrênbiêncủa2 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ụcbậcCo 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ọilàkếtnốibậcC1
 5 6
 1
CNTT-DHBK Hanoi
hunglt@it-hut.edu.vn
 Tam giác 
 Triangular Bi-Linear
 Trong tam giác các điểmcódạng P1, P2, P3
 z Là mặtnộisuytừ 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 đốitượng có hình dạng tứ giác như cờ, khăn...
 NếuHệ số ki > 1 hoặc<0 điểmP sẽ nằm ngoài tam 
 z Mở rộng cho các đốitượng cùng loại
 giác Q
 NếuHệ số ki = 1 hoặc=0 điểmP sẽ nằmtrêncạnh
 tam giác
 7 8
 Mô hình hoá các mặt cong
 Surface Patches Ruled Surface Ruled Surface (Matke)
 3
 z Bề mặt đượcxâydựng bằng cách 2.5
 z Ruled Surface cho trượt1 đoạnthẳng trên 2 
 đường cong 2
 z Coon-Boolean Sum z Các mặtkẻ nhận đượcbằng phép 1.5
 nội suy tuyếntínhtừ hai đường 1
 cong biên cho trướctương ứng 0.2 Duong cong Bezier
 với hai biên đốidiệncủamặtkẻ 0.4
 z Surface of Revolution Duong cong Bspline
 0.6
 P1(u) và P2(u) 0.6
 0.8 0.7
 0.8
 0.9
 1 1
 z Swept Surface •Phương trình mặtkẻ:
 Q(u,v) = P2(u)v + P1(u)(1-v)
 – Extrusion Nếuhaiđường cong cho trướctương ứng là P1(v) và P2(v)
 Thì mặtkẻ 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ặttrònxoay
 Revolution surface VD - Mặttrònxoay
 z Mặt đượcxâydựng bởi đường P1[1 1 0] và P2[6 2 0] nằmtrongmặtphẳng xy. Quay đường thẳng
 thẳng hay 1 đường cong phẳng, quanh trụcx sẽđượcmộtmặt nón. Xác định điểmcủamặttại
 quanh mộttrục trong không gian t=0.5, φ =π/3.
 Phương trình tham số cho đoạnthẳng từ P1 tớiP2 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ụcx mộtthựcthể nằmtrênmặtphẳng xy, phương x(t) = x1 + (x2- x1)t = 1+5t
 trình bề mặtlà 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 ⎦
 2
CNTT-DHBK Hanoi
hunglt@it-hut.edu.vn
 Ví dụ về mặt Sweept
 Mặttrượt-Sweept Surface 1
 Extrusion
 0.5
 0
 -0.5
 z Hình vuông xác định bởi4 đỉnh : 
 z Sweep surface là mặt đượctạobởi
 -1
 P1[0 -1 0], P2[0 -1 -1], 1
 bằng cách trượtmộtthựcthể 10
 0 8
 6
 z ví dụ: một đường thẳng, đagiác, một P3[0 1 -1], P4[0 1 1] -1 4
 2
 -2 0
 đường cong, một hình dọc theo một z Đường cong trượt
 đường trong không gian.
 x= 10v y= cos(Πv) – 1
 z Q(u,v) = P(u)*[ T(v) ]
 0 −1 1 1 1
 ⎡ ⎤ ⎡ 1 0 0 0
 P(u) thựcthể cầntrượt ⎡P1⎤ ⎢ ⎥ ⎤
 ⎢ ⎥ 0 −1 −1 1 ⎢ ⎥
 P2 ⎢ ⎥ 0 1 0 0 0.5
 ⎢ ⎥ T (v) = ⎢ ⎥
 [ T(v) ] là ma trậnbiến đổi([ T(v) ] có thể là P(u) = = ⎢0 1 −1 1⎥ ⎢
 ⎢P3⎥ ⎢ ⎥ 0 0 1 0⎥
 0 1 1 1 ⎢ ⎥ 0
 ma trậntịnh tiến, quay, hay tỉ lệ hoặc ⎢ ⎥ ⎢ ⎥ 10v cos(Πv) −1 0 1
 ⎣P4⎦ ⎣ ⎦
 là kếthợpcủanhiềuphépbiến đổi đó) ⎣⎢0 −1 1 1⎦⎥ -0.5
 -1
 ⎡ 1 0 0 0⎤ Quay 1 góc khi trượt 1
 0 10
 Vídụ: ⎢ ⎥ ⎡ cos(ϕ) sin(ϕ ) 0 0⎤ 8
 P1[0 0 0], P2[0 3 0]. 0 cos(2Πv) sin(2Πv) 0 -1 6
 ⎢ ⎥ ⎢ ⎥ -2 4
 T (v) = − sin(ϕ) cos(ϕ) 0 0 2
 P(t) = P1 + (P2 – P1)*u = [0 3u 0 1] ⎢ 0 − sin(2Πv) cos(2Πv) 0⎥ ⎢ ⎥ -3 0
 ⎢
 0 ≤ u,v ≤ 1 ⎢ ⎥ 0 0 1 0⎥
 10v 0 0 1⎦ ⎢ ⎥
 13 ⎣ 14 ⎣ 10v cos(Πv) −1 0 1⎦
 Boolean sum Example 
 Coon surface Boolean Sum Surface
 Mặt đượcxâydựng trên 4 điểmvà Vớiu = 0
 các đường cong biên S(0,v) = S1(0,v) + S2(0,v) - P(0, v)
 S(u,v) Mặtnộ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ủamảnh 4
 Ai(u) là các phương trình đường biên
 15 16
 Surface from Curves Mặtcongbậc ba Hermite
 3 3
 z Hermite i j 0 1
 Q()u, v = ∑∑Cij u v ≤ u, v ≤
 z Bezier ij==0 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
 3
CNTT-DHBK Hanoi
hunglt@it-hut.edu.vn
 Mảnh-patch Bézier Mảnh Bezier bậc3
 z Mô Hình dạng tổng quát z Mặt cong Bezier bậc3 làmặtphổ biếnnhấttrong
 z Mảnh Bezier được hình thành trên CG, vì đi độ đơngiảncủanó
 phép trượtcủa đường cong Bezier.
 z Hình thành trên 4x4 diểmkiểm soát
 z Việcxâydựng nên mảnh Bezier dưới
 các điểmkiểm soát, tạo nên đadiện z Công thứccódạng
 kiểm soát 3 3
 Q ()u , v = ∑∑B n ,i ()()u B m , j v Pij
 ij==0 0
 z Đathức Bernstein có dạng:
 z Phương trình tổng quát củamặt cong 
 tham biếnBezier códạng: 
 u,v E [0, 1]
 19 20
 T T
 Tính chấtcủamảnh Bézier Q()u,v = [][][][][]U N B M V
 z Mặt cong là liên tục và 
 z Tính bao lồi: Mặt cong z Q(u,v) là mọi điểmnằmtrênmặt cong và
 Bezier luôn nằm trong đa đạo hàm riêng các bậc 
 tồn tại của nó cũng liên 3 2
 diệnlồicủacácđiểmkiểm [V] = [v v v 1]
 tục.
 soát 3 2
 z Đạo hàm riêng củamặt [U]= [u u u 1]
 z Mặt cong điqua 4 điểmcận ⎡−1 3 − 3 1⎤
 cong có dạng: ⎢ ⎥
 P00, P01,P10,P11 hay chính [N] và [M] đượcbiểudiễn = ⎢ 3 − 6 3 0⎥
 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 3
 ⎡−1 3 − 3 1⎤⎡B 00 B 01 B 02 B 03 ⎤⎡1 − 3 3 −1⎤⎡v ⎤
 ⎢ ⎥⎢ ⎥⎢ ⎥⎢ 2 ⎥
 z Đường cong biên củaMặt 3 2 3 − 6 3 0 B10 B11 B12 B13 0 3 − 6 3 v
 Q()u,v = []u u u 1 ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥
 ⎢− 3 3 0 0⎥⎢B 20 B 21 B 22 B 23 ⎥⎢0 0 3 − 3⎥⎢ v ⎥
 Bezier là đường cong Bezier ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥
 ⎣ 1 0 0 0⎦⎣B 30 B 31 B 32 B 33 ⎦⎣0 0 0 1 ⎦⎣⎢ 1 ⎦⎥
 21 22
 Nối2 miếng Bezier
 Bậc 3(Bi-cubic)
 z Bậccủamặt cong theo mỗihướng của tham biếnbằng số điểmkiểmsoáttrừ 1.
 z Hai mảnh Q và R cùng chung
 z Tính liên tục hay đạohàmcủamặt theo mỗithambiếnbằng số điểmkiểmsoát
 tham biếntạibiên(Giả sử u) trừ 2.
 z Hai đường cong biên phải z Hình dạng củamặtbiến đổitheocáccạnh của đagiáckiểm soát.
 bằng nhau Q(1,v)=R(0,v) z Mặtlướichỉ điquacácđiểmgóccạnh của đagiáckiểm soát.
 z Hệ số củacộtcuốima trậnQ z Mặtlướichỉ nằm trong phầngiớihạnbởilướicủa đagiáclồikiểmsoát.
 = cột đầuma trậnR z Mặtlưới không thay đổidướitácđộng của các phép biến đổi affine.
 z Mỗi đường biên củamặtBezierlà1 đường cong Bezier vớimặt cong bậcba
 z Tương tự: Nếutheohướng
 Bezier các đường cong biên luôn đảmbảolàcácđường Bezier bậc 3.
 củav thìhàngsẽ thay cộtma 
 z Như vậylưới đagiácchobề mặtsẽ là 4 × 4
 trận
 23 24
 4
CNTT-DHBK Hanoi
hunglt@it-hut.edu.vn
 ĐÁNH GIÁ MẶT CONG BEZIER Mặt cong B-Spline
 n m
 z ƯU ĐIỂM z Phương trình mặtB-spline
 Q(u, w) = N (u).M (w).P
 – ∑∑ i,k j,h i, j
 Dễ trong xây dựng chương trình z Pij là điểmkiểm soát i==11j
 ⎧1 x ≤ u < x
 – Dễ trong render z N và M là đathức B-spline i i+1
 Ni,k (u) = ⎨
 ⎩ 0 otherwise
 – Là mặt cong mạnh biểudiễn được nhiềuhìnhphức z Vớicácmặt cong mở mặt
 tạp cong phụ thuộcvàocá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 xi+k −1 − xi xi+k − xi+1
 –
 Không thể mô tảđượchìnhcầu ⎧xi = 0()1 ≤ i ≤ k
 ⎪
 – Điềukiện để nối2 mặt cong cầnrất nhiều điểm. Dẫn ⎨xi = i − k(k +1 ≤ i ≤ n)
 ⎪
 đếnmấtkhả năng điềukhiển ⎩xi = n − k +1(n +1 ≤ i ≤ n + k)
 25 26
 Đặc điểmcủamặt cong
 B-Spline Mặtcongthambiếnbậc 3
 z Số bậc caonhấtcủabề mặttheomỗihướng thì bằng sốđiểmkiểm
 soát -1 theo hướng đó. z Dựavàoviệcxâydựng và tạo
 z Đạo hàm riêng củaphương trình bề mặt theo mỗithambiếncóbậc bề mặt toán họctrênnhững
 bằng sốđiểmkiểm soát theo tham biến đótrừ 2. điểmdữ 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ặtsẽ thay đổinếu ta thay đổi đagiáckiểmsoát. z Dựatrênviệcxâydựng nên bề
 z ảnh hưởng củamột điểmkiểmsoátđơn đượcgiớihạnbởi + - k/2 mặtphụ thuộcvàobiếnsố có
 h/2 khoảng đốivớimỗithamsố. khả năng thay đổimộtcách
 z Nếusốđỉnh của đagiáckiểmsoátbằng số bậctheomỗithambiến trựcdiệ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ếucácđagiáckiểm soát có dạng tam giác thì lưới đagiáckiểm
 soát sẽ có hình dáng gầngiống vớibề mặt cong. z = [ x( u, v ) y( u 
 ,v ) z( u, v ) ] umin
 z MỗimặtB-Splineluônnằmtrongbaolồicủa đagiáckiểmsoát.
 ≤ u ≤ umax , vmin ≤ v ≤ vmax
 z Mỗimặt B-Spline có dáng điệu luôn bám theo hình dáng của đagiác
 kiểm soát.
 27 28
 z Bậc cao nhấtcủamặttheomỗihướng bằng số điểm
 kiểmsoát -1 theo hướng đó
 z Đạohàmriêngcủaphương trình bề mặttheomột
 hướng có bậcbằng số điểmkiểmsoát-2.
 z Mặt B.spline không thay đổidướitác động củacác
 phépbiến đổi affine
 z Nếusố điểmkiểmsoátbằng số bậccủamặt cong 
 cộng 1 thì mặt B-spline chuyểndạng Bezier.
 29
 5

File đính kèm:

  • pdfbai_giang_do_hoa_hien_thuc_ao_bai_10_mo_hinh_be_mat_surface.pdf