Tải bản đầy đủ (.pdf) (36 trang)

Mô hình hoá các thực thể hình học (tài liệu CAD/CAM)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (511.75 KB, 36 trang )

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
n
j


ji
ij
yxcyxg

Phương trình đa thức tường minh.

)(
2
+
+
+
== cxbxaxfy (theo toạ độ Đề các)

)(
2
+
+
+
==
γθ
βθ
α
θ
hr (theo toạ độ cực)

Phương trình đa thức tham số.

))(),(),(()(
2
+

+
+
=
≡ ctbtatztytxtr

Các dạng đường cong đa thức tham số được sử dụng phổ biến nhất bao gồm:

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

=
+
+
cb
y
ax

Mô 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.

Phương trình đa thức bậc 2 g(x,y) = 0 biểu diễn họ đường cong conic là giao
tuyến giữa mặt cắt phẳng và mặt nón trụ. Tuỳ theo vị trí tương đối giữa mặt phẳng cắt
và mặt nón, đường cong conic có th
ể là:

1, Elip :
01
2
2
2
2
=−+
b
y
a
x

2, Parabôn :
04

2
=
− axy
3, Hyperbôn :
01
2
2
2
2
=−−
b
y
a
x


Nhượ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)(),(
=
−≡
x
f
yy
x
g
hoặc x(t) = t ; y(t) = f(t) (3.1)

Do vậy phương trình đa thức tường minh có ưu điểm của phương trình ẩn và
phương trình tham số, đó là:

- 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 quan giữa điểm với đường cong.
- Dễ dàng thực hiện đồ hình tuần tự.

Nhược điểm chính của dạng phương trình tường minh là không thể đ
iều khiển
đường cong khép kín hoặc đường thẳng đứng. Dạng phương trình (3.1) còn được gọi
là dạng phi tham số.



C3 CAD-CAM>MHHCACTTHH 3 GVC NGUYỄN THẾ TRANH

3.1.3. ĐƯỜNG CONG ĐA THỨC THAM SỐ.

Khảo sát việc thiết lập đường cong với điều kiện biên cho trước bao gồm toạ độ
và tiếp tuyến tại 2 điểm đầu và cuối: P
0
, P
1
, t
0
, t
1
. Vì rằng đường cong được định nghĩa
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 =












=
32
1)(
với
10


u
(3.2)

Phương trình đa thức bậc 3 (3.2) không thể hiện được ý nghĩa hình học, nhưng
có thể được sử dụng để thiết lập đường cong trơn láng đi qua 4 điểm dữ liệu { P
i

: i =
1, ,4} theo phương pháp sau:
Đặt d
i
là chiều dài cát tuyến giữa điểm P
i
và P
i+1
:

iii
PPd

=
+1
với i = 0, 1, 2
Từ đó giá trị tham số u
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
Tổng quát, đường cong đa thức bậc n đi qua (n+1) điểm dữ liệu được biểu diễn
bởi phương trình đa thức:


=
=
n
i
i
i
uaur
0

)(

2. Đường cong Ferguson.









Ferguson giới thiệu một
phương pháp khác sử dụng phương
trình (3.2). Theo đó đường cong
được thiết lập bởi (Hình 3.1):

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
0
, t
1
chúng phải đảm bảo:

dcbrt
brt
dcbarP
arP
32)1(
)0(
)1(
)0(
1
0

1
0
++==
==
+++==
==
&
&
(3.3)
Sau các phép biến đổi, hệ số PT đa thức được xác định theo biểu thức:

CS
t
t
P
P
d
c
b
a
A ≡


























−−−
=













=
1
0
1
0
1122
1233
0100
0001
(3.4)

Kết hợp biểu thức (3.2) và (3.4), đường cong Ferguson r(u) theo điều kiện biên
như trên được biểu diễn bởi ma trận hệ số Ferguson C và vectơ điều kiện biên
Ferguson S như sau:

S)( UCUAu
r
== , 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
+ u
3
)t
0
+ (-u
2
+ u
3
)t
1

(3.6)
=
1
3
31
3
20
3
10
3
0
)()()()()()( PuHutuHutuHPuH
+
+
+


trong đó:
)231()(
323
0
uuuH
+
−= ; )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
3
3
0
3

2
3
1
3
3
3
0
====
====
HHHH
HHHH
&&
&&

0)()()()(
3
2
3
1
3
2
3
1
=
=
== jHjHjHjH
&&
với mọi j = 0,1

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
2
là vị trí 2/3 chiều dài trên vectơ tiếp tuyến cuối,
V
3

là điểm cuối của đường cong.












Đỉnh điều khiển Bezier được biểu diễn theo điều kiện Ferguson như sau:
V
0
= P
0
; V
1
= (V
0
+ t
0
/3) ; V
2
= (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
-V
2
)

hay dưới dạng ma trận:

LR
V
V
V
V
t
t
P
P
S ≡



























=













3
2
1
0
1
0
1
0

3300
0033
1000
0001
(3.7)
Cuối cùng ta thay thế kết quả (3.7) vào phương trình đường cong Ferguson
(3.5) để đạt được phương trình đường cong Bezier bậc 3 biểu diễn bởi ma trận hệ số
Bezier M và vectơ đỉnh điều khiển R:
r(u) = U C S = U C (L R) = U (C L) R
= U M R , với
10


u
(3.8)

trong đó:












−−



=
1331
0363
0133
0001
M
;












=
3
2
1
0
V
V
V
V

R

Đặc tính tiêu biểu của đường cong Bezier là hình dáng của đường cong phụ
thuộc vào đa tuyến lồi giới hạn bởi các đỉnh điều khiển ( Hình 3.2) . Tương tự như
V
0
=P
0

V
3
=P
1

V
2
V
1

t
1
t
0

a,
V
3

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
trình đa thức:



=
=
+++=
=
3
0
3
3
3
32
3
21
3
10
3
0
)(
)()()()(
)()(
i
ii
VuB
VuBVuBVuBVuB
R
UMu
r
(3.9)
trong đó:

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
uB




= )1(
!)!1(
!
)(
(3.10a)
Đa thức Bernstein được gọi là hàm cơ sở Bezier sử dụng để định nghĩa đường
cong Bezier bậc n bằng cách kết nối (n+1) đỉnh điều khiển:


=
=
n
i
i
n
i
VuBur
0
)()( , với 10


u (3.10b)
Đường cong Bezier bậc n thoả điều kiện biên sau:
r(0) = V
0
; r(1) = V
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

và các điểm M
0
, M
1
, P
0
, P
1
với tính chất như
sau: (Hình 3.3).

M
0
là điểm giữa của đoạn thẳng V
0
V
2
: M
0
= (V
0
+V
2
)/2
M
1
là điểm giữa của đoạn thẳng V
1
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
2

+M
1
)/3

Cần thiết lập đường cong bậc 3 r(u) thoả điều kiện:
1. Đường cong bắt đầu từ điểm P
0
và kết thúc tại điểm P
1
,
2. Vectơ tiếp tuyến tại điểm P
0
có giá trị bằng (M
0
-V
0
),
3. Vectơ tiếp tuyến tại điểm P
1
có giá trị bằng (M
1
-V
1
).

Như vậy ta có thể biểu diễn điểm biên P
0
, P
1
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)
t
0

r

&
(0) = (V
2
- V
0
) /2 (3.12c)
t
1

r
&
(0) = (V
3
- V
1
) /2 (3.12d)
hay dưới dạng ma trận:


KR
V
V
V
V
t
t
P
P
S ≡



























=














3
2
1
0
1
0
1
0
3030
0303
1410
0141
6
1


Thay kết quả trên vào phương trình đường cong Ferguson (3.5) để đạt được
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
0303

0141
6
1
N



Tương tự như đường cong Bezier ta có thể biểu diễn đường cong B-spline đều
bậc 3 bởi hàm kết nối B-spline đều
)(
3
uN
i
:


=
==
3
0
3
)()()(
i
ii
VuNRUNur (3.14)

trong đó:
6/)331()(
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
V
3
V
0
M
1
M
0
P
0
P
1
r(u)

t
1
t
0
Hình 3.3 - Đường cong B-spline đều bậc 3

C3 CAD-CAM>MHHCACTTHH 8 GVC NGUYỄN THẾ TRANH

1. Hàm cơ sở B-spline.

Xét hàm vô hướng đệ qui
)(tL
n

i
đượ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
i
ini
i
n
i

+
++
+

−+


+


=
(3.15)
trong đó:

khác t các
],,[
,0
,1
)(
1
1
+





=
ii
i
ttt
tL
1+
<
ii
t
t


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
1
2
tL
tt
tt
tL
tt
tt
tL
i
ii
i
i
ii
i
i +
++
+
+


+


=










−−


=
++
+
+++
+
khác t các
],[
],[
,0
),/()(
),/()(
21
1
122
1
ii
ii
iii
iii
ttt
ttt

tttt
tttt


Để đơn giản các phép tính đại số ta sử dụng toán tử vi phân

để biểu diễn khoảng
cách giữa các điểm nút:

)(
1 iii
tt −=∇
+
(3.16a)

)(
1 ikikii
k
i
tt

+

+
+∇=∇
+−+
(3.16b)
Sử dụng toán tử vi phân

, hàm Cox-deBoor với n = 2 có giá trị:









∇−


==
++
+
++
khác t các
],[
],[
,0
,/)(
,/)(
)(
21
1
12
2
ii
ii
ii
ii

i
ttt
ttt
tt
tt
tL
Với n = 3, ta có:

)(
)(
)(
)(
)(
2
1
2
3
2
2
3
tL
tt
tL
tt
tL
i
i
i
i
i

i
i +
+


+


=









∇∇−
∇∇∇−∇−∇∇−
∇∇−
=
+++
+++
0
),/()(
),/()()/()(
),/()(
2
2

1
2
3
1
2
1
2
1
322
22
iii
iiiiiiii
iii
tt
tttt
tt

],[
],[
],[
32
21
1
++
++
+



ii

ii
ii
ttt
ttt
t
t
t
(3.17)

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+

ii
ttt
được trình bày lại như sau:

)()(
33
]1[
tLtL
ii

với
)/()(],[
22
1 iiikiki
ttttt ∇∇

=

+−+




























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+

ii
ttt , bao gồm )(
3
]3[2
tL
i−
, )(
3
]2[1
tL
i−
, )(
3
]1[
tL
i−
.


)./()()(
2

1
2
1
3
]3[2 iiiii
tttL


−=
−+−


)/()/2()/(
2
1
22
1
2
1 −−−


+



+
∇∇=
iiiiii
uu (3.20a)


)(
2
0
uN≡ với 10


u

t
t
t
t
)(
1
tL
i
)(
2
tL
i
)(
3
tL
i
)(
4
tL
i
t
i

t
i+1
t
i+2
t
i+3
t
i+4
Hình 3.4 - Hàm cơ sở B-s
p
line khôn
g
đều
C3 CAD-CAM>MHHCACTTHH 10 GVC NGUYỄN THẾ TRANH

)/()()./()()(
1
223
11
2
1
2
1
3
]2[1 −−−−−−









−=
iiiiiiiii
tttttL















+∇∇+∇∇=

−−
−−−
2
3
1
2
11

22
1
2
11
)/()/(
i
i
i
i
i
i
iiii
uu (3.20b)

)(
2
1
uN≡
với
10


u



)./()()(
223
]1[
iiii

tttL



=



)./()(
22
iii
u


∇=
(3.20c)

)(
2
2
uN≡ với 10


u













2. Đường cong B-spline không đều.

Với chuỗi điểm 3D cho trước {P
j
} và hàm cơ sở B-spline (bậc 2) )(
3
tL
j
(3.17)
trên miền tham số
],[
1+

ii
ttt , ta thiết lập hàm vectơ:


−=
+
∈=
i
ij
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
jj
tLPtr
2

3
)()( với ],[
1+

ii
ttt

)()()(
33
11
3
22
tLPtLPtLP
iiiiii
+
+=
−−−−
với ],[
1+

ii
ttt (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
trong đó:
[]
2
1 uuU = ;
[
]
T

VVVR
210
=
t
i-2
t
i+1
t
i-1
t
i
t
i+2
3
1+i
L
t
i+3
3
]2[1−i
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
i
ii
iiii
iiii
q
N :


)(
1 iii
tt −=∇
+

;
,
1
2
+

+

=

iii

và đường cong (3.22) được gọi là đường cong NUBRS bậc 2.

Khảo sát giá trị của hàm kết nối B-spline không đều bậc 2, ta có thể rút ra kết
luận: đường cong NURBS bậc 2 được hỗ trợ bởi 6 điểm nút t
i-2
đến t
i+3
, ngay cả khi
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
ij
jj
tLPtr
3
4
)()( với ],[
1+

ii

ttt (3.23)

r(u)R ≡=
c
UN với
]1,0[

u


3. Trường hợp đặc biệt của đường cong NURBS.

Qua khảo sát ta thấy rằng đường cong NURBS bậc 3 (3.23) có dạng tương tự
như đường cong B-spline đều bậc 3 (3.13), nhưng ma trận hệ số N
c
không phụ thuộc
vào khoảng cách giữa các điểm nút. Do vậy với cùng tập hợp đỉnh điều khiển, ta có thể
đạt được hình dáng đường cong khác nhau bằng cách thay đổi khởng cách giữa các
đ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
= t
i+2
= t
i+3
= 1
Từ đó ta có khoảng cách giữa các điểm nút tương ứng có giá trị như sau:

i
= 1; ∇
j
= 0, với mọi ij



Điều này làm cho ma trận hệ số B-spline không đều bậc 3 N
c
(3.23) biến đổi
thành ma trận hệ số M của đường cong Bezier bậc 3 (3.8).
Ma trận hệ
số B-spline
không đều
bậc 2

C3 CAD-CAM>MHHCACTTHH 12 GVC NGUYỄN THẾ TRANH

Vậy cả 2 đường cong B-spline đều và Bezier chỉ là trường hợp đặc biệt của
dường cong NURBS.

3.1.5. ĐƯỜNG CONG HỮU TỶ.

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

Vectơ R(u) được gọi là vectơ đồng nhất và thành phần của chúng trở thành toạ
độ đồng nhất của điểm 3D (r(u)). Ta có thể chuyển đổi (X, Y, Z, h) thành (X/h, Y/h,
Z/h, 1) tức là thành (x, y, z, 1). Sự chuyển đổi này gọi là sự chuẩn hoá. Ý nghĩa hình
học của sự chuẩn hoá là vectơ 4D được chiếu lên mặt phẳng h = 1 trong không gian 4
chiều.

Như vậy vectơ đồng nhất (x, y, z, 1) và (hx. hy, hz, h) biểu diễn cùng một điể
m
3D (x, y, z) nếu
0≠h
. Theo mô hình hữu tỷ mõi dỉnh điều khiển V
i
(x

i
, y
i
, z
i
) được
định nghĩa như đỉnh điều khiển đồng nhất:
H
i
= (w
i
x
i
, w
i
y
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
0
2
)())(),(),(()(
i
ii
VuBuzuyuxur
, với 10 ≤≤ u (3.10b)
đặt :
)1,,,(
iii
h
i
zyxV = , với i = 0, 1, 2.


Ta chuyển đổi đường cong Bezier bậc 2 này thành dạng hữu tỷ.
C3 CAD-CAM>MHHCACTTHH 13 GVC NGUYỄN THẾ TRANH
Sử dụng H
i
để biểu diển đỉnh điều khiển đồng nhất của V
i
, sao cho:

),,,(
iiiiiii
h
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
= 0 và u = 1.

Đặt r
h
(u) là phương trình đồng nhất chuẩn tắc như sau:
r
h
(u) = R(u)/h(u) = (x(u), y(u), z(u), 1) (3.27)

Lấy đạo hàm phương trình trên theo u ta có:


)(/)())(/())()(()(
2
uhuRuhuhuRur
h
&
&
&
−−= (3.28)

Cụ thể đối với đường cong Bezier bậc 2 ta có:

0
1
01
).(2)0(
w
w
VVr
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).














Phương trình Bezier đồng nhất (3.26) được biểu diễn dưới dạng thành phần
đồng nhất như sau:

))(),(),(),(()( uhu
Z
u
Y
uXuR =


(
)

∑∑∑∑
= ===
2
0
2
0
2
2
0
2
2
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
0


V
2


V
1


r(u)

a.

t
1
=2(w
1

/w
2
)((V
2
-V
1
)

V
0


V
2


V
1


r(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 14 GVC NGUYỄN THẾ TRANH
Và phương trình Bezier được biểu diễn ngắn gọn hơn dưới dạng hữu tỷ:
))(),(),(()( uzuyu
x
u
r
=


2
21
2
0
2
2
2110
2
0
)1(2)1(
)1(2)1(
uwuuwuw

VuwVuuwVuw
+−+−
+

+

=
(3.30)

(
)
(
)
∑∑
==
2
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.

3. Đường cong hữu tỷ bậc 3.

Ta có thể dễ dàng xác định mô hình hữu tỷ cho đường cong Bezier và B-spline
bậc cao hơn. Đường cong Bezier bậc 3 hữu tỷ có dạng đồng nhất tương tự như đường
cong Bezier chuẩn tắc (3.7):

R(u) = (X(u), Y(u), Z(u), h(u)) = U M H (3.31)

trong đó:
[
]
32
1 uuuU = ; H
i

= (w
i
x
i,
w
i
y
i
, w
i
z
i
, w
i
)














−−



=
1331
0363
0033
0001
M
;












=
3
2
1
0
H
H
H
H

H

V
i
(x
i
,y
i
,z
i
) : đỉnh điều khiển, w
i
: trọng số.
Dạng dồng nhất trên tương đương với dạng hữu tỷ sau:

(
)
(
)
∑∑
==
=
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
hay bằng máy quét toạ độ. Vấn đề cần giải quyết trong các bài toán này là thiết lập
đường cong tham số trơn láng r(t) từ chuỗi điểm {P
i
: i = 0, ,n}. Với cấu hình dữ liệu
điểm này, ta thường sử dụng mô hình đường cong phức hợp từ các đoạn cong liên kết
theo chuỗi.
C3 CAD-CAM>MHHCACTTHH 15 GVC NGUYỄN THẾ TRANH
Về mặt lý thuyết, để dựng đường cong phức hợp có thể sử dụng mô hình đường
cong bất kỳ như chương trước đã đề cập. Tuy nhiên mô hình đường cong Ferguson và
B-spline được sử dụng phổ biến nhất do các đặc điểm:
• Dễ sử dụng,
• Có hiệu suất tính toán cao,
• Có tính liên tục về toán học,
• Đạt được độ trơn láng thẫm mỹ
và độ đồng đều của đường cong.


Về cơ bản, giải quyết vấn đề dựng đường cong phức hợp là giải hệ phương
trình tuyến tính. Bằng cách đặt điều kiện liên tục bậc 2 tại mỗi điểm P
i
, chúng ta thiết
lập được hệ phương trình tuyến tính với các ẩn số là hệ số của phương trình đường
cong. Do vậy, để dựng đường cong phức hợp cần thiết phải có các điều kiện liên tục
thích hợp và giải được hệ phương trình tuyến tính.

Ở đây ta sẽ khảo sát phương pháp dựng hình theo các dạng mô hình sau:
a. Mô hình cấu hình dữ liệu điểm cách đều:
-
Đường cong bậc 3,
- Đường cong B-spline đều.
b. Mô hình cấu hình dữ liệu điểm không cách đều:
- Đường cong cát tuyến,
- Đường cong B-spline không đều.
c. Mô hình đường cong 2D:
- Theo cấu trúc cung đôi,
- Theo đường mặt cắt conic.

3.2.1. DỰNG ĐƯỜNG CONG TỪ CHUỖI ĐIỂM CÁCH ĐỀU.

1. Điều kiện liên tục tham số.

Xét 2 đoạn đường cong r
a
(u) và r
b
(u) (Hình 3.7) trên miền tham số ]1,0[∈u .
Để 2 đoạn đường cong kết nối với nhau, chúng phải thoả điều kiện liên tục vị

trí: r
a
(1) = P
1
= r
b
(0) (3.32a)
Đường cong phức hợp được gọi là liên tục bậc nhất (C
1
) nếu đạo hàm bậc nhất
của 2 đoạn đường cong tại điểm kết nối có giá trị như nhau:

)0()1(
1
ba
rtr
&&
==
(3.32b)
Đường cong phức hợp được gọi là liên tục bậc 2 nếu:

)0()1(
ba
rr
&&&&
= (3.32c)
Các điều kiện (3.32) được gọi chung là điều kiện liên tục tham số C
2
.










Giả thiết đường cong phức hợp đi qua 3
điểm cho trước P
0
, P
1
, P
2
với tiếp tuyến đầu
cuối t
0
, t
2
(Hình 3.7). Nếu vectơ tiếp tuyến t
1
tại
điểm kết nối cũng được cho trước ta có thể mô
tả mỗi đoạn đường cong như đường Ferguson.
Vì vậy ta sẽ xác định t
1
sao cho 2 đoạn đường
cong thoả điều kiện liên tục tham số C
2

tại
điểm kết nối P
1
, tức là cần xác định t
1
từ dữ liệu
cho trước (P
0
, P
1
, P
2
, t
0
, t
2
) và điều kiện liên tục
tham số C
2
.

P
0
t
0
P
2
P
1
t

1
r
b
(u)
r
a
(u)
Hình 3.7 - Điều kiện liên tục
tham số tại điểm kết nối
t
2
.
.
.
C3 CAD-CAM>MHHCACTTHH 16 GVC NGUYỄN THẾ TRANH

2. Dựng đường cong phức hợp bậc 3.
Đầu tiên ta sẽ xác định tiếp tuyến chung t
1
của 2 đoạn đường cong r
a
(u) và r
b
(u)
sao cho thoả điều kiện liên tục tham số C
2
(3.32).
Phương trình Ferguson cho 2 đoạn đường cong được biểu diễn như sau:
r
a

(u) = U C S
a
; r
b
(u) = U C S
b
(3.33)
trong đó:
[]
32
1 uuuU =
;













−−−
=
1122
1233
0100

0001
C


[]
T
a
ttPPS
1010
= ;
[
]
T
b
ttPPS
2121
=
Ta có:
[]
1010
1
a
42666200S)1( ttPPCSCUr
a
u
a
++−===
=
&&
&&

(3.34a)
[
]
2121
0
b
24660200S)0( ttPPCSCUr
b
u
b
−−+−===
=
&&
&&
(3.34b)
Kết hợp với điều kiện C
2
, ta có: t
1
=(3P
2
-3P
0
-t
0
-t
2
)/4 (3.35)
Xét trường hợp tổng quát, dựng đường cong liên tục C
2

đi qua chuỗi (n+1) điểm
{P
i
} (hình 3.8). Giả thiết tiếp tuyến đầu cuối t
0
, t
n
được cho trước. Đặt vectơ tiếp tuyến
tại điểm kết nối P
i
là t
i
, khi đó mỗi cặp đường cong kế cận r
i-1
(u) và r
i
(u) thoả phương
trình tuyến tính (3.36):

)(34
1111 −++−

=
+
+
iiiii
PPttt i=1, ,n-1 (3.36)
Ta có thể biểu diễn hệ phương trình trên dưới dạng ma trận:
A X = B
trong đó: A là ma trận hệ số cấp (n+1)x(n+1); X là vectơ ẩn của phương trình.









Sau khi sắp xếp các phương trình (3.36), ta có:































=























































−−


n
nn
nn
n
n
n
t
PP
PP
PP
PP
t
t
t
t
t
t
t
)(3
)(3
.
.
)(3
)(3

.
.
1100
1110
0111


1110
0111
0011
2
31
13
02
0
1
2
2
1
0
(3.37)
t
0
t
n
P
0
P
1
P

2
P
n-2
P
n-1
P
n
Hình 3.8 - Chuỗi điểm cần nội suy

C3 CAD-CAM>MHHCACTTHH 17 GVC NGUYỄN THẾ TRANH

Với vectơ tiếp tuyến t
i
, đường cong Ferguson r
i
(u) trên miền [P
i
, P
i+1
] được xác
định bởi:
r
i
(u) = U C S
i
, với i = 0, 1, ,n-1 (3.38)
trong đó: S
i
= [P
i

, P
i+1
, t
i
, t
i+1
]
T

U và C được định nghĩa theo (4.2).

Trong thực tế, hầu hết các trường hợp tiếp tuyến đầu cuối t
0
, t
n
không được cho
trước. Do vậy ta có thể xác định tiếp tuyến đầu cuối theo một trong các điều kiện sau:
a. Điều kiện biên tiếp tuyến đường tròn.
b. Điều kiện biên đa thức.
c. Điều kiện biên tự do.

Điều kiện biên tiếp tuyến vòng tròn.













Có thể nhận thấy rằng vectơ chưa biết r = Q-P
0
được xác định bởi:

)c}/(2)()(a{
222
acbcbr ×+×=
(3.40)

Điều kiện biên đa thức.

Tiếp tuyến đầu cuối t
0
, t
n
được xác định bằng cách dựng đường cong đa thức
chuẩn tắc qua các điểm biên ( 3 hoặc 4 điểm). Tiếp tuyến
)0(
0
rt
&
=
.

Điều kiện biên tự do.
Giả thiết rằng độ cong tại các điểm P

0
, P
n
bằng 0. Điều kiện này tương ứng với
trạng thái khi đường cong phức hợp không bị ảnh hưởng bởi điều kiện ngoại vi nào tại
các điểm biên:

0)0( =
r
&&
; 0)1(
1
=
−n
r
&&

Theo điều kiện biên tự do, biểu thức (4.3a) và (4.3b) được biến đổi thành:

)(32
0110
PPtt

=+ ; )(32
11 −−

=
+
nnnn
PPtt

Hai phương trình tuyến tính này bổ sung vào hệ phương trình (3.37) để tạo
thành hệ (n+1) phương trình tuyến tính với (n+1) ẩn số: t
0
, ,t
n
:

Q
t
0
P
0
P
2
P
1
r

a

b

Hình 3.9 - Tiếp tuyến đường tròn

Dựng đường tròn qua 3 điểm đầu.
Đặt :
Q là tâm đường tròn cần dựng,
r là bán kính: r = Q-P
0
,

a=P
1
-P
0
, b=P
2
-P
0
, c = a x b.
Phương của tiếp tuyến t
0
sẽ vuông
góc với đoạn thẳng r = Q-P
0
và vectơ
c = a x b , ta có:

crcrat ××= /)(
0
(3.39)
C3 CAD-CAM>MHHCACTTHH 18 GVC NGUYỄN THẾ TRANH

































=
























































−−


)(3
)(3
)(3
.
.
)(3
)(3
)(3
.

.
2100
1410
0141


1410
0141
0012
1
2
31
13
02
01
1
2
2
1
0
nn
nn
nn
n
n
n
PP
PP
PP
PP

PP
PP
t
t
t
t
t
t
(3.41)

Kết luận:
Đối với phương pháp dựng hình này, không phụ thuộc vào điều
kiện biên, đường cong phức hợp bậc 3 bao gồm các đoạn đường cong
Ferguson và có thể chuyển đổi dễ dàng thành đường cong Bezier bậc 3.

3. Dựng đường cong phức hợp B-spline đều.
Xét phương pháp dựng đường cong phức hợp trơn láng đi qua chuỗi điểm {P
i
:
i=0, ,n} sử dụng mô hình đường cong B-spline đều (3.13). Đường cong kết quả bao
gồm nhiều đoạn đường cong B-spline đều bậc 3 kết nối theo điều kiện liên tục C
2
.
Ví dụ nếu gán thêm điểm điều khiển
b
V
3
cho đoạn đường cong B-spline đều trên
Hình 3.3, chúng ta sẽ có đoạn đường cong mới (Hình 3.10). Phương trình của 2 đường
cong có dạng:


r
a
(u) = U N R
a
; r
b
(u) = U N R
b
(3.42)

trong đó: U = [1 u u
2
u
3
]













−−



=
1331
0363
0303
0141
6
1
N
;












=
a
a
a
a
a
V

V
V
V
R
3
2
1
0
;












=
b
b
b
b
b
V
V
V

V
R
3
2
1
0














ba
VV
01
=
ba
VV
12
=

ba

VV
23
=

a
V
0

M
1
M
0
P
0
r
a
(u)

b
V
3

t
0
Hình 3.10 - Dựng đường cong B-spline đều phức hợp

r
b
(u)


C3 CAD-CAM>MHHCACTTHH 19 GVC NGUYỄN THẾ TRANH



Ta thấy rằng các đỉnh điều khiển của 2 đường cong trùng nhau:
ab
VV
10

;
ab
VV
21

;
ab
VV
32


Bằng cách xây dựng đường cong theo biểu thức (4.11), dễ dàng thấy rằng:

6/)4()0(6/)4()1(
210321
bbbbaaaa
VVVrVVVr
+
+
=


++= (3.43)
và các đạo hàm của chúng sự bằng nhau.

Theo điều kiện liên tục C
2
, ta có:

)1()0(
ab
rr = ; )1()0(
ab
rr
&&
=
; )1()0(
ab
rr
&&&&
=
(3.44)
Như vậy vấn đề dựng đường cong B-spline đều phức hợp từ chuỗi (n+1) điểm
{P
i
: i=0,1, ,n} tương đương với việc xác định (n+3) đỉnh điều khiển {V
i
:
i=0,1, ,n+2}. Từ điều kiện liên tục vị trí (4.12) ta có:
V
i
+4V

i+1
+V
i+2
= 6P
i
, với i = 0,1, ,n (3.45)

• Khi tiếp tuyến đầu cuối được cho trước ta có thêm 2 phương trình:


)1(22
)0(22
1
2
0
002

+
≡=−

=

n
nnn
rtVV
rtVV
&
&
(3.46)
Giải hệ phương trình (4.14) và (4.15) để xác định các đỉnh điều khiển V

i
. Hệ
phương trình tuyến tính theo điều kiện biên được biểu diễn dưới dạng ma trận:


























=

























































+
+
n
n
n

n
n
n
t
P
P
P
P
t
V
V
V
V
V
V
2
6
6
.
.
6
6
2
.
.
1010
1410
0141



1410
0141
0101
1
1
0
0
2
1
2
1
0
(3.47)

• Nếu tiếp tuyến đầu cuối không được cho trước ta có thể xác định theo
điều kiện biên tiếp tuyến đường tròn hoặc điều kiện biên đa thức. Theo điều kiện biên
tự do để đơn giản ta có thể cho độ cong tại 2 điểm biên của đường cong phức hợp bằng
0, nên ta nhận được hệ phương trình tuyến tính với (n+3) ẩn số:

C3 CAD-CAM>MHHCACTTHH 20 GVC NGUYỄN THẾ TRANH



























=

























































+
+
0
6
6
.
.
6
6
0
.
.
1100
1410
0141


1410

0141
0011
1
1
0
2
1
2
1
0
n
n
n
n
n
P
P
P
P
V
V
V
V
V
V
(3.48)

Khi đỉnh điều khiển V
i
đã được xác định, đường cong B-spline đều bậc 3 qua

điểm {P
i
,P
i+1
} được biểu diễn bởi:

r
i
(u) = U N R
i
, với i = 0,1, ,n-1 (3.49)
trong đó:
[]
T
iiii
i
VVVVR
321 +++
=

Như vậy đường cong phức hợp bao gồm n đoạn đường cong xác định bởi (n+3)
đỉnh điều khiển {V
i
: i = 0,1, ,n+2}.

Trong cả 2 phép dựng hình chúng ta đều sử dụng điều kiện liên tục tham số C
2
,
tức là tại điểm kết nối P
i

ta sử dụng chung một vectơ tiếp tuyến t
i
cho cả 2 đoạn đường
cong:

)0()1(
1
1 ii
rtr
&&
=
=


Do vậy ta có thể suy ra rằng: đường cong phức hợp có thể là phẳng hoặc lồi khi
khoảng cách vật lý giữa các điểm dữ liệu không bằng nhau. Như thế nếu khoảng cách
vật lý không bằng nhau chúng ta phải sử dụng phương pháp khác.

3.2.2. DỰNG ĐƯỜNG CONG TỪ CHUỖI ĐIỂM KHÔNG CÁCH ĐỀU.

Khảo sát theo 2 dạng mô hình:
- Đường cong cát tuyến: dùng phương pháp dựng đường cong bậc 3
với hiệu chỉ
nh sao cho chiều dài cát tuyến được tính đến khi xác định
vectơ tiếp tuyến t
i
.
- Đường cong B-spline không đều: dùng phương pháp cho chiều dài
cát tuyến như là khoảng cách giữa các điểm nút.
Hai phương pháp này đều thích hợp trong việc dựng các đường cong phức hợp

trơn láng đi qua chuỗi điểm phân bố không đều.

1. Điều kiện liên tục hình học.

Hai đoạn đường cong kế cận r
a
(u) và r
b
(u) thoả điều kiện r
a
(1) = r
b
(0), được gọi
là liên tục tiếp tuyến, nếu thoả:

Trrrr
bbaa
== )0(/)0()1(/)1(
&&&&
(3.50a)
trong đó: T là vectơ tiếp tuyến đơn vị tại điểm kết nối.
C3 CAD-CAM>MHHCACTTHH 21 GVC NGUYỄN THẾ TRANH

Mối quan hệ trên được gọi là điều kiện hình học C
1
, hay được gọi tắt là điều kiện G
1
.
Nếu đặt :


1
)1( tr
a
=
&
;
α
=)1(
a
r
&


β
=)0(
b
r
&
;
α
β
ω
/
=

thì (4.19a) trở thành:

1
)1( tr
a

=
&
;
1
)0( tr
b
ω
=
&
(3.50b)
Cho r(u) là đường cong tham số chuẩn tắc. Đạo hàm của r(u) được tính như sau:

TdusddudTsdurdr
s
T
dudsdsd
r
dud
r
r
)/()/(/
)//()/(/
&&&&&
&&
+==

==


TskNsTsdsdTs

&&&&&&
+
=
+
=
22
)/(

Thực hiện tích vectơ với 2 đạo hàm trên:

kBrNTkskNsTsrr
3
32
)(
&&&&&&&
≡×=×=×
trong đó: B = T x N là vectơ pháp tuyến đôi của đường cong.
Do đó có thể biểu diễn độ cong của đường cong tham số r(u) bởi:

3
/)( rrrkB
&&&&
×= (3.51a)
Đường cong r
a
(u) và r
b
(u) liên tục theo độ cong tại điểm r
a
(1) = r

b
(0), nếu thoả
điều kiện:

33
)0(
)0()0(
)1(
)1()1(
b
bb
a
aa
r
rr
r
rr
&
&&&
&
&&&
×
=
×
(3.51b)
Suy ra:
))1(()/()0(
2 ab
rTrT
&&&&

×
=
×
α
β

Nghiệm của phương trình vectơ là:

)1()/()0(
2 ab
rr
&&&&
ω
β
= (3.52)
Mối quan hệ giữa các đạo hàm bậc 2 này được gọi là điều kiện liên tục hình học
C
2
hay được gọi tắt là điều kiện G
2
.

2. Dựng đường cong cát tuyến.










Cho r
a
(u) và r
b
(u) là 2 đợn đường cong Ferguson. Việc cần giải quyết là xác
định vectơ tiếp tuyến t
1
chưa biết tại điểm kết nối.
Giả sử t
1
là vectơ tiếp tuyến tại điểm cuối của đoạn cong r
a
(u):

)1(
1
a
rt
&
=
(3.53a)
Điều kiện liên tục G
2
yêu cầu vectơ tiếp tuyến tại điểm đầu của đoạn cong r
b
(u)
thoả điều kiện:
t

0
t
1
t
2
P
0
P
2
P
1
β

α

r
b
(u)
r
a
(u)
Hình 3.10-Đường cong cát tuyến
Ví dụ ta dựng đường cong
phức hợp trơn láng qua 3 điểm P
0
,
P
1
, P
2

với vectơ tiếp tuyến đầu cuối
t
0
, t
2
(Hình 3.10) theo mô hình
Ferguson và điều kiện G
2
.
C3 CAD-CAM>MHHCACTTHH 22 GVC NGUYỄN THẾ TRANH

1
)0( tr
b
ω
=
&
(3.53b)
Theo phương pháp dựng đường cong cát tuyến, độ lớn của vectơ tiếp tuyến tại
điểm kết nối được đặt bằng chiều dài cát tuyến:

01
PP

=
α
;
12
PP


=
β

Do vậy tỷ số độ lớn của các vectơ trở thành tỷ số chiều dài cát tuyến. Điều kiện
G
2
được viết lại như sau:

)1()0(
2 ab
rr
&&&&
ω
= (3.54)
trong đó:
0112
/ PPPP


=
ω


Viết lại phương trình Ferguson cho đường cong r
a
(u) và r
b
(u) :
r
a

(u) = U C S
a
(3.55a)
r
b
(u) = U C S
b
(3.55b)
trong đó:

[]
32
1 uuuU =
;













−−−
=
1122

1233
0100
0001
C


[]
T
a
ttPPS
1010
= ;
[
]
T
b
ttPPS
1021
ω
=

Sau khi tính đạo hàm bậc 2 của các biểu thức (3.55) ta có thể xác định được t
1

theo điều kiện G
2
:

)4266()2466(
1010

2
2121
ttPPttPP +
+

=

−+−
ω
ω
(3.56)

Xét trường hợp tổng quát: dựng đường cong đi qua (n+1) điểm thoả điều kiện G
2
.
Cho trước:
Chuỗi điểm 3D : {P
i
: i = 0,1, ,n}
Vectơ tiếp tuyến biên : t
0
, t
n
Xác định:
Hệ số tỷ lệ cát tuyến:
}1, ,2,1:
1
/
1
i

{ −=

−−
+
= ni
i
P
i
P
i
P
i
P
ω
với ω
0
= 1.
Tiếp tuyến : {t
i
: i = 1,2, ,n-1}

Cho r
i
(u) là đoạn dường cong Ferguson trên miền [P
i
, P
i+1
], được biểu diến:
r
i

(u) = U C S
i
(3.57)
trong đó:

[]
T
iiiii
i
ttPPS
11 ++
=
ω


1, ,2,1:
1
/
1
i
,1
0
−=

−−
+
== ni
i
P
i

P
i
P
i
P
ωω

Tại mỗi điểm kết nối P
i
, điều kiện G
2
được biểu diễn bởi:

)1()()0(
12 −
=
i
i
i
rr
&&&&
ω

Ta có thể suy ra được (n-1) phương trình tuyến tính dạng:
C3 CAD-CAM>MHHCACTTHH 23 GVC NGUYỄN THẾ TRANH
})1(3{P})1(2{
1
22
1i11
2

1-i −++−


+
=
+
++
iiiiiiiiii
PPttt
ω
ω
ω
ω
ω
ω
(3.58)
Giả thiết rằng biết trước t
0
và t
n
, hệ phương trình trên có thể biểu diễn dưới
dạng ma trận:














































=


+
−−−
+
+
n
t
n
b
b
b
t
n
t
n
t
t
t
t
nnnn
1
.

2
1
0
1
.
2
1
0
100
1
2
1
2
1
2
2
12


1
2
2
2
2
2
2
21
0
01
2

1
2
1
2
2
1
00
01
ωωωω
ωωωω
ωωω


Trong đó:
})1({P3
1
22
1i −+


+
=
iiiii
PPb
ω
ω


Phương trình trên có thể biến đổi thành phương trình bậc 3 (3.37) khi ω
i

= 1
hay một cách khác đường cong cát tuyến trở thành đường cong bậc 3 nếu như tất cả
cát tuyến bằng nhau.

3. Dựng đường cong phức hợp B-spline không đều.

Xét phương pháp dựng đường cong NUBS trơn láng đi qua chuỗi điểm 3 D.
Trên hình (4.6) minh hoạ đường cong phức hợp tạo bởi n đoạn đường cong NUBS bậc
3 { r
i
(u) : i = 0,1, ,n-1} định nghĩa bởi:
a.
(n+3) đỉnh điều khiển,
b.
(n+4) bước nút.
Ta có bài toán dựng hình:

Cho trước:
Chuỗi điểm 3D : {P
i
: i = 0,1, ,n}
Vectơ tiếp tuyến biên : t
0
, t
n

Hãy xác định:
Bước nút : {∇
i
: i = -2, -1, ,n+1}

Đỉnh điều khiển : {V
i
: i = 0,1, ,n+2}

Giải thuật bài toán tương tự như giải thuật dựng đường cong B-spline đều.
Bước đầu tiên cần thực hiện là xác định bước nút ∇
i
.
Có n giá trị bước nút hỗ trợ ∇
0
, ,∇
n-1
(Hình 4.6) có thể được được lựa chọn
bằng chiều dài cát tuyến tương ứng:

iii
PP −=∇
+1
: i = 0, ,n-1 (3.59a)
những giá trị còn lại được gọi là bước nút mở rộng, chúng không ảnh hưởng tới chất
lượng của đường cong có thể đặt bằng 0 hoặc lấy giá trị như nhau:

-2
= ∇
-1
= ∇
n+1
= ∇
n
= 0 (3.59b)


-2
= ∇
-1
= ∇
0
; ∇
n+1
= ∇
n
= ∇
n-1
(3.59c)

Bước tiếp theo là thiết lập hệ phương trình tuyến tính cho các đỉnh điều khiển
chưa biết. Ta thiết lập phương trình cho mỗi đoạn cong (Hình 4.6) theo dạng đường
cong NURBS bậc 3:
C3 CAD-CAM>MHHCACTTHH 24 GVC NGUYỄN THẾ TRANH

i
R)(
i
c
i
UNur =

10


u

; i=0,1, ,n-1 (3.60)
trong đó: R
i
= [V
i
V
i+1
V
i+2
V
i+3
]
T


























∇∇

−−−
∇∇

+−
∇∇
∇∇
−−
∇∇

−−
∇∇

=
−−
−−

−−

−−
23

2
4344431111
2
1
3
1
2
331111
2
1
3
1
1
231111
2
1
3
1
2
1
1311
2
2
2
1
2
)(
)(
0
)(3

)3(3
0
3
)3(3
0
)(
1
)(
ii
i
ii
i
ii
ii
ii
i
ii
i
i
c
nnnnn
nnn
nnn
nn
N








∇∇∇++−=

)/()(
3
1
3
1
22
443343 iii
nnn

n
ij
: phần tử hàng thứ i, cột thứ j.
11

−++

+
+

+

=

kiii
k
i


Nếu đặt: h
i
= (1- f
i
- g
i
) ;
)/()(
3
2
2
1
2
−−



=
iiii
f
;
)/()(
3
1
2
1
2
1
−−−


∇∇
=
iiii
g


Qua các điều kiện ta có thể rút ra được hệ phương trình tuyến tính của đường cong
NURBS như sau:




























=




















































+
+

−−−
n
n
n
n
n
n
nnn
t
P
P
P
P
t
V
V
V
V
V
V
ghf
ghf
1
1
0
0
2
1
2
1

0
111
111
.
.
.
.
330.
100.
.


0
0001
0033
(3.61)


3.3. MÔ HÌNH MẶT LƯỚI

Về hình học, nói chung mặt tạo hình của các loại hình thể có cấu trúc đa hợp
hình thành bởi sự liên kết các mặt tạo hình cơ sở.

Mỗi dạng mặt cơ sở được thiết lập theo qui luật riêng nhưng có cùng đặc điểm
chung là có cấu trúc phức hợp từ các phần tử hình học dạng ô lưới mà ta gọi qui ước là
mặt lưới.
C3 CAD-CAM>MHHCACTTHH 25 GVC NGUYỄN THẾ TRANH


3.3.1. MÔ HÌNH MẶT LƯỚI ĐA THỨC THAM SỐ.



Mô hình này được sử dụng chủ yếu trong mô hình hoá mặt cong phức hợp từ
ma trận điểm, trong đó mô hình Ferguson, Bezier và B-spline được sử dụng phổ biến
nhất.
Một cách tổng quát có 5 dạng mô hình mặt lưới đa thức tham số bậc 3 sử dụng
phổ biến trong mô hình hoá mặt cong từ dữ liệu điểm 3D tương ứng với các mô hình
đường cong đã khảo sát:


a. Đường cong đa thức chuẩn tắc : r(u) = U A
b. Đường cong Ferguson : r(u) = U C S
c. Đường cong Bezier : r(u) = U M R
d. Đường cong B-spline : r(u) = U N R
e. Đường cong B-spline không đều: r(u) = U N
c
R

1. Mô hình mặt lưới đa thức chuẩn tắc.

Mặt lưới đa thức chuẩn tắc bậc 3 kép được định nghĩa như sau:

∑∑
==
=
3
0
3
0
),(

ij
ji
ij
vudvur
; với 1,0


vu (3.62a)
hay dưới dạng ma trận:
r(u,v) = U D V
T
(3.62b)
trong đó: r(u,v) là đa thức vectơ bậc 3 trên miền tham số (u,v).

U = [1 u u
2
u
3
]; V = [1 v v
2
v
3
]















=
33323130
23222120
13121110
02020100
dddd
dddd
dddd
dddd
D
: Ma trận hệ số đa thức.

Ví dụ ta có thể sử dụng mô hình này để thiết lập mặt cong trơn láng nội suy qua
(4x4) dãy điểm 3D {P
ij
; i =0, ,3; j = 0, ,3} (Hình 3.11):













v
u
P
00
P
10
P
03
P
02
P
01
P
20
P
30
P
11
P
12
P
13
P
21
P

22
P
23
P
31
P
32
P
33
Hình 3.11 - Mặt lưới đa thức chuẩn tắc bậc 3 kép

Đặt giá trị tham số tại các
điểm góc lưới:

P
00
: u = v = 0
P
03
: u = 0 , v = 1
P
30
: u = 1 , v = 0
P
33
: u = 1 , v = 1

Gía trị tham số tại các điểm
khác lấy theo chiều dài cát
tuyến:

×