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
Trang 1Chươ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 )
n j
j i
ijx y c y
x g
Phương trình đa thức tường minh
r
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,
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:
Trang 2C3 CAD-CAM>MHHCACTTHH 2 GVC NGUYỄN THẾ TRANH
0 )
( )
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 : 2 1 0
2 2
x
2, Parabôn : y2 − ax 4 = 0
3, Hyperbôn : 2 1 0
2 2
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
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 ) ( )
- 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ố
Trang 33.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: P0, P1, t0, t1 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 + cu2 + du3
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:
d c b
a u u u u
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 { Pi: i = 1, ,4} theo phương pháp sau:
Đặt di là chiều dài cát tuyến giữa điểm Pi và Pi+1:
i i
r ( ) = ; 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:
r
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 P0 và P1.
b Tiếp tuyến đầu cuối t0 và t1
Trang 4C3 CAD-CAM>MHHCACTTHH 4 GVC NGUYỄN THẾ TRANH
Đường cong bậc 3 (3.2) thoả điều kiện biên P0, P1, t0, t1 chúng phải đảm bảo:
d c b r t
b r t
d c b a r P
a r P
3 2 ) 1 (
) 0 (
) 1 (
) 0 (
1 0 1 0
+ +
t P P
d c b
1 1 2 2
1 2 3
3
0 1 0 0
0 0 0 1
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 )
r = = , với 0 ≤ u ≤ 1 (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 t0 = t1 = P1 − P0 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- 3u2 +2u3)P0 + (3u2 - 2u3)P1 + (u - 2u2 + u3)t0 + (-u2 + u3)t1 (3.6)
3 1
3 2 0
3 1 0
1 ( )
0 ( )
1
(
1 ) 1 ( )
0 ( )
1 ( )
0
(
3 2
3 1
3 3
3
0
3 2
3 1
3 3
H H
H H
H H
( )
( )
2
3 1
3 2
3
1 j = H j = H j = H j =
H & & 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
Trang 53 Đườ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 V0, V1, V2, V3 (hình 3.2a) thoả điều kiện:
V0 là điểm đầu của đường cong,
V1 là vị trí 1/3 chiều dài trên vectơ tiếp tuyến đầu,
V2 là vị trí 2/3 chiều dài trên vectơ tiếp tuyến cuối,
V3 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:
V0 = P0 ; V1 = (V0 + t0/3) ; V2 = (V3 - t1/3) ; V3 = P1
Ngược lại, điều kiện biên Ferguson được biểu diễn theo đỉnh điều khiển Bezier
Vi là:
P0 = V0 ; P1 = V3 ; t0 = 3(V1-V0) ; t1 = 3(V3-V2) hay dưới dạng ma trận:
LR V
V V V
t t P
1 0 1 0
3 3 0 0
0 0 3 3
1 0 0 0
0 0 0 1
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 0 ≤ u ≤ 1 (3.8)
1
0 3 6 3
0 1 3 3
0 0 0 1
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ư
Trang 6C3 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 3 2
3 2 1
3 1 0
3 0) (
) ( )
( )
( )
(
) ( ) (
V u B
V u B V u B V u B V u B
R UM u
r
(3.9)
trong đó:
3 3
n
i n
n u
−
! )!
1 (
! )
r
0
) ( )
( , với 0 ≤ u ≤ 1 (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 ( n V1 V0
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 V0, ,V3 và các điểm M0, M1, P0, P1 với tính chất như sau: (Hình 3.3)
M0 là điểm giữa của đoạn thẳng V0V2 : M0= (V0+V2)/2
M1 là điểm giữa của đoạn thẳng V1V3 : M1= (V1+V3)/2
P0 là điểm 1/3 của đoạn thẳng V1M0 : P0= (2V1+M0)/3
P1 là điểm 1/3 của đoạn thẳng V2M1 : P1= (2V2+M1)/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 P0, P1 và tiếp tuyến t0, t1 theo đỉnh điều khiển như sau:
Trang 7P0≡r(0) = [4V1+(V0+V2) ]/6 (3.12a)
P1≡r(1) = [4V2+(V1+V3) ]/6 (3.12b)
t0≡ r&(0) = (V2 - V0) /2 (3.12c)
t1≡ r&(0) = (V3 - V1) /2 (3.12d) hay dưới dạng ma trận:
KR V
V V V
t t P
1 0 1 0
3 0 3 0
0 3 0 3
1 4 1 0
0 1 4 1 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:
1
0 3 6 3
0 3 0 3
0 1 4 1
( )
(
V u N R
UN u
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
Trang 8C3 CAD-CAM>MHHCACTTHH 8 GVC NGUYỄN THẾ TRANH
1 Hàm cơ sở B-spline
Xét hàm vô hướng đệ qui Ln(t )
i được định nghĩa theo chuỗi điểm không giảm {ti}:
) ( ) (
) (
) ( ) (
) ( )
1 1
1 1
1
t L t t
t t t
L t t
t t t
i i n i
i n
i i n i
i n
i
− + + +
], , [ , 0
, 1 )
) (
) ( ) (
) ( )
1 1 2
1 1
1
t t
t t t
L t t
t t t
i i
i i
i i
i
+ +
+
− +
+ +
+
khác
t các
] , [
] , [ ,
0
), /(
) (
), /(
) (
2 1
1 1
2 2
1
i i
i i i
i i
i i i
t t t
t t t t t t t
t t t t
Để đơ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:
+
khác
t các
] , [
] , [ ,
0
, / ) (
, / ) ( )
1 1
2
2
i i
i i i
i
i i
t t t t
t
t t t
L
Với n = 3, ta có:
) ( ) (
) ( ) ( )
1 2
3 2
+ + +
0
), /(
) (
), /(
) (
) /(
) (
), /(
) (
2
2 1
2 3
1
2 1
2 1 3
2 2
2 2
i i i
i i i i
i i
i i
i i i
t t
t t t
t
t t
] , [
] , [
] , [
3 2
2 1 1
+ +
+ + +
∈
∈
∈
i i
i i
i i
t t t
t t t
t t t
(3.17)
Trang 9Biể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]:
) ( ) (
] [ t L t
i
n k
i ≡ với t ∈ [ ti+k−1, ti+k] : k = 1 , 2 , , n (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
3 ] 1 [ t L t
] 3 [
2 t
Li− , 3 ( )
] 2 [
1 t
Li− , 3 ( )
] 1 [ t
Li−
) /(
) (
)
1
2 1
2 1
1 t
Li
)(
2 t
L i
)(
3 t
L i
)(
4 t
L i
t i t i+1 t i+2 t i+3 t i+4
Hình 3.4 - Hàm cơ sở B-spline không đều
Trang 10C3 CAD-CAM>MHHCACTTHH 10 GVC NGUYỄN THẾ TRANH
) /(
) ( )
/(
) (
)
1 1
2 1
2 1
∇
∇ +
1 1
2 2
1
2 1
1/ ) ( / ) (
i
i i
i i
i i
i i
2( )
1 u N
≡ với 0 ≤ u ≤ 1
) /(
) ( )
2( )
2 u N
≡ với 0 ≤ u ≤ 1
2 Đường cong B-spline không đều
Với chuỗi điểm 3D cho trước {Pj} và hàm cơ sở B-spline (bậc 2) L3j( t ) (3.17) trên miền tham số t ∈ [ ti, ti+1], ta thiết lập hàm vectơ:
r
3( ) : [ , ] )
r
2
3( ) )
( với t ∈ [ ti, ti+1]
( ) 3 ( ) 3( )
1 1
3 2
2L t P L t P L t
Pi i + i i + i i
= − − − − với t ∈ [ ti, ti+1] (3.22) ( ) ( ) 3 ( )
] 1 [ 2
3 ] 2 [ 1 1
3 ] 3 [ 2
2 1 1
2 0
t i-2 t i-1 t i t i+1 t i+2
3 1 +
i
L
t i+3
3 ] 2 [ 1
−
i
] 1 [
L
3 ] 3
−
i
] 3 [ 2
Trang 113 1 2
1 1
2 1
2 1
2 1
2 1 1
2 1
) / (
0 )
/ 2 ( )
/ 2 (
0 )
/ ( )
/ (
i
i i
i i
i i
i i
i
i i i
i
i i i
i q
∇
=
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 ti-2 đến ti+3, ngay cả khi miền tham số xác định là [ti, ti+1] (Hình 3.5) Tuy nhiên các điểm biên ti-2 và ti+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 ∇i−1, ∇i, ∇i+1 và 3 đỉnh điều khiển V0, V1, V2
Tương tự ta có đường cong NURBS bậc 3 có dạng như sau:
r
3
4( ) )
( với t ∈ [ ti, ti+1] (3.23) = UNcR ≡ r(u) với u ∈ [ 0 , 1 ]
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ố Nc 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 {ti} đượ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ừ đó ∇2i = 2, , ma trận hệ
số Nc 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ị:
ti-2 = ti-1 = ti = 0; ti+1 = ti+2 = ti+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:
Trang 12C3 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-u2)/(1+u2), 2u/(1+u2), 0/(1+u2))
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-u2), 2u, 0, (1+u2)) = (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 h ≠ 0 Theo mô hình hữu tỷ mõi dỉnh điều khiển Vi(xi, yi, zi) được định nghĩa như đỉnh điều khiển đồng nhất:
Hi = (wixi, wiyi,wizi,wi ) trọng số wi 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
( ), ( ), ( ( )
(
V u B u
z u y u x u
Trang 13Sử dụng Hi để biểu diển đỉnh điều khiển đồng nhất của Vi, sao cho:
) , , ,
h i i
( ), ( ), ( ), ( ( )
(
H u B u
h u Z u Y u X u
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 rh(u) là phương trình đồng nhất chuẩn tắc như sau:
rh(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ó:
) ( / ) ( ))
( /(
)) ( ) ( ( )
Cụ thể đối với đường cong Bezier bậc 2 ta có:
0
1 0
1 ).
( 2 )
0
(
w
w V V
2
1 1
2 ).
( 2 ) 1 (
w
w V V
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ệ w1/w0 và w1/w2 (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:
)) ( ), ( ), ( ), ( ( )
2 0 2 2
0 2 2
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
Trang 14C3 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ỷ:
)) ( ), ( ), ( ( )
2 1
2 0
2
2 2 1 1
0
2 0
) 1 ( 2 )
1 (
) 1 ( 2 )
1 (
u w u u w u
w
V u w V u u w V u
w
+
− +
−
+
− +
w u B
trong đó: Vi = (xi, yi, zi) : đỉnh điều khiển Bezier, wi : 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 wi = 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 đó: U = [ 1 u u2 u3]; Hi = (wixi, wiyi, wizi, wi)
1
0 3 6 3
0 0 3 3
0 0 0 1
H H H
H H
0
3( ) / ( ) )
(
i i i i
w u B V
w u B u
r
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 {Pi: 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
Trang 15Về 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 Pi, 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 ra(u) và rb(u) (Hình 3.7) trên miền tham số u ∈ [ 0 , 1 ]
Để 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í: ra(1) = P1 = rb(0) (3.32a)
Đường cong phức hợp được gọi là liên tục bậc nhất (C1) 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 b
r & = = & (3.32b) Đường cong phức hợp được gọi là liên tục bậc 2 nếu:
) 0 ( ) 1 ( b
r && = && (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ố C2 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
Trang 16C3 CAD-CAM>MHHCACTTHH 16 GVC NGUYỄN THẾ TRANH
1 2 3
3
0 1 0 0
0 0 0 1
C
a
t t P P
t t P P
) (
Sau khi sắp xếp các phương trình (3.36), ta có:
n n
n n n
t
P P
P P
P P
P P t
t t t
t t t
) (
3
) (
3
) (
3
) (
3
.
1 1 0 0
1 1 1 0
0 1 1 1
.
.
.
.
1 1 1
0
0 1 1
1
0 0 1
1
2
3 1
1 3
0 2 0
1 2
2 1 0
Trang 17Với vectơ tiếp tuyến ti, đường cong Ferguson ri(u) trên miền [Pi, Pi+1] được xác định bởi:
ri(u) = U C Si , với i = 0, 1, ,n-1 (3.38) trong đó: Si = [Pi, Pi+1, ti, ti+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 t0, tn 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-P0 được xác định bởi:
) c }/(2 ) ( ) ( a { 2 b c b2 c a 2
Điều kiện biên đa thức
Tiếp tuyến đầu cuối t0, tn đượ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 t0 = r & ( 0 )
Điều kiện biên tự do
Giả thiết rằng độ cong tại các điểm P0, Pn 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&& ; n− 1( 1 ) = 0
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:
) (
3
2 t0 + t1 = P1 − P0 ; 2 tn + tn−1 = 3 ( Pn − Pn−1)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ố: t0, ,tn:
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ó:
c r c r a
Trang 18C3 CAD-CAM>MHHCACTTHH 18 GVC NGUYỄN THẾ TRANH
3
) (
3
) (
3
) (
3
) (
3
) (
3
.
2 1 0 0
1 4 1 0
0 1 4 1
.
.
.
.
1 4 1
0
0 1 4
1
0 0 1
2
1 2
3 1
1 3
0 2
0 1
1 2
2 1 0
n n
n n
n n
n n n
P P
P P
P P
P P
P P
P P
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 {Pi : 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 C2
Ví dụ nếu gán thêm điểm điều khiển V3bcho đ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:
ra(u) = U N Ra ; rb(u) = U N Rb (3.42) trong đó: U = [1 u u2 u3]
1
0 3 6 3
0 3 0 3
0 1 4 1 6
V V V
V R
3 2 1 0
V V V
V R
3 2 1 0
b a
V
V1 = 0
b a
V
V2 = 1
b a