C3 CAD-CAM>MHHCACTTHH
1 GVC NGUYỄN THẾ TRANH
Chương 3.
MÔ HÌNH HOÁ CÁC THỰC THỂ HÌNH HỌC
3.1. MÔ HÌNH ĐƯỜNG CONG
Về mặt lý thuyết có thể sử dụng phương trình toán học bất kỳ để định nghĩa
đường cong. Tuy nhiên, mô hình toán học dưới dạng phương trình đa thức được sử
dụng phổ biến nhất do có đặc tính dễ dàng xử lý, đủ linh hoạt để mô tả phần lớn các
loại đường cong sử dụng trong kỹ thuật.
3.1.1. PHÂN LOẠI ĐƯỜNG CONG ĐA THỨC.
Mô hình toán học bi
ểu diễn đường cong có thể dưới dạng phương trình ẩn,
phương trình tường minh hoặc phương trình tham số. Phương trình ẩn và phương trình
tường minh chỉ được sử dụng cho đường cong 2D. Đường cong đa thức tương ứng với
các dạng phương trình toán học được trình bày dưới dạng tổng quát sau:
Phương trình đa thức ẩn.
0),(
00
==
∑∑
==
m
i
1, Đường cong đa thức chuẩn tắc,
2, Đường cong Ferguson,
3, Đường cong Bezier,
4, Đường cong B-spline đều,
5, Đường cong B-spline không đều.
3.1.2. ĐƯỜNG CONG 2D.
Đường cong 2D được sử dụng như các đối tượng hình học cơ sở trên các bản vẽ
kỹ thuật truyền thống để mô tả hình thể 3D.
1. Mô hình đường cong dưới dạng phương trình đa thức ẩn.
Phương trình ẩn g(x,y) = 0 biểu diễn đường cong trên mặt phẳng x-y, ví dụ như
đường tròn và đường thẳng được biểu diễn bởi phương trình:
C3 CAD-CAM>MHHCACTTHH
2 GVC NGUYỄN THẾ TRANH 0)()(
222
=−−+− rbyax
;
0=++ cbyaxMô hình này có ưu điểm:
- Dễ dàng xác định vectơ tiếp tuyến và pháp tuyến,
- Dễ dàng xác định vị trí tương đối giữa điểm với đường cong.
b
y
a
xNhược điểm chính của mô hình đường cong dưới dạng phương trình ẩn là khó
thực hiện đồ hình tuần tự, đây là chức năng quan trọng trong đồ hoạ điện toán. Do vậy
trong mô hình hoá hình học, đường cong conic dưới dạng phương trình tham số được
sử dụng phổ biến hơn cả. Thực tế mô hình dạng phương trình đa thức ẩn có bậc cao
hơn 2 rất ít được s
ử dụng.
2. Mô hình đường cong dưới dạng phương trình đa thức tường minh.
Phương trình tường minh dạng :
y = f(x) = a + bx + cx
2
+ ...
mô tả đường
cong trên mặt phẳng x-y. Nếu f(x) là đa thức bậc 2, đường cong là Parabol.
Đặc tính tiêu biểu của đa thức tường minh là có thể chuyển đổi thành phương
trình ẩn hoặc phương trình tham số. Nếu
y = f(x)
, trong đó f(x) là đa thức của x, tức
là:
0)(),( =−≡ xfyyxg
hoặc
x(t) = t ; y(t) = f(t) (3.1)
bởi 2 vectơ vị trí và 2 vectơ tiếp tuyến có thể biểu diễn chúng dưới dạng phương trình
đa thức vectơ bậc 3. Đa thức bậc 3 được sử dụng rất phổ biến, bởi vì đó là bậc tối
thiểu, đủ để dựng các loại đường cong trong không gian 3D.
1. Mô hình đường cong dưới dạng phương trình đa thức chuẩn tắc.
Đặc tính của mô hình đa thức chuẩn tắc là dễ dàng xác định.
Xét phương trình đa thức vectơ bậc 3:
r(u) = (x(u), y(u), z(u)) = a + bu + cu
2
+ du
3
Có thể biểu diễn phương trình đa thức này dưới dạng ma trận theo vectơ cơ sở
U và vectơ hệ số A như sau:
[]
UA
d
c
b
a
uuuur =
⎥
⎥
⎥
⎥
⎦
⎤
⎢
i
tại các điểm P
i
được xác định như sau:
0
0
=u
;
∑
=
i
ddu /
01
;
∑
+=
i
dddu /)(
102
;
1
3
=u
Đường cong bậc 3 (3.2) đi qua các điểm dữ liệu phải thoả điều kiện:
ii
Pur =)(
; với i = 1,...,4
a. Hai điểm đầu cuối P
0
và P
1.
b. Tiếp tuyến đầu cuối t
0
và t
1
.
r(u)
t
0
t
1
P
0
P
1
Hình 3.1 - Đường cong Ferguson
C3 CAD-CAM>MHHCACTTHH
4 GVC NGUYỄN THẾ TRANH
Đường cong bậc 3 (3.2) thoả điều kiện biên P
0
, P
1
, t
P
d
c
b
a
A ≡
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
S)( UCUAur ==
, với
10 ≤≤ u
(3.5)
Thực tế dễ dàng xác định được độ lớn của vectơ tiếp tuyến, do đó độ lớn của
vectơ được chọn bằng chiều dài cát tuyến
0110
PPtt −==
. Sự lựa chọn này thoả
yêu cầu về hình dáng.
Phương trình (3.2) và (3.5) đều được biểu diễn dưới dạng ma trận cơ sở. Có thể
biểu diễn (3.5) dưới dạng khác:
r(u) = (U C) S
= (1- 3u
2
+2u
3
)P
0
+ (3u
2
- 2u
3
)P
1
+ (u - 2u
2
;
)2()(
323
1
uuuuH +−=)()(
323
2
uuuH +−=
;
)23()(
323
3
uuuH −=
)(
3
uH
i
là hàm kết nối Hermite bậc 3 thoả điều kiện biên tại u = 0, 1 như sau:
0)0()1()0()1(
1)1()0()1()0(
3
2
3
1
3
Dễ dàng xác nhận rằng phương trình (3.6) thoả điều kiện biên (3.3).
Phương trình (3.6) là định nghĩa chuẩn về đường cong kết nối Hermite.
C3 CAD-CAM>MHHCACTTHH
5 GVC NGUYỄN THẾ TRANH
3. Đường cong Bezier
Đường cong Bezier được định nghĩa bằng nhiều phương pháp.
Hãy xét phương pháp xây dựng đường cong Bezier bậc 3 từ phương trình
đường cong Ferguson (3.5).
Bốn đỉnh điều khiển Bezier V
0
, V
1
, V
2
, V
3
(hình 3.2a) thoả điều kiện:
V
0
là điểm đầu của đường cong,
V
1
là vị trí 1/3 chiều dài trên vectơ tiếp tuyến đầu,
V
= (V
3
- t
1
/3) ; V
3
= P
1
Ngược lại, điều kiện biên Ferguson được biểu diễn theo đỉnh điều khiển Bezier
V
i
là:
P
0
= V
0
; P
1
= V
3
; t
0
= 3(V
1
-V
0
) ; t
1
= 3(V
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
−
=
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
≡
3
2
1
0
−−
−
−
=
1331
0363
0133
0001
M
;
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
=
3
2
1
0
V
V
V
0
V
1
V
2
r(u)
r(u)
b,
V
0
V
1
V
2
V
3
r(u)
c,
Hình 3.2 - Đường cong Bezier bậc 3
C3 CAD-CAM>MHHCACTTHH
6 GVC NGUYỄN THẾ TRANH
đường cong Ferguson có thể biểu diễn đường cong Bezier (3.8) dưới dạng phương
33
0
)1()( uuB
−=
;
23
1
)1(3)( uuuB
−=)1(3)(
23
2
uuuB
−=
;
33
3
)( uuB
=
là đa thức Bernstein bậc 3.
Đa thức Bernstein bậc n có dạng :
inin
i
uu
in
n
1
;
)()0(
01
VVnr −=
&
;
)()1(
1
−
−=
nn
VVnr
&
(3.11)
Định nghĩa chuẩn về đường cong Bezier theo hàm cơ sở Bezier (3.10b) thể hiện
tính chất hình học của đường cong tốt hơn so với biểu diễn dưới dạng ma trận (3.8), ví
dụ như có thể chia nhỏ hoặc tăng bậc cho đường cong. Ngược mại dạng ma trận có ưu
điểm là dễ dàng xử lý dữ liệu.
4. Đường cong B-spline đều.
Mô hình toán học của đường cong B-spline là phương trình
đại số. Ta sẽ nghiên
cứu phép dựng hình để hiểu rõ tính chất hình học của dạng mô hình này.
Xét 4 đỉnh điều khiển V
0
,...,V
3
: M
1
= (V
1
+V
3
)/2
P
0
là điểm 1/3 của đoạn thẳng V
1
M
0
: P
0
= (2V
1
+M
0
)/3
P
1
là điểm 1/3 của đoạn thẳng V
2
M
1
: P
1
= (2V
và tiếp tuyến t
0
, t
1
theo đỉnh điều
khiển như sau:
C3 CAD-CAM>MHHCACTTHH
7 GVC NGUYỄN THẾ TRANH
P
0
≡
r(0) = [4V
1
+(V
0
+V
2
) ]/6 (3.12a)
P
1
≡
r(1) = [4V
2
+(V
1
+V
3
) ]/6 (3.12b)
P
P
S ≡
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
−
=
phương trình đường cong B-spline đều bậc 3 biểu diễn bởi ma trận hệ số B-spline
đều N và vectơ đỉnh điều khiển R:
r(u) = U C S
= U C (K R)
= U (C K) R
= U N R với
10 ≤≤ u
trong đó:
C là ma trận Ferguson
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−−
−
−
=
1331
0363
323
0
uuuuN −+−=
;
6/)364()(
323
1
uuuN +−=6/)3331()(
323
2
uuuuN −++=
;
6/)(
33
3
uuN = 3.1.4. ĐƯỜNG CONG B-SPLINE KHÔNG ĐỀU (NURBS)
NURBS – Non-Uniform Rational B-Spline
Phần này sẽ cung cấp định nghĩa toán học về đường cong B-spline không đều
và chỉ ra rằng đường cong Bezier và B-spline đều là trường hợp đặc biệt của NURBS.
V
1
V
2
được định nghĩa theo chuỗi điểm không giảm
{t
i
}:
)(
)(
)(
)(
)(
)(
)(
1
1
1
1
1
1
tL
tt
tt
tL
tt
tt
tL
n
i
ini
i
n
⎨
⎧
=
ii
i
ttt
tL
1+
<
ii
tt Hàm đệ qui (3.15) được gọi là hàm đệ qui Cox-deBoor là phương pháp chuẩn
định nghĩa hàm cơ sở B-spline (bậc n-1).
Ta sẽ khảo sát hàm này để hiểu rõ tính chất hình học của chúng.
Xét n = 2:
)(
)(
)(
)(
)(
)(
)(
1
1
12
1
1
⎨
⎧
∈
∈
−−
−−
=
++
+
+++
+
khác t các
],[
],[
,0
),/()(
),/()(
21
1
122
1
ii
ii
iii
iii
ttt
ttt
tttt
tttt
∈
∈
∇−
∇−
==
++
+
++
khác t các
],[
],[
,0
,/)(
,/)(
)(
21
1
12
2
ii
ii
ii
ii
i
ttt
ttt
tt
tt
tL
∇
−
=⎪
⎪
⎩
⎪
⎪
⎨
⎧
∇∇−
∇∇∇−∇−∇∇−
∇∇−
=
+++
+++
0
),/()(
),/()()/()(
),/()(
2
2
1
2
3
1
2
1
C3 CAD-CAM>MHHCACTTHH
9 GVC NGUYỄN THẾ TRANH
Biểu thức (3.17) là hàm cơ sở B-spline bậc 2.
Hình dáng chức năng của hàm cơ sở B-spline bậc nhỏ hơn 4 được thể hiện trên
hình 3.4. Vì hàm cơ sở B-spline có hình dạng khác biệt trên từng miền tham số, hàm
cơ sở trong khoảng thứ k được phân biệt bởi chỉ số thứ hai [k]:
)()(
][
tLtL
n
i
n
ki
≡
với
nkttt
kiki
,...,2,1:],[
1
=∈
+−+
(3.18)
Theo qui ước trên thì hàm cơ sở B-spline (3.17) trên miền tham số đầu tiên
],[
1
+
Hãy định nghĩa phép chuyển đổi tuyến tính giữa tham số u và t như sau:
u = (t - t
i
)/(t
i+1
- t
i
) = (t - t
i
)/∇
i
(3.19)
Như được minh họa trên hình 3.5 chỉ có 3 hàm cơ sở B-spline bậc 2 có giá trị
khác không trên miền
],[
1
3
]3[2 iiiii
tttL ∇∇−=
−+−)/()/2()/(
2
1
22
1
2
1 −−−
∇∇+∇∇−+∇∇=
iiiiii
uu
(3.20a)
)(
2
0
uN≡
với
10 ≤≤ ut
t
t
t
)/()()./()()(
1
223
11
2
1
2
1
3
]2[1 −−−−−−
∇∇∇−∇−∇∇−=
iiiiiiiii
tttttL⎭
⎬
⎫
⎩
⎨
⎧
∇
∇
−
∇
∇
∇
∇
+∇∇+∇∇=
)./()()(
223
]1[
iiii
tttL ∇∇−=
−)./()(
22
iii
u ∇∇∇=
(3.20c)
)(
2
2
uN≡
với
10 ≤≤ u
iijj
ttttLPtr
2
1
3
],[:)()(
(3.21)
Như đã minh hoạ trên hình 3.5, hàm kết nối (3.21) có giá trị khác 0 chỉ khi j=i-
2, i-1, i. Ta đặt:
V
0
= P
i-2
; V
1
= P
i-1
; V
2
= P
i
từ (3.17) và (3.20) hàm vectơ (3.21) được biểu diễn bởi: ∑
−=
=
i
ij
(3.22)
)()()(
3
]1[2
3
]2[11
3
]3[20
tLVtLVtLV
iii
++=
−−)()()(
2
22
2
11
2
00
uNVuNVuNV ++=)(urRUN
q
≡=
với
]1,0[∈u
L
3
]1[i
L
3
]3−i
L
3
]3[2−i
L
Hình 3.5 - Hàm cơ sở B-spline bậc 2 khác 0 trên miền [t
i
, t
i+1
][2]
t
C3 CAD-CAM>MHHCACTTHH
11 GVC NGUYỄN THẾ TRANH
⎥
⎥
⎥
⎥
⎥
−
−−
−
−−
−−−
22
3
1
2
11
2
1
2
1
2
1
2
11
2
1
)/(
0)/2()/2(
0)/()/(
i
i
i
i
i
i
i
miền tham số xác định là [t
i
, t
i+1
] (Hình 3.5). Tuy nhiên các điểm biên t
i-2
và t
i+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
11
,,
+−
∇∇∇
iii
và 3
đỉnh điều khiển V
0
, V
1
, V
2
.
Tương tự ta có đường cong NURBS bậc 3 có dạng như sau:
∑
−=
=
điểm nút.
Khi tất cả điểm nút {t
i
} được xác định trên miền số nguyên liên tục và khoảng
cách giữa chúng đều nhau, nếu đặt ∇
i
= 1, với mọi i và từ đó
2
2
=∇
i
,..., ma trận hệ
số N
c
của đường cong NURBS (3.23) trở thành ma trận N của đường cong B-spline
đều bậc 3 (3.13).
Như vậy đường cong B-spline đều bậc 3 (3.13) là trường hợp đặc biệt của
đường cong NURBS khi khoảng cách giữa các điểm nút đều nhau.
Tương tự, đường cong NURBS có thể trở thành đường cong Bezier nếu đặt các
giá trị:
t
i-2
= t
i-1
= t
i
= 0; t
i+1
Hàm hữu tỷ được định nghĩa như là tỷ số của 2 hàm đa thức. Đường cong hữu
tỷ có độ linh hoạt về hình dáng cao hơn so với các dạng đường cong đa thức chuẩn tắc
khác. Đường cong hữu tỷ sẽ có dạng đa thứ
c chuẩn tắc nếu như được biểu diễn theo hệ
toạ độ đồng nhất. Ta sẽ khảo sát dạng hữu tỷ của mô hình đường cong Bezier.
1. Toạ độ đồng nhất.
Ta đã biết phương trình tham số của đường tròn đơn vị như sau:
r(u) = (x(u), y(u), z(u))
= ((1-u
2
)/(1+u
2
), 2u/(1+u
2
), 0/(1+u
2
))
Vì mỗi tyhành phần của vectơ 3D trên có cùng mẫu số, nên ta có thể chuyển
chúng thành vectơ đồng nhất 4 thành phần R(u) với 3 thành phần đầu tiên ứng với tử
số và thành phần thứ 4 ứng với mẫu số chung:
R(u) = ((1-u
2
), 2u, 0, (1+u
2
)) = (X(u), Y(u), Z(u), h(u))
i
,
w
i
z
i
,
w
i
)
trọng số w
i
làm tăng tính linh hoạt về hình dáng.
Biểu diễn toạ độ Đề các dưới dạng đồng nhất được sử dụng rộng rãi trong các
phép biến đổi tạo độ ứng dụng trong đồ hoạ cũng như Robot học.
2. Đường cong hữu tỷ bậc 2.
Nếu vectơ đỉnh điều khiển Bezier chuẩn tắc được thay thế bởi vectơ đồng nhất
tưong ứ
ng ta sẽ đạt được đường cong Bezier hữu tỷ.
Đường cong Bezier bậc 2 có dạng:
∑
=
==
2
iii
wzwywxwVwH ==
;
0≠
i
w
(3.25)
Toạ độ Đề các của đỉnh điều khiển đồng nhất H
i
trên biểu thức (3.25) tương
đương với đỉnh điều khiển V
i
, không phụ thuộc vào trọng số w
i
.
Do vậy đường cong Bezier hữu tỷ bậc 2 được biểu diễn dưới dạng:
∑
=
==
2
0
2
)())(),(),(),(()(
i
ii
HuBuhuZuYuXuR
(3.26)
Ta sẽ khảo sát hình dánh đường cong đồng nhất này. Điều kiện biên của đường
cong hữu tỷ được xác định bằng cách tính biểu thức (3.26) và đạo hàm của chúng tại u
hhh
−=
&
;
2
1
12
).(2)1(
w
w
VVr
hhh
−=
& Kết quả trên chứng tỏ rằng tiếp tuyến của đường cong Bezier đồng nhất (3.26)
và đường cong Bezier chuẩn tắc (3.24) tại các điểm biên có cùng phương với nhau
nhưng độ lớn của chúng thay đổi theo tỷ lệ w
1
/w
0
và w
1
/w
2
(Hình 3.6).
0
22
)(,)(,)(,)(
i i
ii
i
iii
i
iiiiii
wuBzwuBywuBxwuB
t
1
=2(V
2
-V
1
)
t
0
=2(V
1
-V
0
)
V
V
2V
1r(u)
b.
t
0
=2(w
1
/w
0
)(V
1
-V
0
)
Hình 3.6 - Tính chất của đường cong Bezier hữu tỷ
- Đường cong Bezier chuẩn tắc.
- Đường cong Bezier hữu tỷ bậc 2.
C3 CAD-CAM>MHHCACTTHH
0
2
2
0
2
)(/)(
i
ii
i
iii
wuBVwuB
trong đó: V
i
= (x
i
, y
i
, z
i
) : đỉnh điều khiển Bezier, w
i
: trọng số.
Như vậy ta đã chỉ ra rằng có thể biểu diễn đường cong Bezier hữu tỷ hoặc dưới
dạng đồng nhất (3.26) hoặc dưới dạng hữu tỷ (3.30) và đường cong Bezier hữu tỷ bậc
2 được chuyển đổi thành đường cong chuẩn tắc khi w
i
= 1 với mọi i.
Mô hình đường cong hữu tỷ bậc 2 được sử dụng rất phổ biến trong phép tham
số hoá đường cong mặt cắt cônic.
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−−
−
−
=
1331
0363
0033
0001
M
;
⎥
⎥
⎥
⎥
⎦
⎤
(
)
(
)
∑∑
==
=
3
0
3
3
0
3
)(/)()(
i
ii
i
iii
wuBVwuBur
Mô hình đường cong hữu tỷ có bậc tự do cao hơn dùng để định nghĩa hình
dáng. Sử dụng các giá trị trọng số khác nhau có thể điều khiển hình dáng đường cong
hữu tỷ trong miền giới hạn bởi đa tuyến đặc tính. Nhưng quá nhiều bậc tự do thường
không phải là tốt, thực tế rất ít khi sử dụng bậc cao hơn 2.
3.2. ĐƯỜNG CONG PHỨC HỢP Trong các bài toán dựng hình, phần lớn dữ liệu cho trước ở dạng dữ liệu điểm.
Dữ liệu điểm có thể là dữ liệu thực nghiệm từ các phép đo bằng dụng cụ thông thường