intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Do Van Nga Te | Ngày: | Loại File: PDF | Số trang:12

149
lượt xem
26
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: Viết chương trình vẽ hoàn thiện tuyến hình tàu thủy, chương 6

  1. 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. x3  f ( x)dx  a x1 1 f ( x1 )  a 2 f ( x 2 )  a3 f ( x3 ) (2.2.6) Trong đó các hệ số a1, a2, a3 tính theo giá trị của toạ độ x1, x1, x1 đo trên trục Ox. 1 x  x1  a3  ( x3  x1 )   3   2 6( x3  x 2 )  (2.2.7) x3  x1 a2  6( x3  x1 )( x3  x 2 ) a1  x3  x1  a 2  a 3 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
  2. 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
  3. 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.
  4. Ứ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 [xi-1,xi], i=2,3,4,5,….,n+1, được viết tổng quát dưới dạng: 3 g ( x)  g i ( x)   c (jk ) ( xi  x), i  2,3,..., n  1 (2.3..1) j 0 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 yi(xi) đồ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: g (a )  g (b)  0 (2.3.2) Spline (2.3.1) xác định trong phép tích phân: h (u )   [u ( x)] 2 dx, u ( xi )  y i (2.3.3) a Đó 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 : h n 1 (u )   [u ( x)] 2 dx   pi [u ( xi )  y i ] 2 (2.3.4) a i Trong đó pi là một số dương nào đó.
  5. 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 [xi-1,xi], I =1,2,3 … n, được viết tổng quát như sau: yi(zi) = ai + bixi + bi xi2 + bi xi3 ; 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 Yi (xi) đồ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:
  6. 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 : yi- 1(Aj) = yi(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(A0) = 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) a1 + b1x1 + c1x21 + d1x31 = y1 (Đi qua điểm thứ nhất) a1 + b1x2 + c1x22 + d1x32 = y2 (Đi qua điểm thứ hai ) a1 + b1x3 + c1x23 + d1x33 = y3 (Đi qua điểm thứ nhất ) b1 + 2c1x1 + 3d1x21 =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
  7. đ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 (Ai) và thứ i+1(Ai+1) là: ai + bixi + cix2i + dix3i = yi (2.3.10) ai + bixi+1 + cix2i+1+ dix3i+1 = yi+1 bi + 2cixi + 3dix2i = bi-1 + 2ci-1xi + 3di-1x2i 2ci + 6dixi = 2ci-1 + 6di-1xi 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 x1 x 12 x 13 0 0 0 0 … 0 0 0 0 1 x2 x 22 x 23 0 0 0 0 … 0 0 0 0 1 x3 x 32 x 33 0 0 0 0 … 0 0 0 0 0 1 2x1 3x12 0 0 0 0 … 0 0 0 0
  8. 0 0 0 0 1 x2 x 22 x 23 … 0 0 0 0 0 0 0 0 1 x3 x 32 x 33 … 0 0 0 0 A= 0 0 0 0 0 1 x2 x 22 … 0 0 0 0 0 0 0 0 0 0 1 x2 … 0 0 0 0 ……………………………………………………………… ……… 0 0 0 0 0 0 0 0 0 1 x2 x 22 x 23 0 0 0 0 0 0 0 0 0 1 x3 x 32 x 33 0 0 0 0 0 0 0 0 0 0 1 x2 x 22 00 0 0 0 0 0 0 0 0 0 1 x2 (2.3.11) a1 y1 b1 y2 c1 y3
  9. d1 k a2 y2 b2 y3 c2 0 X= d2 và B= 0 … … an-1 yn-1 bn-1 yn cn-1 0 dn-1 0 n Spline n-1 n-1 Spline n n-2 Spline 2 k 3 2 1 Spline 1 1 Hình Đường cong hàm hóa II.7 Mô tả phương Đường cong Spline
  10. 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à: A1.X1 = B1 Với :
  11. 1 x1 x 12 x 13 a1 y1 A1 = 1 x2 x 22 x 23 ; X1 = b1 ; B1 = y2 (2.3.12) 1 x3 x 32 x 33 c1 y3 0 1 2x1 3x12 d1 k Ma trận dùng cho các đướng cong tiếp theo là: Ai = Xi . Bi 1 x1 x 12 x 13 a1 yi Ai = 1 x2 x 22 x 23 ; Xi = b1 ; Bi = yi+1 (2.3.13) 0 1 2x1 3x12 c1 k1i 0 0 2 6x1 d1 k2i Với: k1i = y’i (x) ; k2i = 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 đó.
  12. 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ố: a1, b1, c1, d1, a2, b2, c2 , d2 … an-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.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
6=>0