Xem mẫu
- 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
- 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
- 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
- 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
- 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