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

Viết chương trình vẽ hoàn thiện tuyến hình tàu thủy, chương 6 docx

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 (217.88 KB, 12 trang )

Chương 6:
Tích phân bằng phương pháp số
Trong số rất nhiều phương pháp số, công thức tính toán của
Milne đưa ra kết quả tốt hơn khi áp dụng cho ngành đóng tàu.
)()()()(
332211
3
1
xfaxfaxfadxxf
x
x



(2.2.6)
Trong đó các hệ số a
1
, a
2
, a
3
tính theo giá trị của toạ độ x
1
, x
1
, x
1
đo
trên trục Ox.










)(62
1
)(
23
13
133
xx
xx
xxa

(2.2.7)
))((6
2313
13
2
xxxx
xx
a



32131
aaxxa 

Qua cách phân tích ở trên, có thể chỉ ra rằng, các phương pháp
tính tích phân trên đây đều dựa v
ào các biểu thức tính gần đúng với
độ chuẩn xác không cao, các phép hiệu chỉnh đối với những khu
vực có độ cong thay đổi nhiều thường rắc rối và mang lại kết quả
không chính xác, phần nhiều còn mang tính ước lượng và cảm
tính. Qua việc sử dụng phương pháp hình thang như một công cụ
trong bài toán hàm hóa, kết quả đạt được rất kém(Kết quả phân
tích sai số đã chỉ ra ở đề tài NCKH của cùng tác giả), cần có một
phương pháp tốt hơn để tính các yếu tố đường h
ình.
2.3 Cơ sở lý thuyết về mô hình đường cong và thuật toán
Spline.
2.3.1. Gi
ới thiệu về mô hình đường cong.
Sự cần thiết phải biểu diễn đường cong và bề mặt là do các
đối tượng tồn tại dưới dạng các mô hình đã cho như ô tô, tàu thuỷ
… và trong mô hình hỗn hợp, trong đó các đối tượng vật lý không
tồn tại dưới dạng mô hình. Trong trường hợp thứ nhất không thể
mô tả bằng toán học của đối tượng. Ta có thể sử dụng mô hình toạ
độ điểm của đối tượng, nhưng cách tiếp cận n
ày khó thực hiện đối
với máy máy tính vì khả năng lưu trữ có hạn. Ta thường xấp xỉ đối
tượng bằng các phần mặ
t phẳng, hình cầu hoặc các bề mặt khác để
dễ dàng mô tả bằng một hàm toán học, và làm sao để các điểm
trong mô hình phải gần với vị trí của các điểm tương ứng của đối
tượng.
Trong trường hợp thứ hai, khi không có sự tồn tại trước đó
của đối tượng dưới dạng mô hình, người sử dụng tạo ra đối tượng

trong môi trường xử lý; do đó các đối tượng được biểu diễn một
cách chính xác. Để tạo ra đối tượng người sử dụng phải chỉnh sửa
đối tượng mô tả nó dưới dạng toán học, hoặc đưa ra một mô tả xấp
xỉ để đưa vào chương trình nào đó. Trong AUTOCAD, việc biểu
diễn bằng máy tính được sử dụng cuối cùng để thể hiện bề mặt vật
lý của đối tượng đã được mô tả dưới dạng lý thyết.
2.3.2. Thuật toán Spline
Thuật ngữ Spline xuất phát từ tính dễ uốn của kim loại được
người thiết kế
sử dụng để làm bề mặt máy bay, ô tô và tàu thuỷ.
Spline kim loại, trừ một vài loại đặc biệt, có bậc hai liên tục. Biễu
diễn toán học của những đường này, Spline bậc ba là các đa thức
bậc ba liên tục đến bậc nhất và bậc hai, nội suy (đi qua) các điểm
điều
khiển. Trường hợp tổng quát, một Spline N là một đa thức
liên tục từng đoạn bậc N có đạo hàm bậc N-1 tại mỗi nút.
Tuy nhiên, các hệ số của đa thức trong Spline bậc ba phụ
thuộc vào n điểm điều khiển; các phép tính của chúng liên quan
đến phép nghịch đảo ma trận có kích thước (n+1)x(n+1). Như vậy,
có hai diểm bất lợi sau: nếu di chuyển bất kỳ sẽ ảnh hưởng tới toàn
b
ộ đường cong; thời gian tính toán ma trận nghịch đảo lớn và khi
sinh đường cong sẽ chậm lại, khó cảm nhận được độ trơn của
đường cong.
Spline nói ở đây gồm các đoạn đường cong mà hệ số của đa
thức chỉ phụ thuộc vào một và điểm điều khiển. Đó là các điều
khiển cục bộ. Như vậy việc di chuyển một điểm cục bộ chỉ ảnh
hưởng đến một phần nhỏ của đường cong. Hơn thế nữa, thời gian
tính toán sẽ giảm đi rất nhiều.
Ứng dụng phương pháp Spline do Alberg J. đề xuất đã đem lại những thành tựu

quan trọng và rất được chú ý. Trong thực tế được ứng dụng rộng
rãi các Spline bậc ba g(x), hàm xấp xỉ được cho theo các điểm gián
đoạn từng đoạn [x
i-1
,x
i
], i=2,3,4,5,….,n+1, được viết tổng quát
dưới dạng:



3
0
)(
1, ,3,2),()()(
j
i
k
ji
nixxcxgxg (2.3 1)
Bi
ểu thức (2.3.1) đảm bảo liên tục đến bậc một và đạo hàm
b
ậc hai tại mọi điểm y
i
(x
i
) đồng thời nghiệm đúng các giá trị đó.
Thoả mãn điều kiện biên về đạo hàm bậc hai:
0)()(



bgag (2.3.2)
Spline (2.3.1) xác định trong phép tích phân:


h
a
ii
yxudxxuu )(,)]([)(
2
(2.3.3)
Đó chính là đặc điểm ưu việt của Spline bậc ba, nó cho phép,
trên tập hợp các điểm cho trước xác định đường cong có độ cong
nhỏ nhất.
Nếu các điểm được cho có thể bị sai lệch, thuật toán cho khả
năng làm trơn đường cong, trong khi đó h
àm g(x) phải được xác
định theo tích phân :
2
1
2
])([)]([)(
ii
h
a
n
i
i
yxupdxxuu 




(2.3.4)
Trong đó p
i
là một số dương nào đó.
Hàm (2.3.4) đi lân cận các điểm đã cho mềm mại hơn so với
hàm (2.3.3).
Trong trường hợp hàm hoá bề mặt cong cho trước qua một
tập hợp hữu hạn các điểm, cần giải quyết bài toán xấp xỉ về không
gian, về nguyên tắc không có gì khác so với xấp xỉ Spline phẳng.
Thuật toán Spline được sử dụng để tính toán các yếu tố hình
h
ọc phẳng, áp dụng để vẽ đường hình tàu thuỷ được xây dựng như
sau:
Hàm được chọn là hàm bậc ba, xấp xỉ theo các điểm gián
đoạn, được xác định tr
ên từng [x
i-1
,x
i
], I =1,2,3 … n, được viết tổng
quát như sau:
y
i
(z
i
) = a
i

+ b
i
x
i
+ b
i
x
i
2
+ b
i
x
i
3
; i = 1,2,3 n (2.3.5)
Bi
ểu thức (2.3.5) đảm bảo liên tục đến đạo hàm bậc nhất và
đạo hàm bậc hai tại mọi điểm Y
i
(x
i
) đồng thời nghiệm đúng các
giá trị đó.
Mỗi một đoạn đường cong được đi qua 2 điểm. Để đường
cong sau có điểm đầu ti
ên bắt đầu tại diểm giữa, có tiếp tuyến cùng
chi
ều và đảm bảo cong trơn liên tục với đường cong liền kề trước
nó thì:
y’

i-1(Aj)
= y’
i(Aj)
; j= 1,2,3…n-1. (2.3.6)
Để tốc độ thay đổi độ cong tại mọi điểm đều như nhau thì
yêu c
ầu đặt ra là hai đường cong liền kề phải liên tục bậc hai tại
điểm kết nối:
y’’
i-1(Aj)
= y’’
i(Aj)
; j= 1,2,3…n-1. (2.3.7)
Và đường cong đó phải nghiệm đúng tại những toạ độ đi qua
: y
i- 1(Aj)
= y
i(Aj)
.
V
ới đường cong đầu tiên, do không có điều kiện đầu vào là
điều kiện liên tục đến bậc hai với đường cong trước đó nên đường
cong này được hàm hóa qua 3 điểm. Điều kiện li
ên tục bậc hai
được thay bằng điều kiện nghiệm đúng tại điểm thứ 3. Tiếp tuyến
đầu tiên được xác định bằng cách đo trực tiếp:
y’
1
(A
0

) = k = tg(

) (2.3.8)
Như vậy với đường cong đầu tiên, hệ phương trình được xây
dựng như sau:
(2.3.9)

a
1
+ b
1
x
1
+ c
1
x
2
1
+ d
1
x
3
1
= y
1
(Đi qua điểm thứ nhất)
a
1
+ b
1

x
2
+ c
1
x
2
2
+ d
1
x
3
2
= y
2
(Đi qua điểm thứ hai )
a
1
+ b
1
x
3
+ c
1
x
2
3

+ d
1
x

3
3
= y
3
(Đi qua điểm thứ nhất )
b
1
+ 2c
1
x
1
+ 3d
1
x
2
1
= k (Đạo hàm bậc nhất tại
điểm thứ nhất)
Đường cong thứ 2 bắt đầu ở điểm thứ hai và liên tục bậc một,
bậc hai tại điểm đó, đường cong thứ 3 bắt đầu từ điểm thứ ba và
liên t
ục tại điểm đó… Tổng quát, đường cong thứ i sẽ bắt đầu tại
điểm thứ i và liên tục tại điểm đó. Hệ phương trình xác định đoạn
đường cong qua hai điểm thứ i (A
i
) và thứ i+1(A
i+1
) là:



a
i
+ b
i
x
i
+ c
i
x
2
i
+ d
i
x
3
i
= y
i
(2.3.10)

a
i
+ b
i
x
i+1
+ c
i
x
2

i+1
+ d
i
x
3
i+1
= y
i+1
b
i
+ 2c
i
x
i
+ 3d
i
x
2
i
= b
i-1
+ 2c
i-1
x
i
+ 3d
i-1
x
2
i

2c
i
+ 6d
i
x
i
= 2c
i-1
+ 6d
i-1
x
i
Như vậy, với n điểm, ta có n -1 đường cong tương đương với
4(n-2) hệ số cần tìm. Với mỗi đường cong được xây dựng, ta có 4
điều kiện bi
ên, vậy ta có thể xây dựng 4(n-1) phương trình xác
định các đường cong đó, ma trận được xây dựng như sau: A.X = B
Với:
1 x
1
x
1
2
x
1
3
0 0 0 0 … 0
0 0 0
1 x
2

x
2
2
x
2
3
0 0 0 0 … 0
0 0 0
1 x
3
x
3
2
x
3
3
0 0 0 0 … 0
0 0 0
0 1 2x
1
3x
1
2
0 0 0 0 … 0
0 0 0
0 0 0 0 1 x
2
x
2
2

x
2
3
… 0
0 0 0
0 0 0 0 1 x
3
x
3
2
x
3
3
… 0
0 0 0
A = 0 0 0 0 0 1 x
2
x
2
2
… 0
0 0 0 0 0 0 0 0 0
1 x
2
… 0 0 0 0
………………………………………………………………
………
0 0 0 0 0 0 0 0 0 1
x
2

x
2
2
x
2
3
0 0 0 0 0 0 0 0 0 1
x
3
x
3
2
x
3
3
0 0 0 0 0 0 0 0 0 0
1 x
2
x
2
2
0 0 0 0 0 0 0 0 0 0 0
1 x
2
(2.3.11)
a
1
y
1
b

1
y
2
c
1
y
3
d
1
k
a
2
y
2
b
2
y
3
c
2
0
X = d
2
và B = 0
… …
a
n-1
y
n-1
b

n-1
y
n
c
n-1
0
d
n-1
0
Hình II.7

t
ả phương
Spline n-1
1
1
2
3
n
-
2
n
-
1
n
k
Spline 1
Spline 2
Spline n
Đường cong hàm hóa

Đường cong Spline
pháp phân chia các đoạn cong phần tử trong Spline
Hình II.8 Đường cong Spline và đường cong Hàm hoá vẽ trong
VB
Tuy nhiên, để tiện cho việc lập trình ta tiến hành lập trình
t
ừng đoạn cong một, như thế sẽ giải các hệ 4 phương trình một.
Theo đó, ma trận dùng cho đường cong thứ nhất l
à: A
1
.X
1
= B
1
Với :
1 x
1
x
1
2
x
1
3
a
1

y
1
A
1

= 1 x
2
x
2
2
x
2
3
; X
1
= b
1
; B
1
=
y
2
(2.3.12)
1 x
3
x
3
2
x
3
3
c
1

y

3
0 1 2x
1
3x
1
2
d
1

k
Ma tr
ận dùng cho các đướng cong tiếp theo là: A
i
= X
i
. B
i
1 x
1
x
1
2
x
1
3
a
1

y
i

A
i
= 1 x
2
x
2
2
x
2
3
; X
i
= b
1
; B
i
=
y
i+1
(2.3.13)
0 1 2x
1
3x
1
2
c
1
k1
i
0 0 2 6x

1
d
1
k2
i
Với: k1
i
= y’
i
(x) ; k2
i
= y”
i
(x) là đạo hàm bậc một và đạo hàm
b
ậc hai của đường cong Spline trước đó.
Giải hệ phương trình dưới dạng các ma trận trên ta thu được
các hệ số: a
1
, b
1
, c
1
, d
1
, a
2
, b
2
, c

2
, d
2
… a
n-1
, b
n-1
, c
n-1
,d
n-1
. Thay
các h
ệ số vào (2.3.5) ta được từng phương trình ứng với từng đoạn
cong Spline, tập hợp các đường cong này sẽ cho đường cong
Spline cong trơn liên tục cần t
ìm.

×