Tạp chí Khoa học – Công nghệ Thủy sản số 01/2007<br />
<br />
Trường Đại học Nha Trang<br />
<br />
VẤN ĐỀ TRAO ĐỔI<br />
<br />
THỬ TÌM KIẾM MỘT THUẬT TOÁN THIẾT KẾ CÁC MẶT CONG<br />
PGS.TS Nguyễn Quang Minh<br />
Khoa Cơ khí - Trường ĐH Nha Trang<br />
Trong bài báo đặt vấn đề tìm kiếm một thuật toán dùng vào mục đích thiết kế các mặt cong có thể cần thiết<br />
trong ứng dụng công nghệ cao CNC. Các kết quả bước đầu nhận được trên cơ sở phát triển nghiên cứu ứng<br />
dụng về hàm hoá bề mặt lý thuyết vỏ tàu thuỷ của chính Tác giả. Các ý kiến thảo luận làm rõ triển vọng áp dụng<br />
của ý tưởng đặt ra.<br />
1. TỔNG QUAN<br />
Bài toán thiết kế, thay vì xấp xỉ trong nghĩa<br />
trực tiếp một mặt cong đặt ra ở đây có ý nghĩa<br />
thực tế và cần thiết, thậm chí trong nhiều<br />
trường hợp cần đến như phương tiện quan<br />
trọng, chẳng hạn trong các lĩnh vực công nghệ<br />
cao CNC.<br />
Một mặt cong, một cách chung nhất, có thể<br />
xem như tập hợp các đường cong phẳng - tiết<br />
diện của chính mặt cong đó với các mặt phẳng<br />
(P) được lựa chọn phù hợp. Nếu vậy, một cách<br />
tự nhiên có thể nghĩ rằng thuật toán thiết kế<br />
mặt cong tốt nhất nên đưa từ mô hình toán<br />
không gian về mô hình biểu diễn toán học<br />
chính xác các đường cong phẳng. Đơn giản là<br />
vì một khi bài toán thiết kế một đường cong cho<br />
trên mặt phẳng (P) bất kỳ đã được giải quyết,<br />
toàn bộ mặt cong cho trước đương nhiên có<br />
thể nhận được bằng cách tịnh tiến hoặc quay<br />
hợp lý các mặt phẳng (P) đó.<br />
Theo cách tiếp cận trực tiếp như vậy, bài<br />
toán đặt ra về thuật toán thiết kế một mặt cong<br />
có thể giải quyết không mấy khó khăn, ứng<br />
dụng mô hình toán xấp xỉ quen thuộc, đó là mô<br />
hình bài toán điều kiện biên, cách giải quyết<br />
được thể hiện qua các bước gồm:<br />
- Chọn dạng hàm cơ sở<br />
<br />
52<br />
<br />
- Áp dụng mọi điều kiện biên và xác lập số<br />
lượng thích hợp các phương trình căn cứ<br />
theo các điều kiện đó<br />
- Giải hệ phương trình điều kiện biên và biện<br />
luận các kết quả<br />
Để có thể đạt các kết quả xấp xỉ mong<br />
muốn cần có số các điểm thuộc đường cong<br />
giữ vai trò các điều kiện biên đủ lớn.<br />
Hàm cơ sở thông thường được chọn dưới<br />
dạng đa thức luỹ thừa bậc n viết tổng quát như<br />
dưới đây:<br />
k =n<br />
<br />
x = ∑ ak y k<br />
<br />
(1)<br />
<br />
k =0<br />
<br />
và dạng chi tiết hoá:<br />
<br />
X =a0 +a1Y +a2Y2 +a3Y3 +a4Y4 +...+an−1Yn−1 +anYn (2)<br />
Với X,Y- là các toạ độ của các điểm cho<br />
trong hệ toạ độ lựa chọn XOY, k = 0, 1, 2, 3…,<br />
n-1, n.<br />
Dễ nhận xét rằng biểu thức (2) cùng lắm<br />
chỉ có thể dùng để tính toán gần đúng một hình<br />
cong mà ít hiệu quả trong các mục đích thiết kế<br />
đường cong đó.<br />
Phương pháp spline do Alberg. J. đề nghị<br />
nửa thế kỷ trước đây, được nghiên cứu áp<br />
dụng rộng rãi trên toàn thế giới nhằm khắc<br />
phục một phần nhược điểm của đa thức luỹ<br />
thừa (2) . Tuân theo nguyên tắc cơ bản đó là<br />
<br />
Tạp chí Khoa học – Công nghệ Thủy sản số 01/2007<br />
đường cong hàm hoá được chia làm nhiều<br />
đoạn ngắn, mỗi đoạn có thể xấp xỉ theo các<br />
hàm đơn giản, phổ biến nhất thường chọn<br />
parabol bậc 3 viết tổng quát như dưới đây:<br />
k '= 3<br />
<br />
x j = ∑ c j ',k ' ( y j − y j '−1 ) k '<br />
<br />
(4)<br />
<br />
k '= 0<br />
<br />
Trường Đại học Nha Trang<br />
Trong bài báo này chúng tôi giới thiệu một<br />
số kết quả phát triển từ nghiên cứu biểu diễn<br />
toán học bề mặt tàu thuỷ, vốn cũng là một vật<br />
thể có những đặc điểm riêng, hy vọng có thể<br />
áp dụng như giải thuật lập trình thiết kế và chế<br />
tạo chính xác một mặt cong theo từng mục<br />
đích cụ thể.<br />
<br />
với j = (j'-1), j', (j'+1)<br />
J' = 1, 2, 3,…, k-1<br />
Nhờ những lợi thế cơ bản của nó trong lập<br />
trình, phương pháp spline đang được ứng dụng<br />
trong nhiều lĩnh vực khoa học công nghệ và<br />
đem lại những thành tựu quan trọng. Mặc dù<br />
vậy, phương pháp spline xấp xỉ toán học các<br />
đường cong phẳng cũng không thể được đánh<br />
giá như một công cụ hiệu quả nhất trong các<br />
mục đích thiết kế nghiêm túc.<br />
<br />
2. MỘT SỐ KẾT QUẢ MỚI NGHIÊN CỨU XẤP<br />
XỈ CÁC ĐƯỜNG CONG PHẲNG<br />
Trên hình 1 minh hoạ mô hình toán lớp các<br />
đường cong phẳng 1a, 1b, 1c nằm trên mặt<br />
phẳng P trong quan hệ khác nhau đối với hệ<br />
toạ độ lựa chọn XOY. Tất cả các đường cong<br />
như vậy được cho bằng tập hợp các điểm rời<br />
rạc (Xi , Yi), i = 0, 1, 2, 3, 4, 5, …, n-1, n.<br />
<br />
O<br />
Hình 1 Sơ đồ các đường cong phẳng - đối tượng xấp xỉ toán học<br />
Về phương pháp, yêu cầu thiết kế các<br />
đường cong khác với chỉ đơn giản vẽ lại một<br />
đường cong cho trước là ở chỗ đòi hỏi, không<br />
chỉ áp dụng các điều kiện biên trong nghĩa<br />
thông thường, mà quan trọng hơn phải khai<br />
thác và áp dụng các điều kiện biên một cách<br />
hợp lý nhất, đảm bảo không chỉ tính phù hợp<br />
<br />
đối với từng trường hợp cụ thể, mà phải tiện lợi<br />
áp dụng đối với mọi đường cong thuộc lớp<br />
đang xét - đối tượng của bài toán xấp xỉ. Yêu<br />
cầu nói trên chỉ có thể là hiện thực nhờ việc sử<br />
dụng được các đặc điểm hình học quan trọng<br />
nhất được gọi là các yếu tố điều khiển.<br />
<br />
53<br />
<br />
Tạp chí Khoa học – Công nghệ Thủy sản số 01/2007<br />
Có thể chứng tỏ rằng tồn tại 4 yếu tố có<br />
chức năng điều khiển như vậy, được xem như<br />
tập hợp các điều kiện cần để thông qua đó thiết<br />
kế chính xác các đường cong, căn cứ vào các<br />
yêu cầu thiết kế khác nhau. Các yếu tố như vậy<br />
gồm có:<br />
• Toạ độ điểm đầu (X0, Y0)<br />
• Toạ độ điểm cuối (Xt, Yt)<br />
• Diện tích hình cong Dt được tạo bởi<br />
đường cong cho trước với trục<br />
Toạ độ X = 0, X = 0, và các đường thẳng<br />
Y = Yt, và X = Xt<br />
<br />
Trường Đại học Nha Trang<br />
cho phép chọn ra từ tập hợp các đường cong,<br />
nhận được trên cơ sở 3 điều kiện biên đầu tiên,<br />
chính xác đường cong phải tìm như một<br />
nghiệm duy nhất của bài toán thiết kế.<br />
Trên cơ sở các biểu thức (3), (5.1) ÷ (5.4)<br />
có thể dễ dàng thiết lập hệ 4 phương trình mô<br />
tả 4 điều kiện biên giữ vai trò như các yếu tố<br />
điều khiển, nghiệm của hệ các phương trình đó<br />
cho các hệ số ai thuộc biểu thức luỹ thừa bậc 3:<br />
<br />
X = X 0 + a1Y + a 2Y 2 + a 3Y 3<br />
được xác định theo các biểu thức sau đây:<br />
<br />
a1 =<br />
<br />
• Momen tĩnh Mox của diện tích nói trên ứng<br />
với trục hoành<br />
Thật vậy, giả sử kết quả xấp xỉ toán học<br />
chính xác một đường cong cho tương ứng<br />
như trên hình 1 tìm được dưới dạng một hàm<br />
liên tục:<br />
<br />
X = f (Y )<br />
<br />
f (Y0 ) = X 0<br />
<br />
(5.1)<br />
<br />
f ( X t ) = Yt<br />
<br />
(5.2)<br />
<br />
yt<br />
<br />
y0<br />
<br />
y0<br />
<br />
∫ Xdy = ∫ f (Y )dy = Dt<br />
<br />
yt<br />
<br />
và :<br />
<br />
∫ XYdy =<br />
<br />
y0<br />
<br />
(5.3)<br />
<br />
yt<br />
<br />
∫ f (Y )Ydy = M<br />
<br />
ox<br />
<br />
(5.4)<br />
<br />
y0<br />
<br />
Hiển nhiên các điều kiện (5.1) và (5.2) phải<br />
được đảm bảo đầu tiên.<br />
Điều kiện (5.3) đảm bảo để các đường<br />
cong hàm hoá được, tương ứng với các điểm<br />
đầu và cuối đã cho, tạo thành với trục tọa độ<br />
các hình cong có cùng một diện tích Dt.<br />
Điều kiện cuối cùng (5.4) chứa một ưu thế<br />
thiết kế đặc biệt rất cần được khai thác đó là<br />
<br />
54<br />
<br />
a2 = −<br />
<br />
1<br />
( X t + 32 Dt )<br />
7h<br />
<br />
(7)<br />
<br />
4<br />
× (8 Dt − 15Mx + X t )<br />
7h 2<br />
<br />
(8)<br />
<br />
20<br />
(6 Dt − 12 Mx + X t )<br />
7h 3<br />
<br />
(9)<br />
<br />
và a 3 =<br />
trong đó :<br />
<br />
Khi đó các biểu thức viết theo các điều kiện<br />
biên như mô tả ở trên có thể viết dễ dàng như<br />
dưới đây:<br />
<br />
yt<br />
<br />
(6)<br />
<br />
Dt =<br />
<br />
D − y0h<br />
Mx− y0h2 / 2<br />
; Mx=<br />
; h = yt − y0 (10)<br />
h<br />
h2<br />
<br />
Biểu thức (6) cùng với các biểu thức (7) ÷<br />
(10) tỏ ra rất đơn giản, có thể áp dụng để thiết<br />
kế các đường cong với các điều kiện được cho<br />
theo (4). Tuy nhiên những gì nói ở trên mới chỉ<br />
bao gồm các điều kiện cần tối thiểu. Để cho bổ<br />
sung các điều kiện “đủ”, đòi hỏi phải xác định<br />
các đặc điểm của hình cong giới hạn bởi<br />
đường cong - đối tượng hàm hoá, cho phép<br />
phân biệt nó với mọi đương cong cùng lớp còn<br />
lại, chẳng hạn đó là tính liên tục, tính biến<br />
thiên, góc tạo bởi các tiếp tuyến với đường<br />
cong vẽ tại nhiều điểm khác nhau, đặc biệt tại<br />
hai điểm đầu và cuối. Sau cùng và có lẽ cũng<br />
là quan trọng nhất đó là đường cong có bao<br />
nhiêu điểm uốn trong miền xác định [y0,yt].<br />
Chẳng hạn có thể nhận xét ngay rằng biểu<br />
thức (6) chỉ làm việc khi đường cong đối tượng<br />
hàm hoá cho trước chỉ có 1 điểm uốn, vì đạo<br />
<br />
Tạp chí Khoa học – Công nghệ Thủy sản số 01/2007<br />
hàm bậc 2 chỉ nhận giá trị bằng 0 tại một điểm<br />
duy nhất tại y ∗ = − a 2 / 3a 3<br />
Trong một số nghiên cứu ứng dụng có thể<br />
rất có lợi chọn hàm cơ sở dưới dạng hàm (1)<br />
<br />
x =<br />
<br />
k=n<br />
<br />
∑<br />
<br />
k =0<br />
<br />
Trường Đại học Nha Trang<br />
mở rộng, trong đó thay vì các giá trị nguyên các<br />
luỹ thừa có thể nhận các số thực dương bất kỳ,<br />
viết dưới dạng tổng quát:<br />
<br />
a k y mk ; m > 0 ; k = 1, 2 , 3 , 4 ,..., n<br />
<br />
(11)<br />
<br />
hoặc chi tiết:<br />
<br />
X = X 0 + a1Y m + a 2Y 2 m + a 3Y 3m + a 4Y 4 m + ... + a k −1Y k −1 + a k Y k<br />
Áp dụng chính các điều kiện biên đã xét ở<br />
trên theo (4), sau đó tiếp tục thực hiện các<br />
bước tính toán như đã trình bày, có thể dẫn<br />
đến đa thức luỹ thừa bậc 2m với m thực dương<br />
như dưới đây:<br />
<br />
X = X 0 + a1Y m + a 2Y 2 m<br />
<br />
(13)<br />
<br />
Thừa số luỹ thừa m và các hệ số có mặt<br />
trong biểu thức được ai có thể xác định theo<br />
các biểu thức<br />
<br />
− 1,5( A − 2 B ) ± 2,25( A − 2 B ) 2 − 2( A − B )( A − 4 B + Xt )<br />
m=<br />
2( A − B )<br />
a1 =<br />
<br />
(12)<br />
<br />
( m + 1)[( 2 m + 1) A + X 0 − X t ]<br />
mh m<br />
<br />
(14)<br />
<br />
(15)<br />
<br />
X t − X 0 − a1 h m<br />
a2 =<br />
h 2m<br />
<br />
(16)<br />
<br />
trong đó, ngoài các ký hiệu đã được chú thích ở trên các ký hiệu mới được dùng gồm:<br />
<br />
A=<br />
<br />
ω tt − X 0 h<br />
h<br />
<br />
(17)<br />
<br />
và<br />
<br />
B =<br />
<br />
m ω oytt − X 0 h 2 / 2<br />
h2<br />
<br />
Biểu thức (13) cùng với các biểu thức<br />
(14)÷(18) có thể sử dụng tiện lợi và hiệu quả<br />
hơn rất nhiều so với biểu thức (6), đặc biệt<br />
khi cần thiết giải ngược phương trình, tính Y<br />
theo X. Trong các trường hợp như vậy chỉ<br />
cần qua một vài phép biến đổi dẫn về dạng<br />
phương trình bậc 2 sử dụng các nghiệm giải<br />
sẵn quen thuộc.<br />
<br />
(18)<br />
Vì cố gắng tìm kiếm lời giải trên cơ sở các<br />
nghiệm của phương trình bậc 2, hiển nhiên<br />
rằng biểu thức xấp xỉ (13) chỉ làm việc khi m có<br />
nghiệm thực, điều đó có nghĩa biểu thức dưới<br />
dấu căn, viết ở vế phải của biểu thức (14)<br />
không âm, thực chất được hiểu như bộ phận<br />
đặc biệt trong số những gì được gọi là điều<br />
kiện đủ để xấp xỉ toán học các đường cong<br />
thuộc lớp đang xét, được viết như sau:<br />
<br />
55<br />
<br />
Tạp chí Khoa học – Công nghệ Thủy sản số 01/2007<br />
<br />
Trường Đại học Nha Trang<br />
<br />
2 , 25 ( A − 2 B ) 2 − 2 ( A − B )( A − 4 B + X t ) >= 0<br />
<br />
(19)<br />
<br />
Biểu thức (19) cho phép nhận đựơc các điều kiện đủ để xấp xỉ toán các đường cong như minh<br />
hoạ trên hình 1 bằng biểu thức dưới dạng đa thức luỹ thừa bậc 2m bao gồm:<br />
nếu:<br />
<br />
B > 2xt/ 3<br />
<br />
(20)<br />
<br />
hoặc nếu:<br />
<br />
B<<br />
<br />
− ( B − 2 xt ) − 4 xt − 6 B<br />
2X t<br />
;A<<br />
3<br />
0,5<br />
<br />
(20')<br />
<br />
và:<br />
<br />
B<<br />
<br />
− ( B − 2 xt ) + 4 xt − 6 B<br />
2X t<br />
;A><br />
3<br />
0,5<br />
<br />
(20'')<br />
<br />
Giả sử bây giờ nâng bậc đa thức luỹ thừa (13) lên bậc 3m bằng cách áp dụng thêm một điều kiện<br />
biên, chẳng hạn đó là hệ số góc tạo bởi tiếp tuyến với đường cong hàm hoá tại điểm cuối Y = Yt , Khi<br />
đó biểu thức xấp xỉ đối tượng tìm kiếm sẽ viết được dưới dạng:<br />
<br />
X = X 0 + a1 y m + a 2 y 2 m + a 3 y 3m<br />
<br />
(21)<br />
<br />
Trong đó thừa số luỹ thừa m có thể xác định như nghiệm của phương trình bậc 3 đủ:<br />
<br />
m 3 + 1,8333<br />
<br />
( A − 8B − 3 X 0 + 3xt − kh)<br />
( A − 2 B) 2 ( A − 4 B − X 0 + X t )<br />
m +<br />
m + 0,1667<br />
=0<br />
( A − B)<br />
( A − B)<br />
( A − B)<br />
<br />
(22)<br />
<br />
Các hệ số ai có mặt trong biểu thức (21) được xác định như sau:<br />
<br />
a3 =<br />
<br />
m(3m + 1)(<br />
<br />
kh<br />
+ X 0 − X t ) + (2m + 1)(3m + 1)[(m + 1) A + X 0 − X t ]<br />
m<br />
=<br />
2m 2 h 3 m<br />
<br />
(23)<br />
<br />
kh<br />
m(3m + 2)( + X 0 − X t ) + (2m + 2)(3m + 2)[(m + 2) B + X 0 − X t ]<br />
m<br />
2m 2 h 3 m<br />
<br />
kh<br />
+ X 0 − X t − 2a 3 h 3 m<br />
(2m + 2)(3m + 2)[(m + 2) B + X 0 − X t ]<br />
a2 = m<br />
=−<br />
+<br />
2m<br />
h<br />
m(3m + 2)h 2 m<br />
2m(2m + 2)a3 h<br />
m(3m + 2)h 3m<br />
<br />
3m<br />
<br />
và:<br />
<br />
=−<br />
<br />
(2m + 1)(3m + 1)[(m + 1) A + X 0 − X t ] + 2m(2m + 1)a3 h<br />
m(3m + 1)h 2 m<br />
<br />
X t − X 0 − a 2 h 2 m − a3 h 3m<br />
a1 =<br />
hm<br />
<br />
Hệ số góc tạo bởi tiếp tuyến tại điểm cuối<br />
(Xt,Yt) viết trong các biểu thức (22)÷(25) cũng<br />
mang ý nghĩa của các điều kiện “đủ” viết trong<br />
<br />
56<br />
<br />
(24)<br />
3m<br />
<br />
(25)<br />
các biểu thức (20), (20') và (20'') áp dụng cho<br />
biểu thức (13).<br />
<br />