luận văn ứ ự ương -...

83
Luận văn Nghiên cu xây dng chương trình tính toán vtrí tàu theo phương pháp ma trn vòng đẳng cao thiên th

Upload: others

Post on 22-Sep-2019

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

Luận văn Nghiên cứu xây dựng chương trình tính toán vị trí tàu theo phương pháp ma trận vòng

đẳng cao thiên thể

Page 2: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

i

LỜI CAM ĐOAN

Tôi xin cam đoan rằng luận văn này là công trình nghiên cứu của riêng

tôi. Các số liệu, kết quả được nêu ra trong bản luận văn này là hoàn toàn trung

thực và chưa từng được ai công bố trong bất kỳ một công trình nghiên cứu

nào khác trước đó.

Đồng thời, tôi cũng xin cam đoan rằng, các thông tin được trích dẫn

trong luận văn đều đã được chỉ rõ về xuất xứ, nguồn gốc và đảm bảo tính

chính xác.

Hải Phòng, ngày 31 tháng 10 năm 2012

Tác giả

KS. NGUYỄN VĂN SƯỚNG

Page 3: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

ii

LỜI CẢM ƠN

Tác giả xin chân thành cám ơn các thành viên trong gia đình đã động

viên và tạo mọi điều kiện thuận lợi nhất để tác giả có thể hoàn thành chương

trình học tập của mình.

Tác giả xin chân thành cám ơn Thầy giáo PGS, TS. Nguyễn Cảnh Sơn,

thầy đã hướng dẫn, chỉ bảo tận tình chu đáo trong suốt thời gian tác giả thực

hiện đề tài cũng như theo học tại Trường Đại học Hàng hải Việt Nam.

Tác giả cũng xin trân trọng cám ơn các Thầy giáo PGS, TS. Lê Đức

Toàn, ThS. Đào Quang Dân, các thầy đã giúp đỡ tác giả đăng tải một số công

trình khoa học liên quan cũng như là góp ý để nội dung của đề tài được phong

phú hơn, hoàn thiện hơn.

Mặc dù tác giả đã rất cố gắng trong quá trình nghiên cứu cũng như viết

luận văn, nhưng với nội dung khá lớn, việc thu thập và xử lý tài liệu nhiều và

bản thân còn những hạn chế nhất định, vì vậy, khó tránh khỏi những khiếm

khuyết. Tác giả rất mong nhận được sự đóng góp ý kiến xây dựng của các

thầy, các đồng nghiệp và các nhà khoa học quan tâm, để công trình nghiên

cứu ngày càng được hoàn chỉnh hơn.

Tác giả xin trân trọng cảm ơn!

Page 4: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

iii

MỤC LỤC

LỜI CAM ĐOAN .......................................................................................... i

LỜI CẢM ƠN............................................................................................... ii

MỤC LỤC…………………………………………………………………...iii

DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU .................................. v

DANH MỤC HÌNH VẼ …......................................................................... vii

DANH MỤC CÁC BẢNG........................................................................... ix

MỞ ĐẦU ....................................................................................................... 1

1. Tính cấp thiết của đề tài…………………..................................................1

2. Mục đích nghiên cứu của đề tài ............................................................... 2

3. Đối tượng và phạm vi nghiên cứu............................................................ 3

4. Phương pháp nghiên cứu của đề tài ......................................................... 3

5. Ý nghĩa khoa học và thực tiễn của đề tài ................................................. 3

CHƯƠNG 1. TỔNG QUAN CÁC PHƯƠNG PHÁP XÁC ĐỊNH VỊ TRÍ

TÀU BẰNG THIÊN VĂN VÀ HẠN CHẾ CỦA CÁC PHƯƠNG

PHÁP................................................................................................................5

1.1 Cơ sở lý thuyết xác định vị trí tàu bằng phương pháp thiên văn………..5

1.2 Các phương pháp xác định vị trí tàu bằng thiên văn từ trước đến nay….8

1.3 Độ chính xác của các phương pháp xác định vị trí tàu bằng quan sát

thiên văn từ trước đến nay……………………………………………..19

1.4 Xu hướng phát triển hàng hải thiên văn trong tương lai………………21

1.5 Kết luận chương 1……………………………………………………..24

CHƯƠNG 2. CƠ SỞ DỮ LIỆU VÀ NGÔN NGỮ LẬP TRÌNH SỬ

DỤNG ĐỂ XÂY DỰNG CHƯƠNG TRÌNH TÍNH TOÁN VỊ TRÍ

TÀU………………………………………………………………………….25

Page 5: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

iv

2.1 Các yếu tố cần thiết để giải bài toán xác định vị trí tàu bằng phương

pháp thiên văn, cơ sở dữ liệu cho chương trình tính toán……………..25

2.2 Ngôn ngữ lập trình sử dụng để xây dựng chương trình……………….33

2.3 Kết luận chương 2……………………………………………………..43

CHƯƠNG 3. THIẾT LẬP PHƯƠNG PHÁP MA TRẬN VÒNG ĐẲNG

CAO THIÊN THỂ VÀ XÂY DỰNG CHƯƠNG TRÌNH TÍNH TOÁN VỊ

TRÍ TÀU THEO PHƯƠNG PHÁP……………………………………….44

3.1 Thiết lập phương pháp ma trận vòng đẳng cao thiên thể tính toán vị trí

người quan sát…………………………………………………………44

3.2 Xây dựng chương trình tính toán vị trí tàu theo phương pháp ma trận

vòng đẳng cao thiên thể………………………………………………..50

3.3 Độ chính xác vị trí tính toán theo phương pháp và độ tin cậy của chương

trình tính toán………………………………………………………….56

3.4 Kết luận chương 3………………….………………………………….62

KẾT LUẬN, KIẾN NGHỊ………………………………………………....62

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ LIÊN

QUAN ĐẾN ĐỀ TÀI CỦA TÁC GIẢ…………………………………….65

DANH MỤC TÀI LIỆU THAM KHẢO………………………………….66

PHỤ LỤC……………………………………………………………….1/PL1

Phụ lục 1………………………………………………………………1/PL1

Phụ lục 2………………………………………………………………2/PL2

Page 6: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

v

DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU

Chữ viết tắt Giải thích

Dec Declination of celestial body – Xích vĩ của thiên thể

GHA Greenwich Hour Angle of celestial body - Góc giờ thế giới

của thiên thể

Dec*, δ* Declination of celestial body – Xích vĩ của ngôi sao

SHA* Sidereal Hour Angle – xích kinh nghịch của ngôi sao

GHAγ, tγG

Greenwich Hour Angle of Aries – Góc giờ thế giới của điểm

xuân phân

GHA*, t*G

Greenwich Hour Angle of star – Góc giờ thế giới của ngôi

sao

LHA*, t*L Local Hour Angle of star – Góc giờ thế giới của ngôi sao

Dec Declination of Sun – Xích vĩ của mặt trời

GHA Greenwich Hour Angle of Sun – Góc giờ thế giới của mặt

trời

∆Dec Lượng biến thiên xích vĩ thiên thể

∆SHA Lượng biến thiên xích kinh nghịch của thiên thể

Dip Số hiệu chỉnh độ cao do độ nghiêng chân trời

R Refraction – Số hiệu chỉnh độ cao theo nhiệt độ và khí áp

PA Parallax in altitude – Số hiệu chỉnh độ cao do thị sai

HP Horizontal parallax – Thị sai chân trời

SD Semi Diameter – Bán kính thiên thể

Page 7: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

vi

SA Semi Diameter of altitude – Số hiệu chỉnh độ cao do thiên

thể có bán kính lớn

φ Vĩ độ người quan sát trong hệ tọa độ địa dư

λ Kinh độ người quan sát trong tọa độ địa dư

PM Vị trí thiên đỉnh trên thiên cầu

Xo Hoành độ thiên đỉnh trong hệ tọa độ vuông góc

Yo Tung độ thiên đỉnh trong hệ tọa độ vuông góc

Zo Cao độ thiên đỉnh trong hệ tọa độ vuông góc

XE Hoành độ thiên đỉnh dự đoán trong hệ tọa độ vuông góc

YE Tung độ thiên đỉnh dự đoán trong hệ tọa độ vuông góc

ZE Cao độ thiên đỉnh dự đoán trong hệ tọa độ vuông góc

hS Độ cao thực tế của thiên thể sau khi hiệu chỉnh

x1, x2, x3 Hoành độ các thiên thể 1, 2, 3 trong hệ tọa độ vuông góc

y1, y2, y3 Tung độ các thiên thể 1, 2, 3 trong hệ tọa độ vuông góc

z1, z2, z3 Cao độ các thiên thể 1, 2, 3 trong hệ tọa độ vuông góc

PK, PK+1 Vị trí tính toán tại vòng lặp thứ K, thứ K + 1

MOC.OP

Tích vô hướng của 2 vector

r

Vector chỉ phương

1 2OC OC

Tích có hướng của 2 vector

1 2OC OC

Độ dài vector tích có hướng của 2 vector

Page 8: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

vii

DANH MỤC HÌNH VẼ

Số hình Tên hình Trang

1.1 Vị trí người quan sát trên thiên cầu 5

1.2 Đồ giải 2 vòng đẳng cao xác định vị trí trên thiên cầu 8

1.3 Tam giác thiên văn 9

1.4 Đường vị trí xác định theo phương pháp Sumner 12

1.5 Đường vị trí xác định theo phương pháp Akimov 13

1.6 Đường vị trí xác định theo phương pháp hiệu độ cao 14

1.7 Robot thăm dò 22

1.8 Thiết bị nhận dạng sao (Star tracker) 23

2.1 Cửa sổ làm việc của chương trình 34

3.1 Hệ tọa độ không gian đề các vuông góc 44

3.2 Thiên cầu trên hệ tọa độ vuông góc 45

3.3 Mô tả phương pháp giải bằng hình học 47

3.4 Sơ đồ thuật toán chương trình xác định vị trí tàu bằng

mặt trời 51

3.5 Sơ đồ thuật toán chương trình xác định vị trí tàu bằng 2

thiên thể 52

Page 9: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

viii

3.6 Sơ đồ thuật toán chương trình xác định vị trí tàu bằng 3

thiên thể 53

3.7 Cửa sổ chương trình chính 54

3.8 Cửa sổ chương trình tính toán vị trí tàu bằng mặt trời 54

3.9 Cửa sổ chương trình tính toán vị trí tàu bằng bằng 2 sao 55

3.10 Cửa sổ chương trình tính toán vị trí tàu bằng bằng 3 sao 55

3.11 Kết quả tính toán vị trí tàu bằng mặt trời không đồng

thời 56

3.12 Phương pháp hiệu độ cao xác định vị trí tàu bằng mặt

trời không đồng thời 57

3.13 Kết quả tính toán vị trí tàu bằng phương pháp ma trận

vòng đẳng cao với 2 sao 58

3.14 Phương pháp hiệu độ cao xác định vị trí tàu bằng 2 sao 59

3.15 Kết quả tính toán vị trí tàu bằng phương pháp ma trận

vòng đẳng cao với 3 sao 60

3.16 Phương pháp hiệu độ cao xác định vị trí tàu bằng 3 sao 61

Page 10: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

ix

DANH MỤC CÁC BẢNG

Số bảng Tên bảng Trang

1.1 Tọa độ và biến thiên theo thời gian của các ngôi sao 29

Page 11: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

1

MỞ ĐẦU

1. Tính cấp thiết của đề tài

Ngày nay, hệ thống định vị vệ tinh toàn cầu GPS là một phần không thể

thiếu trên các tàu thuyền vượt Đại dương. Hệ thống này được chính phủ Mỹ

xây dựng và quản lý, điều đó đồng nghĩa với việc độ chính xác vị trí tính toán

của các máy thu dân sự bị hạn chế ở một mức độ nhất định. Mặt khác, tại một

số vùng biển trên thế giới, máy thu GPS không nhận được tín hiệu sóng từ các

vệ tinh. Do đó, việc nghiên cứu và phát triển các hệ thống định vị khác nhau

nhằm hỗ trợ, bổ sung cũng như thay thế hệ thống GPS khi không có tín hiệu

sóng hoặc khi chính phủ Mỹ ngừng phát tín hiệu từ các vệ tinh đã và đang

được các nước trên thế giới tiến hành một cách mạnh mẽ.

Trên quan điểm đó, nhiều hệ thống định vị khác như GLONASS của

Nga, GALILEO của Liên minh Châu Âu, IRNSS của Ấn Độ đã và đang được

xây dựng, hoàn thiện, thử nghiệm kiểm tra độ chính xác. Đó cũng là những

bước tiến quan trọng nhằm hiện thực hóa giấc mơ làm chủ công nghệ dẫn

đường bằng vệ tinh của các quốc gia tiên tiến này. Tuy nhiên, các hệ thống

trên vẫn chưa thể đáp ứng những yêu cầu về một hệ thống định vị hoàn hảo

đối với lĩnh vực dân sự.

Hàng hải thiên văn là phương pháp tính toán vị trí tàu của người đi

biển, vị trí được xác định bằng cách quan sát thiên thể trên bầu trời. Đồng

thời, đây cũng là môn học bắt buộc đối với học viên chuyên ngành hàng hải

của các Trường Đại học Hàng hải trên Thế giới như: Học viện Hàng hải

California, Đại học Hàng hải Đại Liên, Đại học Hàng hải Thượng hải, Đại

học Đại Dương, Đại học Hàng hải Việt Nam……vv. Việc đưa hàng hải thiên

văn vào đào tạo, huấn luyện đã được tiêu chuẩn hóa trong công ước STCW -

Page 12: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

2

78/95, sửa đổi Manila - 2010. Kể từ khi nhà hàng hải Saint - Hilaire đề xuất

phương pháp hiệu đường cao vị trí đến nay, đã có nhiều phương pháp thiên

văn tính toán vị trí tàu cũng như những chương trình phần mềm ứng dụng

được xây dựng (Ogilvie, R. E (1977), Watkins, R. (1979), Van Allen, J. A

(1981), Sevarance, R.W (1990), Metcalf, T. R (1991), Kaplan, G. H. (1995),

Andrés Ruiz González (2008)) để hỗ trợ các nhà hàng hải xác định vị trí khi

tàu hành trình ngoài Đại dương.

Mặc dù với số lượng lớn các phương pháp và chương trình phần mềm

tính toán vị trí, nhưng đa số, các phương pháp đều được cải tiến từ phương

pháp hiệu đường cao vị trí, ứng dụng toán học vào đó để tìm nghiệm tối ưu,

một số phương pháp khác giải trực tiếp phương trình vòng đẳng cao bằng

biến đổi lượng giác. Do vậy, các phương pháp này đều mắc sai số phương

pháp do thay thế vòng đẳng cao bằng đường vị trí hoặc mắc những sai số do

không hiệu chỉnh ảnh hưởng của các nguyên nhân gây sai số.

Từ những phân tích trên, có thể thấy nhu cầu về một phương pháp mới

khắc phục những nhược điểm của hàng hải thiên văn cũng như chương trình

phần mềm tính toán vị trí tàu dựa trên phương pháp mới là hết sức cần thiết

đối với ngành hàng hải hiện đại. Do đó, tác giải thực hiện đề tài: “Nghiên

cứu xây dựng chương trình tính toán vị trí tàu theo phương pháp ma

trận vòng đẳng cao thiên thể” nhằm đáp ứng những yêu cầu cấp thiết để đưa

hàng hải thiên văn chính xác hơn, hiện đại hơn cả về lý thuyết lẫn thực tế.

2. Mục đích nghiên cứu của đề tài

Từ những nhược điểm của các phương pháp hàng hải thiên văn đang

được sử dụng hiện nay và xu hướng phát triển trong tương lai của phương

pháp này. Đề tài thiết lập phương pháp ma trận giải hệ phương trình vòng

đẳng cao thiên thể thay vì phương pháp hiệu đường cao vị trí của nhà hàng

hải Saint - Hilaire.

Page 13: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

3

Ngoài ra, chương trình tính toán vị trí tàu theo phương pháp mới cũng

được xây dựng để kiểm tra độ chính xác cũng như ứng dụng thực tế trong xác

định vị trí tàu bằng thiên văn.

3. Đối tượng và phạm vi nghiên cứu

Phương trình vòng đẳng cao, vị trí tàu trong hệ tọa độ không gian đề

các vuông góc, phân tích ảnh hưởng của các yếu tố gây sai số và đưa ra

phương pháp hiệu chỉnh nhằm nâng cao độ chính xác vị trí tính toán.

Nội dung đề tài giới hạn trong phạm vi bài toán tối ưu hóa xác định vị

trí tàu bằng các thiên thể, chương trình tính toán được xây dựng với cơ sở dữ

liệu cho bài toán mặt trời không đồng thời, bài toán 2 sao, 3 sao.

4. Phương pháp nghiên cứu đề tài

Để thực hiện việc nghiên cứu đề tài, tác giả kết hợp nhiều phương pháp

nghiên cứu khoa học khác nhau như: phương pháp phân tích toán học thiết lập

vòng đẳng cao thiên thể, phương pháp chuyên gia giải bài toán vòng lặp tối

ưu, phương pháp thu thập dữ liệu tính toán tọa độ của các thiên thể.

Hơn nữa, phương pháp tư vấn từ các chuyên gia cũng được sử dụng để

nâng cao độ chính xác của vị trí tính toán.

5. Ý nghĩa khoa học và thực tiễn của đề tài

Phương pháp ma trận giải hệ phương trình vòng đẳng cao tính toán vị

trí tàu được thiết lập, đây là bước phát triển quan trọng trong nghiên cứu hoàn

thiện lý thuyết hàng hải thiên văn hiện đại, từ đó làm cơ sở nền tảng định

hướng cho những nghiên cứu sâu rộng hơn trong tương lai, kết hợp phương

pháp hàng hải thiên văn với các phương pháp hàng hải hiện đại khác, nhằm

nâng cao độ chính xác, độ tin cậy của vị trí tàu xác định.

Với kết quả thu được của đề tài, phương pháp ma trận vòng đẳng cao

thiên thể tính toán vị trí tàu có thể làm tài liệu học tập, tham khảo cho môn

Page 14: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

4

hàng hải thiên văn trong đào tạo sinh viên chuyên ngành hàng hải, học viên

các lớp huấn luyện sỹ quan boong.

Chương trình tính toán vị trí tàu theo phương pháp được thiết kế bằng

ngôn ngữ lập trình Visual Basic có thể hỗ trợ các sỹ quan hàng hải trong xác

định vị trí tàu khi hệ thống GPS bị hạn chế hoặc khi kiểm tra độ tin cậy của

các hệ thống hàng hải hiện đại khác.

Page 15: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

5

CHƯƠNG 1. TỔNG QUAN CÁC PHƯƠNG PHÁP XÁC ĐỊNH VỊ TRÍ

TÀU BẰNG THIÊN VĂN VÀ HẠN CHẾ CỦA CÁC PHƯƠNG PHÁP

1.1 Cơ sở lý thuyết xác định vị trí tàu bằng phương pháp thiên văn

Để xác định vị trí tàu bằng phương pháp thiên văn thì mối liên hệ giữa

vị trí người quan sát và thiên thể trên thiên cầu phải được thiết lập (hình 1.1),

từ đó xây dựng các hệ công thức liên hệ vị trí tàu với tọa độ thiên thể tại thời

điểm quan sát. Giả sử vị trí người quan sát trên địa cầu là M(φ, λ), đài thiên

văn Greenwich là G.

Xây dựng thiên cầu có tâm trùng với tâm địa cầu, bán kính bất kỳ,

Chiếu M lên thiên cầu nhận được thiên đỉnh ZM và thiên kinh tuyến thượng

PNZMPS, tương tự với thiên kinh tuyến thượng PNZGPS của đài thiên văn

Greenwich. Thiên kinh tuyến PNCPS chứa thiên thể C.

1.1.1 Mối liên hệ giữa vị trí người quan sát và thiên đỉnh trên thiên cầu

Theo hình vẽ nhận thấy: o oEE ee và

MZ E Me , thay vị trí địa lý và

tọa độ xích đạo của thiên đỉnh người quan sát vào các hệ thức trên thu được:

* *MZM

LM Gt t

MZM

LM Gt t

(1.1) hoặc

Vị trí người quan sát trên địa cầu

Hình 1.1. Vị trí người quan sát trên thiên cầu

Thiên cầu

Địa cầu EC E Eo

C

ZG

eeo

G M

ZM

PN

PS

δZM

*Lt

*Gt

Thiên đỉnh người quan sát

Page 16: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

6

Hệ thức (1.1) liên hệ vị trí người quan sát và hình chiếu của nó trên

thiên cầu. Do trái đất quay theo chiều từ W sang E nên thiên đỉnh ZM sẽ vạch

trên thiên cầu một quỹ đạo hình tròn theo chiều ngược lại - trường hợp vĩ độ

người quan sát φM không đổi, nếu φM thay đổi thì quỹ đạo chuyển động của

ZM sẽ phức tạp hơn nhiều.

Vậy khi xác định vị trí thiên đỉnh, thời điểm quan sát thiên thể phải

được ghi lại làm cơ sở xác định góc giời thế giới của điểm xuân phân hoặc

góc giờ thế giới của thiên thể. Hơn nữa, nếu xác định được vị trí thiên đỉnh

kết hợp với hệ thức liên hệ sẽ xác định được tọa độ địa dư của người quan sát

trên địa cầu tại thời điểm quan sát thiên thể.

1.1.2 Cơ sở lý thuyết xác định vị trí thiên đỉnh trên thiên cầu

Xác định vị trí tàu là xác định 2 thông số vĩ độ φ và kinh độ λ như vậy

cần ít nhất 2 phương trình chứa 2 tham số này: U1 = f(φ, λ) và U2 = g(φ, λ). Để

có được hệ phương trình, phải thiết lập mối liên hệ giữa thiên đỉnh người

quan sát và thiên thể trên thiên cầu, ngoài ra các thiên thể phải được quan sát

một cách đồng thời hoặc nhiều lần khác nhau đối với một thiên thể.

Mối liên hệ giữa thiên đỉnh người quan sát và thiên thể có thể được xây

dựng dựa trên các tam giác thiên văn, xét 2 tam giác thiên văn ZMPNC1 và

ZMPNC2 áp dụng công thức hàm số cosin với các cạnh:

sin = sin .sin + cos .cos .cos( )

sin = sin .sin + cos .cos .cos( )1

2

E1 1 1 G W

E2 2 2 G W

h φ δ φ δ t ± λ

h φ δ φ δ t ± λ

Với hệ (1.2), sử dụng phương pháp biến đổi trực tiếp nếu số thiên thể

quan sát là 2, nếu số thiên thể quan sát nhiều hơn 2 có thể áp dụng phương

pháp bình phương nhỏ nhất để tìm nghiệm tối ưu, trường hợp chỉ có 1 thiên

thể được quan sát thì chỉ xác định được 1 trong 2 tham số vị trí dựa vào tham

số còn lại đã biết.

(1.2)

Page 17: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

7

1.1.2.1 Phương pháp giải tích

Phương pháp giải tích thuần túy: sử dụng thay thế ẩn số hoặc đặt

phương trình trung gian, tiến hành khử 1 trong 2 ẩn số của hệ phương trình từ

đó rút ra 1 nghiệm và thế vào tìm nghiệm còn lại.

Phương pháp giải tích gần đúng: sử dụng công thức chuỗi Taylo phân

tích hàm số phức tạp trên về dạng vô hạn phần tử sau đó lấy đến số hạng bất

kỳ tùy thuộc vào độ chính xác yêu cầu.

Tuy nhiên, hệ phương trình trên bao gồm các siêu phương trình phức

tạp việc giải chúng vô cùng khó khăn, do đó trong Hàng hải thiên văn chỉ áp

dụng phương pháp giải tích trong những trường hợp đặc biệt như:

Xác định riêng vĩ độ : Nếu thiên thể qua thiên kinh tuyến thượng người

quan sát thì h = H, tL= 0 phương trình liên hệ có dạng :

sinH = cos(900-H) = cos(φ – δ)

=> φ = 900- H + δ (1.3)

Tại thời điểm thiên thể đi qua thiên kinh tuyến thượng, đo độ cao thiên

thể đồng thời ghi lại giờ thời kế TTK tính toán xích vĩ δ của thiên thể sau đó

thay vào công thức (1.3) xác định φ

Xác định riêng kinh độ: Tại thời điểm đo độ cao thiên thể ghi lại giờ

thời kế TTK tính toán giá trị tọa độ của thiên thể δ, tG thay vào phương trình

(1.4)

sinh = sinφ.sinδ + cosφ.cosδ.cos(tG ± λ)

=> cos(tG ± λ) = (sinh - sinφ.sinδ)/cosφ.cosδ (1.4)

=> λ = arcos[(sinh - sinφ.sinδ)/cosφ.cosδ] - tG (nếu λE)

= tG - arcos[(sinh - sinφ.sinδ)/cosφ.cosδ] (nếu λW)

1.1.2.2 Phương pháp đồ giải

Page 18: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

8

Quan sát độ cao 2 thiên thể C1, C2 được h1, h2, các đỉnh cự Z1 = 900 – h1

và Z2 = 900 – h2. Trên thiên cầu, từ 2 vị trí C1, C2 dựng 2 cung tròn có tâm tại

vị trí 2 thiên thể và bán kính là Z1, Z2 giao điểm của hai cung tròn cho vị trí

thiên đỉnh người quan sát (hình 1.2).

Theo lý thuyết toán học, các cung tròn này chính là quỹ tích chứa thiên

đỉnh người quan sát cùng nhìn thấy thiên thể độ cao h tại thời điểm quan sát,

do đó các cung tròn này chính là các đường đẳng trị của những thiên đỉnh

người quan sát còn φ và λ là những giá trị thay đổi.

Tuy nhiên, do độ cong của quả cầu rất lớn dẫn đến khoảng cách trên hải

đồ và trên quả cầu là sai lệch nhau nhiều, vị trí xác định có độ chính xác thấp,

phương pháp thực hiện kém tin cậy.

1.2 Các phương pháp xác định vị trí tàu bằng thiên văn từ trước đến nay

Để xác định vị trí tàu, phải có ít nhất 2 đường quỹ tích chứa vị trí, trước

khi nghiên cứu các phương pháp xác định vị trí tàu bằng thiên văn, những

khái niệm về đường quỹ tích chứa vị trí tàu được đưa ra

1.2.1 Khái niệm vòng đẳng cao thiên thể, cực chiếu sáng đường cao vị trí và

phương trình mô tả vòng đẳng cao, đường cao vị trí

Hình 1.2. Đồ giải 2 vòng đẳng cao xác định vị trí trên thiên cầu

. C2

C1

ZM

PN

PS

Cung tròn chứa vị trí . Vị trí tàu

Thiên cầu

Thiên thể

Page 19: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

9

1.2.1.1 Vòng đẳng cao thiên thể

Tại thời điểm nhất định, người quan sát ở vị trí M trên trái đất, đo độ

cao h của thiên thể C, đỉnh cự Z = 900- h. Do thiên thể C ở xa vô cùng nên

các tia sáng từ C đến trái đất sẽ song song với nhau, vậy góc Z hợp bởi đường

thẳng đứng qua vị trí người quan sát trên bề mặt trái đất và tia tới từ thiên thể

C cũng sẽ bằng góc Z ở tâm thiên cầu.

Dựng một mặt nón quanh trục OC với đường sinh là đường thẳng đứng

qua vị trí người quan sát, mặt nón này sẽ cắt bề mặt trái đất theo một đường

tròn, đường tròn đó được gọi là vòng đẳng cao. Vậy, vòng đẳng cao là quỹ

tích của những điểm trên bề mặt trái đất hoặc thiên cầu, theo đó vào thời điểm

quan sát sẽ thấy thiên thể trên cùng một độ cao. Phương trình vòng đẳng cao

thiên thể được xây dựng trên công thức cos cạnh (900 – h) của tam giác thiên

văn PNZMC (hình 1.3):

cos(900 – h) = cos(900 – ).cos(900 – ) + sin(900 –).sin(900 – ). costL

=> sinh = sin.sin + cos.cos.costL (1.5)

1.2.1.2 Cực chiếu sáng thiên thể

Cực chiếu sáng a là hình chiếu của thiên thể xuống địa cầu hoặc xuống

hải đồ. Trên thiên cầu toạ độ thiên thể là C(, tG) hình chiếu của nó lên hải đồ

tL

C

ZM

900-

900-h

A

900-

PN

Hình 1.3. Tam giác thiên văn

Page 20: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

10

được xác định bằng toạ độ địa dư (a , a), do đó a = và a= tG. Như vậy toạ

độ của cực chiếu sáng và bán kính Z = 900 - h là những thông số để xác định

vòng đẳng cao trên địa cầu. Tuy nhiên, trong thực tế trái đất không phải là hình

cầu mà là một hình phức tạp nên hình chiếu vòng đẳng cao trên trái đất không

phải đường tròn mà là một đường cong phức tạp.

1.2.1.3 Đường cao vị trí

Việc đồ giải vòng đẳng cao thiên thể trên hải đồ rất phức tạp đặc biệt

với những vòng đẳng cao có độ biến dạng lớn. Qua nghiên cứu sự biến dạng

của hình chiếu vòng đẳng cao trên hải đồ Mercator người ta thấy một phần

nhỏ hình chiếu vòng đẳng cao có dạng gần giống đoạn đường thẳng nghĩa là

với khoảng cách ngắn trên thực địa hay hải đồ có thể dùng một đoạn đường

thẳng tiếp xúc với đoạn đường cong của vòng đẳng cao để thay thế cho vòng

đẳng cao. Trong hàng hải, người ta chọn đoạn thẳng tiếp tuyến với đường

cong gần vị trí dự đoán MC để thay thế. Vậy, đường vị trí là một đoạn thẳng

thay thế cho một đoạn đường cong của vòng đẳng cao, tiếp xúc với đoạn

đường cong đó tại điểm gần với vị trí dự đoán của tàu. Phương trình đường

cao vị trí thiết lập từ phương trình của vòng đẳng cao:

sinh = sin.sin + cos.cos.costL

=> h = arcsin(sin.sin + cos.cos.costL) (1.6)

Trong đó h là độ cao thiên thể, nếu đo tại vị trí thực tế Mo(o,o) sẽ thu

được độ cao thật hS, tại thời điểm quan sát cũng xác định độ cao thiên thể tại

vị trí dự đoán Mc(c,c) là hC. Thực tế vị trí dự đoán MC và vị trí thực tế Mo

không trùng nhau nên độ cao thực hS sẽ khác độ cao tính toán hC, tuy nhiên sự

sai khác này không lớn và được ký hiệu là h. Để thiết lập phương trình

đường vị trí, phân tích thành chuỗi với hàm độ cao thiên thể (1.5) hoặc công

thức vi phân với hàm số.

Page 21: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

11

. .CC

h hdh d d

=> . .CC

h hh

(1.7)

Phương trình (1.7) là đường thẳng tiếp xúc với đoạn đường cong của

vòng đẳng cao gần vị trí dự đoán MC

Tính C

h

: vi phân phương trình vòng đẳng cao theo h và

cosh.h = cos.sin. - sin.cos.costL. (1.8)

=> (cos .sin sin .cos .cos )cosh

L

C

th

(1.9)

Mặt khác, từ tam giác thiên văn áp dụng công thức 5 yếu tố liên tiếp

sin(900 - h).cosA = sin(900 - ).cos(900 - ) - cos(900 - ).sin(900 -).costL

=> cosA.cosh = cos.sin - sin.cos.costL

=> (cos .sin sin .cos .cos )coscosh

LtA

=> C

h

= cosAc (1.10)

Tính C

h

: vi phân phương trình vòng đẳng cao theo h và tL

cosh.h = - cos.cos.sintL.tL cos .cos .sincosh

L

L

tht

(1.11)

Hơn nữa, theo hệ thức sin trong tam giác thiên văn

sinA/cos=sintL/cosh

=> h/tL = - cos.sinA => os .sin CC

h c A

(1.12)

Page 22: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

12

Vậy phương trình đường cao vị trí có dạng :

h = cosAc. + sinAc.cosc. (1.13)

1.2.2 Các phương pháp xác định vị trí tàu bằng thiên văn từ trước đến nay

1.2.2.1. Phương pháp Sumner

Phương pháp kinh độ do nhà hàng hải người Mỹ, Thomas H Sumner đề

xuất năm 1837, bản chất là quan sát độ cao thiên thể hS, đồng thời tính toán

tọa độ , tG của thiên thể, lấy vị trí dự đoán MC(c, c), chọn Δφ = 10’ – 20’.

Sau đó tính toán tọa độ các điểm thuộc vòng đẳng cao (hình 1.4) theo công

thức 1 = c + Δφ, 2 = c – Δφ, thay các giá trị hS, 1, 2 vào phương trình

(1.14) xác định các giá trị kinh độ 1, 2.

sinh = sin.sin + cos.cos.costL (1.14)

Trên hải đồ, nối 2 điểm M1(1, 1), M1(2, 2) nhận được đường vị trí

[1, 5]. Để xác định vị trí tàu Mo phải quan sát thiên thể thứ hai, các bước tiến

hành tương tự, giao điểm của hai đường vị trí sẽ cho vị trí tàu. Phương pháp

này được áp dụng với những thiên thể ở gần vòng thẳng đứng gốc tức là (450

ABV 1350). Khi thiên thể nằm ngoài giới hạn này thì kết quả sẽ kém chính

xác.

1.2.2.2. Phương pháp Paludal

Hình 1.4. Đường vị trí xác định theo phương pháp Sumner

M2(2, 2)

M1(1, 1)

O

λ

Page 23: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

13

Để khắc phục nhược điểm của phương pháp kinh độ khi thiên thể nằm

ở gần kinh tuyến, nhà hàng hải Paludal đã đề xướng phương pháp vĩ độ. Về

mặt nguyên lý phương pháp này giống như phương pháp kinh độ, tuy nhiên,

thay vì tính 1 và 2 phương pháp đi xác định 1, 2 dựa vào 1, 2 và phưong

trình vòng đẳng cao. Sau khi có 2 điểm M1(1, 1) và M2(2, 2) nối chúng lại

được đường cao vị trí. Tương tự, quan sát thiên thể thứ 2 cho đường vị trí thứ

2, giao điểm của 2 đường vị trí cho vị trí tàu tại thời điểm quan sát [5].

1.2.2.3. Phương pháp Akimov

Với mục đích hoàn thiện hơn cách vẽ đường cao vị trí, năm 1849 nhà

hàng hải Akimov đề xuất phương pháp phương vị. Thay vì tính toán 2 điểm

trên vòng đẳng cao như 2 phương pháp trên, Akimov xác định một điểm trên

vòng đẳng cao và góc hướng tới cực chiếu sáng.

Do vòng thẳng đứng chứa thiên thể vuông góc với đường chân trời thật,

vậy hình chiếu của vòng thẳng đứng chứa thiên thể xuống mặt phẳng chân

trời aMC sẽ vuông góc với vòng đẳng cao. Nếu tại MC kẻ tiếp tuyến với vòng

đẳng cao thì đường thẳng tiếp tuyến là đường cao vị trí và luôn luôn vuông

góc với đường phương vị. Như vậy tại thời điểm quan sát thiên thể, đồng thời

xác định , tG và C từ vị trí dự đoán MC(C, C) tính được AC, xác định k1

bằng phương pháp kinh độ khi thay C vào phương trình [1] :

I

I

a B

B’

MC

AC

k1

Hình 1.5. Đường vị trí xác định theo phương pháp Akimov

Page 24: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

14

sinhS = sinC.sin + cosC.cos.cos(tG1). (1.15)

Sau đó dựng đường vị trí (hình 1.5) như sau: từ điểm k1(C,1) kẻ

phương vị AC tiếp theo dựng đường vuông góc với AC tại k1 được đường vị trí.

Quan sát thiên thể thứ 2, đồ giải 2 đường vị trí cho vị trí tàu.

1.2.2.4. Phương pháp hiệu độ cao Saint - Hilaire

Sử dụng các đường cao vị trí do nhà hàng hải người Pháp Saint-Hilaire

đề xuất năm 1875, phương pháp hiệu độ cao hoàn thiện hơn các phương pháp

trước đây và được sử dụng đến ngày nay (hình 1.6), giả sử thời điểm TG người

quan sát đứng tại vị trí MO(o, o) đo độ cao thiên thể, hiệu chỉnh được độ cao

thật hS và tính được đỉnh cự ZS = 900- hS. Đồng thời, lấy vị trí dự đoán MC(c,

c), từ các thông số (, tL, c) thay vào công thức hoặc tra vào bảng toán nhận

được độ cao dự đoán hC, phương vị dự đoán AC, đỉnh cự tại vị trí dự đoán ZC=

900 - hC.

Xác định cực chiếu sáng a của thiên thể trên hải đồ với toạ độ (a = ,

a= tG) lấy cực chiếu sáng a làm tâm vẽ vòng đẳng cao bán kính ZC qua vị trí

dự đoán MC; vòng đẳng cao bán kính ZS qua vị trí thật Mo cách vòng đẳng cao

ZC một đoạn h = ZC - ZS = (900- hC) - (900 - hS) = hS- hC. Rõ ràng là đường

thẳng aMC (hay là đường hướng phương vị AC) sẽ vuông góc đồng thời với

Δh

Hình 1.6. Đường vị trí xác định theo phương pháp hiệu độ cao

MC

c

AC

NT

φc

Page 25: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

15

các vòng đẳng cao bán kính ZC và ZS. Do vậy tại giao điểm của vòng đẳng cao

ZS với phương vị AC dựng đường thẳng tiếp tuyến với vòng đẳng cao ZS thì đó

chính là đường cao vị trí và cũng vuông góc với AC.

Nội dung phương pháp hiệu đường cao xác định vị trí tàu như sau [1,

5]: tại thời điểm Tt1 quan sát độ cao thiên thể C1 được OC1 hiệu chỉnh các đại

lượng (i, s, d, 0, ht,B) cho độ cao thật hS1 của thiên thể C1. Đồng thời, ghi giờ

thời kế TTK lúc quan sát thiên thể, kết hợp với UTK được TG1 tra vào lịch thiên

văn hàng hải được tọa độ xích đạo của thiên thể C1(1, tG1). Thực hiện tương

tự, tại thời điểm Tt2 quan sát độ cao thiên thể C2 được OC2 hiệu chỉnh cho độ

cao thật hS2 của thiên thể C2, tọa độ xích đạo của thiên thể C2(2, tG2).

Lấy vị trí dự đoán MC(c, c), từ các thông số (c, 1, tG1), (c, 2, tG2)

tra vào bảng toán hoặc hệ công thức để tính toán các giá trị độ cao, phương vị

(hC1, AC1), (hC2, AC2). Sau khi có các yếu tố đường cao vị trí, đồ giải xác định

vị trí như (hình 1.7): xác định vị trí Mc(c, c), từ Mc kẻ 2 đường hướng đến

cực chiếu sáng, mỗi đường tạo với đường kinh tuyến NT các góc Ac1, Ac2, kẻ 2

đường cao vị trí vuông góc với 2 đường trên, khoảng cách từ 2 đường cao vị

trí đến vị trí dự đoán lần lượt là h1 = hS1 - hC1, h2 = hS2 - hC2. Giao điểm của

2 đường vị trí cho vị trí tàu tại thời điểm quan sát, trường hợp tốc độ tàu,

khoảng thời gian giữa 2 lần quan sát, tốc độ biến thiên độ cao thiên thể lớn,

cần thiết phải hiệu chỉnh độ cao thiên thể từ thời điểm trước về thời điểm sau,

vị trí tàu xác định theo hệ thức (1.16) hoặc (1.17):

(Δ sin Δ sin )Δsin( )

(Δ cos Δ cos )Δ)cos sin(

1 2 2 1

2 1

1 2 2 1

1 2

h . A - h . Aφ=A - A

h . A - h . Aλ =φ. A - A

(1.16)

Nếu xét đến ảnh hưởng do thời gian quan sát không đồng thời, tốc độ tàu lớn:

Page 26: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

16

(Δ +Δ +Δ ).sin -Δ .sinΔ =)sin(

(Δ + Δ +Δ ).cos -Δ .cosΔ =)cos .sin(

1 t Z 2 2 1

2 1

1 t Z 2 2 1

1 2

h h h A h AφA - A

h h h A h Aλφ A - A

(1.17)

Vị trí xác định MO(o ;o) : ΔΔ

o C

o C

φ = φ + φλ = λ + λ

1.2.2.5. Phương pháp tính toán vị trí tàu bằng quan sát 1 thiên thể

Phương pháp được đề xuất bởi Edward J Willis [9]. Theo đó, sỹ quan

hàng hải xác định độ cao của 1 thiên thể ở 3 thời điểm khác nhau, vị trí tàu xác

định tại thời điểm thứ 2, nội dung phương pháp như sau: tại các thời điểm T1,

T2, T3 đo độ cao tới thiên thể C, sau khi hiệu chỉnh thu được các giá trị h1, h2,

h3. Tính Δh = h3 – h1, ΔT = T3 – T1, đặt: sinN = Δh/ΔT. Vị trí tàu tại thời điểm

T2 được tính theo hệ thức (1.18):

vĩ độ : 12

sinsin cos .[ sin ( )]cos

dN hN

kinh độ : sin cossincos cos

2L

N. ht =δ. φ

(1.18)

1.2.2.6. Phương pháp tính toán vị trí theo quy tắc bình phương nhỏ nhất

Theo phương pháp, vị trí xác định là vị trí xác suất nhất, tức là chịu ảnh

hưởng nhỏ nhất của sai số ngẫu nhiên, ngoài ra sỹ quan hàng hải không phải

đồ giải các đường cao vị trí như phương pháp truyền thống, hệ phương trình

đường cao vị trí [2, 10] :

1 1 1

2 2 2

Δ .cos .sin.cos .sin

............... ............. ....cos .si

...... .....nn n n

φ A w A hφ A w A h

φ A w A h

(1.19)

Page 27: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

17

Nghiệm của bài toán thỏa mãn điều kiện tổng bình phương sai số - tổng

bình phương khoảng cách từ vị trí tính toán đến các đường vị trí là nhỏ nhất:

2

1( .cos .sin )

n

i i ii

S h A w A min (1.20)

S đạt giá trị nhỏ nhất khi:

=>

0

0

wS

S

=>

1

1

2.sin .( .cos ) 0

2.cos .( .cos ) 0

n

i i i iin

i i i ii

A h A w.sinA

A h A w.sinA

(1.21)

=>

n n n2

i i i i ii=1 i=1 i=1

n n n2

i i i 1 ii=1 i=1 i=1

.cos . sin

os sin .cos cos

sin + . sin ΔΔ =Δ . Δ . + Δ . ==>

Δ . + Δ . =c + . ΔΔ =Δ .

A A A

A A A A

φ A hw φ B w C Eφ A w B Dφ hw

(1.22)

-1

Δ Δ 1=> . = => = . = .Δ Δ ( )2

B C E φ E B -C EB CA B w D w D -A B DB - A.CA B

(1.23)

=> Δ

Δ ( )1= . =>Δ ( ) Δ

( )

2

2

2

B.E - C.Dφ =φ B.E - C.D B - A.Cw B.D - A.E B.D - A.EB - A.C w =

B - A.C

(1.24)

Vị trí tàu được xác định theo hệ thức (1.25) :

2

2

. .( . )

. .( . ).cos

o C

o Cc

B E C DB A C

B D A EB A C

(1.25)

1.2.2.7 Phương pháp giải hệ phương trình đẳng cao dạng lượng giác cầu

Phương pháp do nhóm tác giả Chih- Li-Chen, Tien-Pen-Hsu, Jiang-

Ren-Chang đề xuất [6], trong đó phương trình vòng đẳng cao được giải bằng

cách biến đổi và đặt các hệ số, nội dung phương pháp được trình bày như sau

Page 28: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

18

quan sát độ cao 2 thiên thể, hệ phương trình vòng đẳng cao thu được

1 1 1

2 2 2

sin sin .sin os . os .cossin sin .sin os . os .cos

1 L

2 L

h φ c c th φ c c t

(1.26)

từ 1 trong 2 phương trình trên chia cho sinδ:

sin .cossinsin tan

Lh cos t (1.27)

Đặt : costantan

Lt

thay vào phương trình trên nhận được :

sin .sin( )sinh cos

(1.28)

=>

2 1

1 2 1 2 1 2

1 1 2 2

1 2 1 2 1 2

(sin .sin sin .sin )osos .sin .cos os .sin .cosos .sin .cos os .sin .cossinos .sin .cos os .sin .cos

1 2

L L

2 L 1 L

L L

h hcc t c tc h t c h tc t c t

(1.29)

Do : 2 2sin os 1c (1.30)

thay hệ thức (1.26) vào (1.28) nhận được :

21 2 1 2.cos .cos . .cos .cos L L L LA t B t C t D t E (1.31)

trong đó :

1 2 2 1

1 2 2 1

2 1

= cos .(sin - sin ), = cos .(sin - sin ) = cos .(sin + sin ), = cos .(sin + sin ) = sin .sin sin .sin

2 1

2 1

1 2

A h B hC h D hE h h

(1.32)

Mặt khác : HA12 = tL1 + tL2 => tL1 = tL2 - HA12 (1.33)

= > costL1 = cosHA12.costL2 + sinHA12.sintL2

= p.costL2 + q.sintL2 (1.34)

Page 29: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

19

Thay (1.30) vào (1.29) nhận được :

[(A.p – B).costL2 + A.q.sintL2].[(C.p – D).costL2 + C.q.sintL2] = E2 (1.35)

Đặt :

R = ± [(A.p – B)2 + (A.q)2]1/2, sinα = [(A.p – B)/R], cosα = (A.q/R)

tanα = [(A.p – B)/A.q], (1.36)

S = ± [(C.p – D)2 + (C.q)2]1/2, sinγ = [(C.p – D)/S], cosγ = (C.q/S)

tanγ = [(C.p – D)/ C.q]. (1.37)

Chia hai vế của (1.31) cho R.S nhận được :

sin(tL2 + α).sin(tL2 + γ) = (E2/R.S) (1.38)

=> cos(2.tL2 + α + γ) = cos(α - γ) – 2.(E2/R.S) (1.39)

Thứ tự các bước tính toán theo phương pháp như sau :

Bước 1: tính các hệ số A, B, C, D, E, p, q, R, S từ các phương trình (1.32),

(1.33), (1.34), (1.35), (1.36), (1.37).

Bước 2: tính các hệ số α, γ từ các phương trình (1.36), (1.37)

Bước 3: tính các giá trị tL2, tL1 dựa vào phương trình (1.39) từ đó xác định λ

Bước 4 : tính toán giá trị từ các phương trình (1.26), (1.27), (1.28).

Trên đây là các phương pháp xác định vị trí tàu bằng thiên văn từ

những năm 1837 đến nay, các phương pháp ra đời sau khắc phục nhiều nhược

điểm của phương pháp trước. Tuy nhiên, cho đến nay thì chưa có một phương

pháp nào thực sự ưu việt khắc phục tất cả những nhược điểm của hàng hải

thiên văn.

1.3 Độ chính xác của các phương pháp xác định vị trí tàu bằng quan sát

thiên văn từ trước đến nay

Như đã phân tích ở trên, các phương pháp Sumner, Paludal, Akimov,

Saint Hilaire đều là những phương pháp gần đúng vì chúng sử dụng các

Page 30: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

20

đường cao vị trí thay thế vòng đẳng cao để xác định vị trí tàu. Mặt khác, khi

tiến hành đồ giải đường cao vị trí trên hải đồ Mecator, sai số do việc thao tác

còn ảnh hưởng đến độ chính xác của phương pháp. Dưới đây, đề tài phân tích

đặc điểm về sai số cũng như độ chính xác của các phương pháp thiên văn hiện

nay để thấy được những hạn chế của chúng.

Đối với phương pháp Sumner hay Paludal, nếu các đại lượng Δφ; Δλ

được chọn quá lớn và độ cong của vòng đẳng cao cũng lớn thì độ chính xác

của vị trí nhận được theo các phương pháp này sẽ thấp. Mặt khác, phương vị

thiên thể cũng ảnh hưởng đến độ chính xác của 2 phương pháp xác định trên,

vị trí tàu xác định sẽ không được hiệu chỉnh các yếu tố gây ra sai số như: quan

sát thiên thể không đồng thời, tốc độ tàu quá lớn, sự chuyển động ngày đêm

của địa cầu…vv. Từ những lý luận trên có thể thấy 2 phương pháp Sumner và

Paludal có độ chính xác thấp, vị trí xác định kém tin cậy. Với các nhược điểm

trên, ngày nay 2 phương pháp này chủ yếu được đề cập nhằm mục đích tham

khảo trong các tài liệu hàng hải thiên văn cổ điển.

Với 2 phương pháp của Akimov và Saint – Hilaire, nguyên nhân gây

sai số phương pháp có thể kể đến như: sai số do thay thế đường cong của

vòng đẳng cao bằng đường thẳng, sai số trong phương vị thiên thể AC, sai số

trong khi đặt khoảng cách ∆h trên đường MCa. Do hình chiếu của vòng đẳng

cao trên hải đồ Mecator là 1 đường cong phức tạp, việc thao tác đồ giải không

dễ dàng nên người ta thay thế vòng đẳng cao thiên thể bằng 1 đường thẳng

gần với vị trí dự đoán. Đây là nguyên nhân chính gây ra sai số của phương

pháp.

Sai số do vạch đường phương vị là đường thẳng, thực tế đường này là 1

đường cung vòng lớn, tuy nhiên do hình chiếu của nó xuống hải đồ Mecator

là 1 đường cong và việc đồ giải đường cong này rất khó khăn nên người ta

cũng thay thế đường cong này bằng một đường thẳng.

Page 31: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

21

Mặt khác, khi đặt khoảng cách ∆h trên một đường thẳng nó sẽ khác với

khi được đặt trên đường cong. Thực tế, đoạn ∆h là khoảng cách giữa MC và a

theo đường cong. Do vậy, sai số do đặt khoảng cách ∆h cũng ảnh hưởng đáng

kể đến độ chính xác của phương pháp. Từ những nguyên nhân trên, có thể

thấy vị trí tàu xác định có độ tin cậy không cao. Phương pháp xác định vị trí

tàu sử dụng quy tắc bình phương nhỏ nhất thực tế là xác định vị trí tàu bằng

các đường cao vị trí. Vị trí tàu xác định thỏa mãn điều kiện tổng bình phương

khoảng cách đến các đường cao vị trí là nhỏ nhất, nói cách khác vị trí xác

định chịu ảnh hưởng ít nhất của sai số ngẫu nhiên. Ưu điểm khi sử dụng

phương pháp này là sỹ quan hàng hải không cần đồ giải các đường cao vị trí,

đặc biệt là không cần thao tác các đường đối trung tuyến trong tam giác sai

số. Tuy nhiên, vị trí tàu xác định theo phương pháp cũng không tính đến các

yếu tố gây sai số một cách triệt để.

Phương pháp tính toán vị trí tàu bằng hệ phương trình vòng đẳng cao là

một phương pháp mới, sử dụng phép biến đổi các công thức lượng giác. Khi

sử dụng các phép biến đổi như vậy, vị trí tàu mang sai số từ các ẩn phụ θ, α,

β. Mặt khác, cũng giống với các phương pháp trước đây, Phương pháp này

cũng không đề cập đến những yếu tố gây sai số cho vị trí xác định như: quan

sát thiên thể không đồng thời, tốc độ tàu, tốc độ biến thiên độ cao thiên thể.

Từ những phân tích về độ chính xác của các phương pháp xác định vị trí bằng

thiên văn hiện nay, có thể thấy rằng chúng đều có những ưu nhược điểm nhất

định và đến nay vẫn chưa có 1 phương pháp nào thực sự ưu việt về mặt lý

thuyết có thể loại trừ hết sai số.

1.4 Xu hướng phát triển hàng hải thiên văn trong tương lai

Hàng hải thiên văn là 1 môn khoa học cổ điển trong ngành hàng hải,

trước đây để có được vị trí tàu xác định, các nhà hàng hải phải mất rất nhiều

thời gian để giải 1 số lượng không nhỏ các bài toán khác nhau như: tính toán

Page 32: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

22

thời điểm quan sát thiên thể, lựa chọn thiên thể để quan sát, xác định tọa độ

thiên thể trên thiên cầu tại thời điểm quan sát, hiệu chỉnh độ cao thực tế của

thiên thể, tra bảng xác định độ cao và phương vị thiên thể tại vị trí dự đoán….

Trong kỷ nguyên thứ 21 của loài người, hàng hải thiên văn không

những được sử dụng để dẫn đường cho tàu thuyền vượt qua các Đại dương

mà còn được nghiên cứu phát triển và ứng dụng trong việc dẫn đường cho các

loại robot thăm dò, lấy tư liệu trên các hành tinh khác như: mặt trăng, sao

kim, sao hỏa, sao thổ…..vv. Trong nội dung đề tài, tác giả xin giới thiệu một

số thành tựu mới của hàng hải thiên văn trong thời gian gần đây, từ đó đưa ra

những nhận định, dự đoán về xu hướng phát triển trong tương lai của phương

pháp hàng hải này.

Khi được ứng dụng để dẫn đường trên các hành tinh khác, người ta xây

dựng thiên cầu như đối với trái đất [7], tuy nhiên, các thiết bị như: quả cầu

sao, đĩa tìm sao, sextant, thời kế, lịch thiên văn không được sử dụng như đối

với phương pháp thiên văn xác định vị trí trên trái đất, thay vào đó những

thiết bị tự động sẽ được sử dụng như: thiết bị nhận dạng sao, thiết bị đo độ

nghiêng, chúi của bộ phận cảm ứng trong robot (hình 1.7) [11].

Hình 1.7. Robot thăm dò

Page 33: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

23

Thiết bị nhận dạng sao (hình 1.8) chụp ảnh thực tế các ngôi sao tại khu

vực mà thiết bị này quan sát, những hình ảnh này sẽ được so sánh với hình

ảnh thực tế của các chòm sao đã được lưu giữ trong bộ nhớ CPU của thiết bị

nhận dạng sao, kết hợp với thiết bị đo tốc độ góc nghiêng ngang, nghiêng dọc

của bộ phận cảm ứng. Dữ liệu thu nhận từ 2 thiết bị nhận dạng sao và máy đo

độ nghiêng có thể tính toán vị trí trên hành tinh theo mô hình thuật toán

chuyển động của Euler (1.40):

'' '

x

y zv sensedx v y v

z

nn = n = R (-θ).R (- ).R (ψ).n

n

cos( )2

tan( )

z

y

x

v

a n

na

n

(1.40)

Hiện nay, khi thiết bị máy thu tín hiệu GPS trên tàu gặp sự cố hay bị

hạn chế sử dụng do nhiều nguyên khác nhau thì hệ thống hàng hải quán tính

được xem là một phương pháp hữu ích để khác phục những nhược điểm ấy,

tuy nhiên, hệ thống hàng hải quán tính cũng có nhiều nhược điểm như: sai số

Hình 1.8. Thiết bị nhận dạng sao tự động

Page 34: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

24

thiết bị đo quán tính, sai số thiết bị xác định hướng, sai số do nhiễu ồn…….vv

Sai số tổng hợp tỷ lệ thuận với quãng đường thực hiện. Do đó việc hiệu chỉnh

các yếu tố gây sai số cho hệ thống là cần thiết để loại trừ sai số tổng hợp.

Trong tương lai, sự kết hợp 2 phương pháp hàng hải thiên văn và hàng hải

quán tính sẽ tiếp tục được nghiên cứu phát triển và ứng dụng trong dẫn đường

cho các tàu vượt Đại dương, đây được xem như sự thay thế hoàn hảo khi máy

thu tín hiệu GPS bị hư hỏng hoặc không thu được sóng tại một số khu vực

trên thế giới.

1.5 Kết luận chương 1

Trong chương này, luận văn đã trình bày chi tiết các phương pháp xác

định vị trí tàu bằng thiên văn được sử dụng từ trước đến nay, phân tích ưu

nhược điểm của từng phương pháp. Hơn nữa, đề tài cũng chỉ ra một ứng dụng

của phương pháp hàng thiên văn trong lĩnh vực khác, từ đó đưa ra những dự

đoán về xu hướng phát triển trong tương lai của phương pháp.

Với những lập luận logic trên, có thể thấy rằng việc nghiên cứu phát

triển những phương pháp mới để xác định vị trí tàu bằng thiên văn là sự vận

động tất yếu phù hợp với quy luật khách quan nhằm đáp ứng những yêu cầu

cao hơn trong tương lai.

Page 35: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

25

CHƯƠNG 2. CƠ SỞ DỮ LIỆU VÀ NGÔN NGỮ LẬP TRÌNH SỬ

DỤNG ĐỂ XÂY DỰNG CHƯƠNG TRÌNH TÍNH TOÁN VỊ TRÍ TÀU

2.1 Các yếu tố cần thiết để giải bài toán xác định vị trí tàu bằng phương

pháp thiên văn, cơ sở dữ liệu cho chương trình tính toán

Để tính toán vị trí tàu bằng phương pháp thiên văn, phải giải các bài

toán: hiệu chỉnh độ cao thực tế của thiên thể, xác định tọa độ thiên thể tại thời

điểm quan sát, hiệu chỉnh độ cao từ thời điểm trước về thời điểm sau.

2.1.1 Hiệu chỉnh về độ cao thật của thiên thể, hệ thức tính toán, hiệu chỉnh độ

cao thiên thể thời điểm trước về thời điểm sau

2.1.1.1 Sự cần thiết phải hiệu chỉnh độ cao thiên thể

Độ cao thiên thể là số đo góc hợp bởi mặt phẳng chân trời thật và

đường thẳng nối tâm thiên cầu với tâm thiên thể [1] cũng có thể tính là số đo

cung vòng thẳng đứng giới hạn từ mặt phẳng chân trời thật đến vị trí thiên thể.

Thực tế, khi đo độ cao thiên thể bản thân Sextant bao giờ cũng có sai số dụng

cụ và sai số vạch chuẩn tác động, vậy để nhận được số đo độ cao chính xác

cần phải tính đến lượng hiệu chỉnh (i + s) của hai sai số này.

Người quan sát đứng trên địa cầu với chiều cao (e) so với mặt biển để

đo, độ cao thiên thể theo lý thuyết là góc ở tâm thiên cầu. Do vậy phải hiệu

chỉnh thêm lượng độ cao (Dip) do người quan sát đứng trên mặt địa cầu, độ

nghiêng chân trời luôn làm tăng giá trị độ cao vì vậy số hiệu chỉnh độ nghiêng

chân trời luôn âm.

Mặt khác, mật độ khí áp giảm dần theo độ cao nên môi trường chiết

suất qua từng lớp không khí cũng thay đổi, vậy tia tới từ thiên thể đến mắt

người quan sát cũng bị khúc xạ trở thành 1 đường cong liên tục, do đó người

quan sát nhìn thấy thiên thể theo phương tiếp tuyến với đường cong đó tại vị

Page 36: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

26

trí mắt người quan sát, thiên thể từ vị trí C bị nâng tới vị trí C’ một góc gọi

là khúc xạ thiên văn. Trong điều kiện tiêu chuẩn, khí áp P = 760mmHg, nhiệt

độ tO = +10˚C khúc xạ thiên văn được gọi là khúc xạ thiên văn trung bình O.

Theo lý thuyết, độ cao thiên thể là góc tính từ tâm thiên cầu hợp bởi

đường thẳng nối tâm thiên thể với tâm thiên cầu và mặt phẳng chân trời thật,

trong các bảng toán người ta lấy tâm thiên cầu trùng với tâm trái đất. Nhưng

thực tế người quan sát lại đứng trên bề mặt trái đất để đo độ cao thiên thể do

vậy cần phải hiệu chỉnh với góc thị sai nhìn thấy hàng ngày PA (góc từ thiên

thể nhìn thấy bán kính trái đất).

Một số thiên thể có bán kính nhìn thấy lớn khi làm chập ảnh của chúng

với đường chân trời rất khó làm tiếp xúc tâm với đường chân trời, người ta

thường phải đo qua mép do vậy cần phải hiệu chỉnh một đại lượng bán kính

góc (SA) của thiên thể đối với độ cao.

Do điều kiện khí hậu , thời tiết luôn thay đổi so với điều kiện tiêu chuẩn

khi lập bảng, vì vậy cần phải hiệu chỉnh thêm một lượng sai số độ cao theo

lượng thay đổi áp suất hB, theo nhiệt độ ht. Với những nguyên nhân trên

khi đo độ cao thiên thể bằng Sextant phải hiệu chỉnh độ cao đo được để tìm ra

độ cao thật hS. hệ thức độ cao sau khi hiệu chỉnh là :

hS = OC + i + s – Dip - R + PA SA (2.1)

2.1.1.2 Hệ thức tính toán các số hiệu chỉnh độ cao thiên thể [10]

Số hiệu chỉnh sai số dụng cụ (Index erorr):

Được nhà sản xuất tính toán và cho sẵn trong hồ sơ của sextant. Sỹ

quan hàng hải phải hiệu chỉnh những sai số này, công thức tính:

I = i + s (2.2)

Số hiệu chỉnh độ nghiêng chân trời (Dip):

Page 37: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

27

0Dip = 0 .0293. e (e tính theo m) = 00 .97. e (e tính theo ft) (2.3)

Số hiệu chỉnh do hiện tượng khúc xạ thiên văn (Refraction)

Tại nhiệt độ 100C và khí áp tiêu chuẩn 1010mb, giá trị khúc xạ thiên

văn được xác định theo hệ thức :

R0 = 00.0167/ tan(H + 7.32/(H + 4.32))

H = OC + I – Dip (2.4)

Nếu nhiệt độ và khí áp xác định, khúc xạ thiên văn được tính toán như

sau:

f = 0.28.P/(H + 273)

R = R0.f (2.5)

Nếu nhiệt độ và khí áp không xác định thì : R = R0

Số hiệu chỉnh thị sai thiên thể (Parallax):

PA = HP.cosH (2.6)

Đối với mặt trời :

HP = 00.0024

Đối với định tinh :

HP = 0

Đối với mặt trăng :

HP = UTC/60

Số hiệu chỉnh do thiên thể có bán kính lớn (Semi Diameter) :

Khi quan sát độ cao của mặt trời, mặt trăng sỹ quan hàng hải phải tính

đến sai số này :

Đối với mặt trời : SA = SD/60 (2.7)

Đối với mặt trăng : SM = 0.2724.HP

Page 38: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

28

2.1.1.3 Hiệu chỉnh độ cao thiên thể thời điểm trước về thời điểm sau

Như đã đề cập ở chương 1, các phương pháp xác định vị trí tàu bằng

thiên văn hiện nay đều có độ tin cậy thấp, vị trí xác định kém chính xác.

Nguyên nhân là do các phương pháp trên đều mắc 2 loại sai số: sai số do thay

thế vòng đẳng cao bằng đường cao vị trí và sai số không đồng thời. Để nâng

cao độ chính xác vị trí tính toán bằng bất kỳ phương pháp nào, cần thiết phải

quy độ cao thiên thể về cùng một thời điểm, một thiên đỉnh.

Hiệu chỉnh độ cao thiên thể về cùng một thời điểm

Do trái đất chuyển động theo chiều từ tây sang đông, người quan sát sẽ

thấy thiên cầu chuyển động theo chiều ngược. Trong chuyển động nhìn thấy

hàng ngày, thiên thể luôn thay đổi tọa độ trên thiên cầu, do đó độ cao thiên

thể tại những thời điểm khác nhau sẽ khác nhau. Để nâng cao độ chính xác

của vị trí xác định, ảnh hưởng của chuyển động quay trái đất đến sự thay đổi

độ cao thiên thể phải được tính đến và hiệu chỉnh theo hệ thức (2.8), [1]:

Δh = cosφ.sinA.ΔT (2.8)

Hiệu chỉnh độ cao thiên thể về cùng một thiên đỉnh

Khi tàu chuyển động, thiên đỉnh người quan sát luôn thay đổi dẫn đến

độ cao thiên thể tại 2 thời điểm sẽ thay đổi, vị trí tính toán dựa vào số liệu

hiện tại sẽ thiếu chính xác. Vì vậy cần thiết phải hiệu chỉnh độ cao của thiên

thể quan sát trước về thời điểm quan sát thiên thể thứ 2, đặc biệt đối với

trường hợp xác định vị trí tàu bằng quan sát mặt trời không đồng thời thì số

hiệu chỉnh này là điều bắt buộc [1]:

∆h = S.cos(A – HT) (2.9)

khi tốc độ tàu và khoảng thời gian quan sát thiên thể quá lớn có thể tính đến

độ cong của trái đất :

∆h = S.cos(A1 – HT) – S.sin(A1 – HT).tg((A2 – HT)/2) (2.10)

Page 39: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

29

2.1.2 Hệ thức tính toán tọa độ thiên thể trên thiên cầu

Tọa độ của thiên thể tại thời điểm bất kỳ được lập thành bảng trong lịch

thiên văn hàng hải. Khi giải các bài toán, sỹ quan hàng hải phải tra lịch thiên

văn với đối số là giờ thế giới, từ thông số này sẽ tính chính xác tọa độ thiên

thể tại thời điểm quan sát. Ngoài cách sử dụng Lịch thiên văn, có thể xác định

toạ độ của thiên thể dựa vào những hệ thức toán học (2.17), (2.18).

Trong chương trình tính toán vị trí tàu, tác giả nhập vào phần Module

các hệ thức tính toán trực tiếp tọa độ thiên thể tại thời điểm bất kỳ. Các hệ

thức trên được trình bày trong cuốn “A Short guide to Celestial Navigation”

của tác giả Henning Umland (xuất bản năm 2006) chi tiết xem thêm [8].

Theo đó, tọa độ của mặt trời, điểm xuân phân sẽ có sai số lớn nhất

trong các trường hợp là ± 0’6, sai số nhỏ hơn ± 0’3 trong 100 ngày được chọn

ngẫu nhiên. Hệ thức trên có thời gian áp dụng từ năm 1900 đến 2049.

2.1.2.1 Góc giờ thế giới của điểm xuân phân

Hệ số quỹ đạo của trái đất

T = 367.y – Int[1.75.(y+Int((m + 9)/12))] + Int(275.m/9) +

d + UT/24 – 730531.5 (2.11)

Góc giờ thế giới của điểm xuân phân

GHAγ = 0.9856474.T + 15.UT + 1.0046062 (2.12)

2.1.2.2 Góc giờ và xích vĩ của mặt trời

Hệ số dị thường trung bình của mặt trời

g = 0.9856003.T – 2.472 (2.13)

Kinh độ trung bình của mặt trời

LM = 0.9856474.T – 79.53938 (2.14)

Kinh độ thật của mặt trời

Page 40: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

30

LT = LM + 1.915.sing +0.02.sin2g (2.15)

Góc giữa 2 mặt phẳng hoàng đạo và thiên xích đạo

ε = 23.439 – 4.T.10-7 (2.16)

Xích vĩ mặt trời

Dec = arcsin(sinLT.sinε) (2.17)

Góc giờ mặt trời

GHA = GHAγ – 2.arctan[(cosε.sinLT)/(cosDec + cosLT)] (2.18)

2.1.2.3 Tọa độ xích đạo loại 2 của các ngôi sao

Theo bảng 1.1, tọa độ của 57 ngôi sao trong Hàng hải được tính toán và

lấy trung bình cho năm 2010. Tuy nhiên, do hiện tượng tuế sai, chương động

của trục trái đất dẫn đến tọa độ tính toán theo bảng sau chỉ đúng trong 1

khoảng thời gian nhất định từ năm 2010 đến 2030. Xem thêm trong [8].

Tọa độ tính toán của một ngôi sao bất kỳ được xác định theo hệ thức:

SHA* = SHA(2010) + (năm tính - 2010).∆SHA

GHA* = GHAγ + SHA*

Dec* = Dec(2010) + (năm tính - 2010).∆Dec

Bảng 1.1 Tọa độ và biến thiên theo thời gian của các ngôi sao

Name SHA ∆SHA Dec ∆Dec

Acamar 315020’4 - 0’6 S40015’9 - 0’2

Achernar 335028’9 - 0’5 S57011’1 - 0’3

Acrux 173011’5 - 1’0 S63009’6 + 0’3

Adhara 255014’4 - 0’6 S28059’4 + 0’2

Aldebaran 290052’3 - 0’9 N16031’8 + 0’1

Page 41: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

31

Alioth 166022’0 - 0’6 N55054’1 - 0’4

Alkaid 153000’1 - 0’5 N49015’5 - 0’3

Al Na’ir 27046’9 - 0’9 S46054’5 - 0’3

Alnilam 275048’8 - 0’7 S1011’8 + 0’1

Alphard 217058’2 - 0’8 S8042’4 + 0’3

Alphecca 126012’7 - 0’6 N26040’5 - 0’1

Alpheratz 357046’3 - 0’8 N29008’8 - 0’3

Altair 62010’6 - 0’7 N8053’6 + 0’2

Ankaa 353018’3 - 0’7 S42015’0 - 0’3

Antares 112029’0 - 1’ S26027’3 - 0’1

Arcturus 145057’5 - 0’7 N19007’5 - 0’3

Atria 107032’7 - 1’6 S69002’6 - 0’1

Avior 234018’9 - 0’4 S59032’9 + 0’2

Bellatrix 278034’6 - 0’8 N6021’5 - 0’1

Betelgeuse 271003’9 - 0’8 N7024’5 - 0’1

Canopus 263057’3 - 0’4 S52042’4 + 0’1

Capella 280038’1 - 1’1 N46000’6 - 0’1

Deneb 49033’4 - 0’6 N45018’8 + 0’2

Denebola 182035’7 - 0’6 N14030’7 - 0’4

Diphda 348058’5 - 0’7 S17055’8 - 0’3

Dubhe 193053’7 - 0’8 N61041’7 - 0’3

Page 42: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

32

Elnath 278015’7 - 0’9 N28037’0 0

Eltanin 90047’1 - 0’4 N51028’9 0

Enif 33049’7 - 0’8 N9055’2 + 0’3

Fomalhaut 15026’8 - 0’8 S29034’0 - 0’3

Gacrux 172003’1 - 0’9 S57010’4 + 0’4

Gienah 175054’4 - 0’8 S17036’2 + 0’3

Hadar 148050’8 - 1’2 S60025’4 + 0’3

Hamal 328003’8 - 0’9 N23030’7 + 0’2

Kaus Aust 83046’9 - 1’ S34022’7 - 0’1

Kochab 137018’6 + 0’2 N74006’5 - 0’2

Markab 13041’0 - 0’8 N15015’6 + 0’3

Menkar 314017’8 - 0’8 N4007’8 + 0’2

Menkent 148010’0 - 0’9 S36025’4 + 0’2

Miaplacidus 221039’9 - 0’3 S69045’9 + 0’3

Mirfak 308044’2 - 1’1 N49054’0 + 0’2

Nunki 76001’2 - 0’9 S26017’0 - 0’1

Peacock 53023’0 - 1’1 S56041’9 - 0’2

Pollux 243030’5 - 0’9 N28000’1 - 0’2

Procyon 245002’1 - 0’8 N5011’8 - 0’2

Rasalhague 96008’5 - 0’7 N12032’9 0

Regulus 207045’7 - 0’8 N11054’8 - 0’3

Page 43: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

33

Rigel 281014’4 - 0’7 S8011’5 0

Rigil Kent 139054’5 - 1’1 S60052’6 + 0’3

Sabik 102015’1 - 0’9 S15044’3 + 0’1

Schedar 349044’0 - 1’ N56035’6 + 0’4

Shaula 96025’0 - 1’1 S37006’6 0

Sirius 258035’8 - 0’7 S16044’0 + 0’2

Spica 158033’4 - 0’8 S11013’1 + 0’3

Suhail 222054’9 - 1’5 S43028’8 + 0’3

Vega 80040’5 - 0’5 N38047’3 + 0’1

Zuben’ubi 137007’8 - 0’9 S16005’2 + 0’2

2.2 Ngôn ngữ lập trình sử dụng để xây dựng chương trình

Trong tin học, để xây dựng 1 chương trình xử lý, có thể sử dụng nhiều

ngôn ngữ lập trình khác nhau như Pascal, Delphi, Dotnet, Foxtran, Matlab,

Visual basic, C, C ++…vv. Việc chọn lựa ngôn ngữ lập trình phụ thuộc vào

sự chuyên nghiệp của lập trình viên đối với ngôn ngữ đó cũng như là đáp ứng

yêu cầu xử lý bài toán một cách hoàn thiện.

Với đề tài, tác giả sử dụng ngôn ngữ lập trình Visual basic do hãng

Microsoft sản xuất phiên bản 6.0. Trong phần này, đề tài giới thiệu một số

kiến thức cơ bản của ngôn ngữ lập trình Visual basic 6.0 nhằm tạo tiền đề cho

việc thiết lập phần mã lệnh của chương trình tính toán trong chương 3, chi tiết

xem thêm trong [4].

2.2.1 Cài đặt Visual Basic 6.0

Bước 1: Bỏ đĩa compact vào CD drive.

Page 44: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

34

Bước 2: Nếu menu không tự động hiện lên thì chạy chương trình Setup có sẵn

tong folder gốc trên đĩa compact.

Bước 3: Chọn nút Custom trong hộp thoại Microsoft Visual Basic 6.0 Setup.

Bước 4: Chọn hay xóa các thành phần bằng cách check hay uncheck các hộp

danh sách Options của Custom. Thực hiện các chỉ dẫn cài đặt trên màn hình

2.2.2 Các điều khiển của Visual Basic

Form: là nơi thiết kế chương trình Windows. Trên Form, lập trình viên sẽ vẽ

cũng như đặt các khuôn mục để người sử dụng chương trình sẽ thấy và thao

tác. Nếu sử dụng trình xử lý từ trên Windows, cửa sổ sẽ chứa tài liệu vốn

đang được hiệu chỉnh.

Toolbox : Cửa sổ này chứa các thanh công cụ, những công cụ trên còn được

gọi là các điều khiển. Dưới đây là 1 số điều khiển cơ bản được dùng trong

chương trình:

TextBox: là điều khiển được dùng nhiều nhất để hiển thị các ô trống cho

phép người dùng nhập dữ liệu. Để quy định đặc tính sử dụng cho Textbox

Hình 2.1 Cửa sổ làm việc của Visual Basic

Page 45: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

35

người dùng vào phần Property bên góc phải phía dưới màn hình để điều chỉnh

cho phù hợp với mục đích sử dụng.

CommandButton: là điều khiển dùng vào việc xử lý một sự kiện khi

người dùng click lên nút lệnh. Sự kiện ta dùng thường nhất cho

CommanButton là Click. Muốn thay đổi tên của nút điều khiển này vào thư

mục caption trong Property để thực hiện.

Label: thường được gọi là nhãn, mục đích chính của nhãn là để hiển thị

không cho người dùng thay đổi như Textbox. Có thể dùng Property Font,

ForeColor và Backcolor để làm cho nó đẹp mắt.

CheckBox: là điều khiển dùng để người sử dụng xác nhận có đặc tính

nào một cách nhanh chóng. Đặc tính giá trị của CheckBox có thể là Checked.

Người dùng vào phần Property để định dạng đặc tính cho điều khiển.

OptionButton: là điều khiển có hình tròn với một chấm ở giữa, thay gì

hình vuông với một gạch ở giữa như CheckBox. OptionButton luôn luôn

được tập hợp thành một nhóm.

Combobox: là điều khiển cho phép người lập trình nhập dự liệu vào

trước, loại điều khiển này sẽ tiết kiệm không gian màn hình bằng cách chỉ

chiếm 1 dòng trên mẫu biểu cho đến khi người dùng mở danh sách để hiển thị

các mục còn lại trong đó điều khiển combobox chia làm 2 loại: combobox xổ

xuống và combobox đơn giản. Để xem danh sách, nhấn mũi tên xuống cuối

hộp combobox sẽ thấy danh sách hiển thị như minh họa. Nhấn lại mũi tên

xuống 1 lần nữa, danh sách sẽ cuộn trở lại và xóa sạch sự lộn xộn của dữ liệu

phụ trên màn hình.

Listbox: là điều khiển gần giống với combobox. Tuy nhiên, điều khiển

cho phép dữ liệu hiển thị 1 loạt trên màn hình khác biệt so với dữ liệu hiển

thị trên 1 dòng của điều khiển combobox.

Page 46: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

36

Ngoài các điều khiển hiển thị trên Toolbox, Visual Basic còn có nhiều

loại khác, muốn sử dụng thêm các điều khiển khác thì nhấn Ctr + T người

dùng sẽ có nhiều lựa chọn mới về các điều khiển.

Project: Chương trình Visual Basic trên Windows bao gồm nhiều kiểu tập tin

khác nhau phục vụ mọi công việc trong trình ứng dụng chạy độc lập, cửa sổ

Project bao gồm danh sách các tập tin được sử dụng trong trình ứng dụng hiện

hành, cửa sổ này chỉ mô tả những tập tin chứa trên đĩa.

Properties: là tập hợp đặc tính của các điều khiển mà người dùng có thể ấn

định lúc thiết kế hay chạy thử. Có nhiều Properties về diện mạo, nếu thay

đổi lúc thiết kế sẽ thấy kết quả hiện ra lập tức.

Code : Là phần mã lệnh của chương trình, khi người dùng chạy chương

trình, Visual Basic và máy tính sẽ biên dịch mã nguồn đó và thi hành lệnh

trong mã nguồn để xử lý thông tin thông đầu vào.

2.2.3 Biến số, hằng số và các kiểu dữ liệu trong Visual Basic

2.2.3.1 Biến số

Biến được dùng để lưu tạm thời các giá trị trong quá trình tính toán xử

lý chương trình. Khi xử lý một chương trình, luôn cần thiết phải lưu trữ một

giá trị nào đó để tính toán, so sánh chúng với nhau và thực hiện các xử lý

khác nhau dựa vào kết quả so sánh hay tính toán chúng. Visual Basic hay các

ngôn ngữ lập trình khác đều dùng các biến chương trình để lưu giữ các giá trị,

để khai báo biến số ta dùng lệnh Dim:

Dim <Tên biến > [As<kiểu dữ liệu>]

Biến khai báo trong thủ tục chỉ tồn tại khi thủ tục thi hành. Nó sẽ biến

mất khi thủ tục chấm dứt. Giá trị của biến trong thủ tục là cục bộ đối với thủ

tục đó, nghĩa là ta không thể truy nhập biến từ bên ngoài thủ tục. Nhờ đó, ta

có thể dùng trùng tên biến cục bộ trong những thủ tục khác nhau.

Page 47: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

37

Kiểu dữ liệu trong khai báo Dim có thể là những kiểu cơ bản như

Integer, String hoặc Currency. Ta cũng có thể dùng đối tượng của VB như

Object, Form1, TextBox hoặc của các ứng dụng khác.

Khai báo biến trong phần Declarations của một module nghĩa là biến

đó tồn tại và có tầm hoạt động trong module đó. Khai báo biến với từ khoá

Public nghĩa là biến đó tồn tại và có tầm hoạt động của toàn ứng dụng.

Khai báo biến cục bộ với từ khoá Static nghĩa là mặc dầu biến đó biến

mất khi thủ tục chấm dứt, nhưng giá trị của nó vẫn được giữ lại để tiếp tục

hoạt động khi thủ tục được gọi trong lần sau.

Khai báo ngầm: nghĩa là ta không cần khai báo tường minh trước khi

sử dụng biến, mặc dù cách này có vẻ thuận tiện nhưng có thể gây lỗi nếu ta

gõ nhầm tên biến.

Khai báo tường minh: để tránh những rắc rối trên, nên quy định Visual

Basic phải báo lỗi khi gặp một tên biến không khai báo với dòng lệnh: Option

Explicit trong phần Declarations của module. Một cách khác, từ menu Tools,

chọn Options, chọn tab Editor và đánh dấu vào tuỳ chọn Require Variable

Declaration, Visual Basic tự động chèn dòng lệnh Option Explicit vào một

module mới, nhưng không phải là những module đã được tạo. Do đó, đối với

các module này, ta phải thêm dòng lệnh bằng tay. Option Explicit chỉ hoạt

động trên từng module. Vì vậy, ta phải thêm dòng này vào mỗi module của

biểu mẫu, module chuẩn, hay module lớp.

Khai báo biến Static: để khai báo tất cả các biến cục bộ trong một thủ

tục là Static, ta đặt từ khoá Static vào tên thủ tục đó Static Function

RunningTotal (num), Visual Basic sẽ hiểu rằng tất cả các biến khai báo trong

thủ tục này đều là Static dù cho chúng được khai báo là Private, là Dim hay

thậm chí là khai báo ngầm. Từ khoá Static có thể đặt ở đầu thủ tục Sub hoặc

Function, kể cả thủ tục xử lý sự kiện hoặc những hàm Private.

Page 48: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

38

2.2.3.2 Hằng số

Hằng dùng để chứa những dữ liệu tạm thời nhưng không thay đổi trong

suốt thời gian chương trình hoạt động. Sử dụng hằng số làm chương trình

sáng sủa và dễ đọc nhờ những tên gợi nhớ thay vì các con số. Visual Basic

cung cấp một số hằng định nghĩa sẵn, nhưng ta có thể tự tạo ra hằng.

Có thể dùng cửa sổ Object Browser để xem danh sách các ứng dụng

hằng có sẵn của VB và VBA (Visual Basic for Application). Các ứng dụng

khác cung cấp những thư viện đối tượng, như Microsoft Excel, Microsoft

Project, hoặc các thư viện của điều khiển ActiveX cũng có hằng định nghĩa

sẵn. Khai báo hằng như sau

Public/private Const <tên hằng> [As <kiểu dữ liệu>]= <biểu thức>

Hằng cũng có tầm hoạt động tương tự biến: Hằng khai báo trong thủ

tục chỉ hoạt động trong thủ tục. Hằng khai báo trong module chỉ hoạt động

trong module. Hằng khai báo Public trong phần Declarations của module

chuẩn có tầm hoạt động trên toàn ứng dụng. Khai báo Public không thể dùng

trong module của biểu mẫu hoặc module lớp.

2.2.3.3 Kiểu dữ liệu trong Visual Basic

Các kiểu dữ liệu dùng trong VB bao gồm:

String: kiểu dữ liệu chuỗi giữ các kí tự. Ta có thể có một kí tự đơn hoặc nhiều

kí tự trong một chuỗi. Một biến giữ một chuỗi gọi là biến chuỗi. Mỗi biến

loại này có thể giữ tới 2 tỉ kí tự.

Integer: kiểu biến giữ các giá trị số nguyên từ -32768 đến 32767.

Long: kiểu biến giữ các số nguyên từ - 2147483648 đến 2147483647.

Single: kiểu biến giữ các số nguyên và số thập phân từ -3,402823E38 đến -

1,401298E-45 (các giá trị âm) và từ 1,401298E-45 đến 3,402823E38 (các giá

trị dương).

Double: kiểu biến giữ các số nguyên và số thập phân từ -1,7976931348623

Page 49: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

39

E308 đến -4,9406564584124E-324 (các giá trị âm) và từ 4,94065645841247E

-324 đến 1,79769313486231E308 (các giá trị dương).

Currency: kiểu biến giữ các số nguyên và số thập phân, nó có thể giữ tới 15

ký số bên trái dấu thập phân và 4 ký số bên phải dấu thập phân.

Date: loại biến lưu giữ thông tin về thời gian từ 1 tháng 1 năm 100 đến 31

tháng 12 năm 9999.

Byte: kiểu biến lưu giũ các số nguyên dương từ 0 đến 255.

Boolean: kiểu biến giữ các giá trị luận lý: True hoặc False.

Variant: kiểu biến có thể giữ tất cả các dữ liệu VB khác nhau. Để kiểm soát

nội dung của dữ liệu, VB dùng kiểu Variant như là kiểu mặc định. Bất kể là

số, ngày/giờ hay chuỗi thì kiểu biến này đều có thể lưu giữ. Tuy nhiên, chỉ

trong trường hợp bắt buộc thì mới dùng kiểu biến này do Visual Basic sẽ phải

thực hiện một số chuyển đổi và vì thế chương trình có thể chạy chậm lại

2.2.4 Hàm và thủ tục trong Visual Basic

2.2.4.1 Thủ tục

Trong quá trình viết mã lệnh, đôi khi có một đoạn lệnh nào đó phải viết

đi viết lại nhiều lần giống nhau điều đó làm chương trình không tối ưu. Để

hợp lý, có thể định riêng đoạn mã lệnh này ở một chỗ nào đó trong chương

trình, đặt tên cho nó, khi cần thực hiện đoạn mã lệnh chỉ cần gọi tên của nó,

đó được gọi là thủ tục của chương trình, thủ tục không trả về giá trị

Cấu trúc của một thủ tục:

[Private | Public | Static] Sub <Tên thủ tục> (Tham số)

Các dòng lệnh

End sub

2.2.4.2 Hàm

Là một đơn thể trong chương trình, tính năng giống với như thủ tục

nhưng khác ở chỗ là sau khi thực hiện phần lệnh, hàm sẽ trả về một giá trị kết

Page 50: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

40

quả, ngoài ra hàm còn có thể được viết trong một biểu thức. Khi muốn sử

dụng một hàm, bạn cần biết tên hàm, loại tham số của hàm và kiểu giá trị trả

về của hàm.

Câu trúc của một hàm:

[Private | Public | Static] Function <Tên hàm> [ tham số As <Kiểu dữ liệu>]

Các dòng lệnh

End Function

Trong trường hợp không khai báo kiểu dữ liệu cho các biến hoặc giá trị

trả về cho hàm, Visual Basic mặc định hiểu đó là kiểu Variant. Dùng Exit sub

để thoát khỏi thủ tục, Exit Function để thoát khỏi hàm.

2.2.5 Cấu trúc điều khiển

2.2.5.1 Cấu trúc chọn

If <điều kiện> Then

các dòng lệnh

End if

Điều kiện là một so sánh hay một biểu thức mang giá trị số. Visual

Basic thông dịch giá trị này thành True hoặc False. Nếu True thì Visual Basic

thi hành dòng lệnh sau từ khoá Then.

If <điều kiện 1> Then

dòng lệnh 1

ElseIf <điều kiện 2> Then

dòng lệnh 2

......

ElseIf <điều kiện n> Then

dòng lệnh n

End if

Để giải quyết trường hợp có quá nhiều ElseIf được sử dùng, giúp

Page 51: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

41

chương trình sáng sủa hơn. Biểu thức để so sánh được tính toán một lần vào

đầu cấu trúc. Sau đó Visual Basic so sánh kết quả biểu thức với từng Case.

Nếu bằng nó thi hành khối lệnh trong Case đó.

Select Case <biểu thức kiểm tra>

Case <danh sách biểu thức 1>

dòng lệnh 1

Case <danh sách biểu thức 2>

dòng lệnh 2

....................

Case else

dòng lệnh n

End Select

Mỗi danh sách biểu thức chứa một hoặc nhiều giá trị, các giá trị cách

nhau bằng dấu phẩy. Mỗi khối lệnh có thể chứa từ 0 đến nhiều dòng lệnh.

Nếu có hơn một Case thoả mãn điều kiện thì Case đầu tiên được thực hiện.

Case else không nhất thiết phải có, dùng trong trường hợp còn lại của các

Case trước.

2.2.5.2 Cấu trúc lặp

Cấu trúc Do…loop

Thi hành một khối lệnh với số lần lặp không định trước, trong đó, một

biểu thức điều kiện dùng so sánh để quyết định vòng lặp có tiếp tục hay

không, điều kiện phải quy về False hoặc True.

dạng 1

Do While <điều kiện>

<khối lệnh>

Loop

dạng 2

Page 52: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

42

Do

<Khối lệnh>

Loop While <điều kiện>

dạng 3:

Do until <điều kiện>

<khối lệnh>

Loop

dạng 4:

Do

<khối lệnh>

Loop Until

Cấu trúc For…Next

For <biến đếm> = <điểm đầu> To <điểm cuối> [Step <bước nhảy>]

<Khối lệnh>

Next [<Biến đếm>]

Sử dụng cấu trúc này với số lần lặp biết trước, cho biến đếm tăng dần hoặc

giảm dần trong vòng lặp. Biến đếm, điểm đầu, điểm cuối và bước nhảy là

những giá trị số, bước nhảy có thể âm hoặc dương. Nếu bước nhảy dương,

điểm đầu phải nhỏ hơn hoặc bằng điểm cuối, nếu bước nhảy âm thì ngược lại.

Cấu trúc For Each…Next

Tương tự vòng lặp For... Next, nhưng nó lặp khối lệnh theo số phần tử

của một tập các đối tượng hay một mảng thay vì theo số lần lặp xác định.

Vòng lặp này tiện lợi khi ta không biết chính xác bao nhiêu phần tử trong tập

hợp.

For Each <phần tử> In <Nhóm>

<khối lệnh>

Next <phần tử>

Page 53: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

43

Câu lệnh Go to

On Error Goto ErrorHandler

Được dùng để bẫy lỗi, khi có lỗi trong mã lệnh, chương trình sẽ nhảy

đến nhãn ErrorHandler và thi hành lệnh ở đó.

2.2.6 Các hàm cơ bản trong Visual Basic

Abs(n) : hàm trả giá trị tuyệt đối của biến n

Atn(n) : hàm trả về giá trị arctang của biến n

cos(n) : hàm trả về giá trị cosin của n

sin(n) : hàm trả về giá trị sin của n

Exp(n) : hàm trả về hàm mũ loga tự nhiên của n

Int(n) : hàm tìm giá trị số nguyên lớn nhất trong những số nguyên nhỏ

hơn số đó

Fix : hàm trả về phần nguyên của một số

Log10 : hàm tính loga cơ số 10

Round (n, x) : hàm làm tròn số n với x số sau dấu phẩy

sqr(n) : hàm tính giá trị căn bậc 2 của n

2.3 Kết luận chương 2

Trong chương này, luận văn đã đưa ra những cơ sở dữ liệu cần thiết để

xây dựng chương trình tính toán như: hệ thức tính toán độ cao thật của thiên

thể, hệ thức tính toán tọa độ của 1 số thiên thể đặc biệt tại 1 thời điểm bất kỳ.

Ngoài ra, bảng tọa độ của các định tinh, sự biến thiên tọa độ theo năm của

chúng cũng được trình bày trong nội dung của chương. Mặt khác, đề tài cũng

nêu một cách khái quát những kiến thức cơ bản của ngôn ngữ lập trình Visual

Basic được tác giả chọn lựa để viết mã lệnh chương trình tính toán.

Page 54: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

44

CHƯƠNG 3. THIẾT LẬP PHƯƠNG PHÁP MA TRẬN VÒNG ĐẲNG

CAO THIÊN THỂ VÀ XÂY DỰNG CHƯƠNG TRÌNH TÍNH TOÁN VỊ

TRÍ TÀU THEO PHƯƠNG PHÁP

3.1 Thiết lập phương pháp ma trận vòng đẳng cao thiên thể tính toán vị

trí người quan sát

3.1.1 Thiên cầu trên hệ tọa độ vuông góc, mối liên hệ giữa tọa độ địa dư của

thiên đỉnh và tọa độ thiên thể trên hệ tọa độ vuông góc

Trong không gian đề các vuông góc, xét hệ tọa độ OXYZ , quy ước 3

trục OZ theo phương thẳng đứng, vector đơn vị là k

, trục OX vuông góc với

trục OZ, vector đơn vị là i

, trục OY vuông góc với 2 trục tọa độ trên, vector

đơn vị là j

(hình 3.1).

Xét thiên cầu với bán kính R =1 (hình 3.2), trục thiên cầu trùng với OZ,

thiên cực bắc PN nằm phía hướng dương của OZ. Mặt phẳng thiên kinh tuyến

Greenwich trùng với mặt phẳng XOZ. Mặt phẳng thiên xích đạo trùng với mặt

phẳng XOY. Tọa độ PM bất kỳ trong hệ tọa độ này được đặc trưng bởi 3 thông

số: PM(x, y, z), mối liên hệ giữa hệ tọa độ vuông góc, địa dư của thiên đỉnh

người quan sát với tọa độ của thiên thể được biểu diễn qua các hệ thức dưới

o

Z

Y

X

i

j

k

z

x y

PM(x, y, z)

Hình 3.1. Hệ tọa độ không gian đề các vuông góc

Page 55: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

45

đây. Từ đó, có thể chuyển đổi tọa độ vuông góc sang tọa độ địa dư :

3.1.2 Thiết lập phương trình vòng đẳng cao thiên thể dạng tọa độ vuông góc

bằng hình học vector

Xét tích vô hướng của 2 vector OC

(x, y, z) và MOP

(X, Y, Z), viết lại 2

vector dưới dạng:

Phương trình (3.4) là phương trình vòng đẳng cao thiên thể dạng tọa độ

vuông góc. Nếu thay tọa độ cực vào (3.4) sẽ thu được phương trình vòng đẳng

cao thiên thể ở dạng lượng giác cầu (3.5):

cos .cos .cos .cos + cos .sin .cos .sin +sin .sin = sinG G Sittδ φ λ δ φ λ δ φ h

=> cos cos (cos cos sin sin ) sin sin sinG G Sit tδ. φ. . λ+ . λ + δ. φ= h

os . os t: os . int

G

G

x c cy c sCz sin

os . os: os .M

X c cP Y c sin

Z sin

( ) ( )MOC.OP = x.i+ y. j+ z.k . X.i+Y. j+Z.k = x.X + y.Y + z.Z

M...OC = x.i+ y. j+ z.k, OP = X.i+Y. j+Z.k,

cos(90 ) sinM S SoOC.OP = R.R. - h = h

2 2 2)( ).(1Zarctg

X Y eYarctgX

Sx.X + y.Y + z.Z = sinh (3.4)

(3.1) (3.2) (3.3)

O

900-hS

λ φ

C

PM

X

Y

Z

Hình 3.2. Thiên cầu trên hệ tọa độ vuông góc

Page 56: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

46

=> cos cos cos sin sin sinL Sitδ. φ. + δ. φ = h (3.5)

Ngoài cách xây dựng trên, phương trình vòng đẳng cao thiên thể có thể

được xây dựng dựa vào phương pháp mặt phẳng. Phương trình mặt phẳng

chứa vòng đẳng cao có dạng:

x.(X – xo) + y.(Y –yo) + z.(Z – zo) = 0

( )OC x; y; z

là vector pháp tuyến của mặt phẳng chứa vòng đẳng cao, điểm

MO(xo, yo, zo) thuộc mặt phẳng vòng đẳng cao, chọn MO là giao điểm của

O C

và mặt phẳng chứa vòng đẳng cao thiên thể, do đó: oOM = k.OC

=> OOM

(k.x, k.y, k.z)

hệ số k = 0.cos(90 )

sinO O M S

SM M

OM OM OP hh

OC OP OP

=> OOM

(x.sinhS; y.sinhS; z.sinhS) => MO (x.sinhS; y.sinhS; z.sinhS)

Phương trình mặt phẳng chứa vòng đẳng cao có dạng :

x.(X - sinhS.x) + y.(Y - sinhS.y) + z.(Z - sinhS.z) = 0

=> x.X + y.Y + z.Z – (x2 + y2 +z2).sinhS = 0

=> x.X + y.Y + z.Z = sinhS vì (x2 + y2 +z2= R2=1)

Vậy PM(X;Y;Z) trên thiên cầu (X2 + Y2 + Z2 = 1) và mặt phẳng vòng

đẳng cao nên phương trình mặt phẳng chứa vòng đẳng cao chính là phương

trình vòng đẳng cao thiên thể.

3.1.3 Phương pháp ma trận vòng đẳng cao thiên thể tính toán vị trí người

quan sát

Giả sử thiên thể Ci có tọa độ Ci (xi; yi; zi) thiên đỉnh người quan sát PM

(X; Y; Z), vị trí dự đoán PE (XE; YE; ZE). Người quan sát đo độ cao đến (n)

thiên thể thu được (n) giá trị độ cao hSi, giải hệ phương trình vòng đẳng cao

thu được tọa độ vuông góc của thiên đỉnh người quan sát.

Page 57: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

47

3.1.3.1 Quan sát 2 thiên thể: hệ phương trình vòng đẳng cao thiên thể như sau

Giải hệ (3.6) theo phương pháp biến đổi đại số thông thường. Tuy

nhiên, phương pháp đại số khá cồng kềnh, phức tạp khi thực hiện viết mã lệnh

cho chương trình dễ gây ra sai sót. Tác giả đề xuất giải hệ trên bằng phương

pháp hình học vector thay vì phương pháp biến đổi đại số (hình 3.3).

Theo tính chất của tam giác vector

i iOP = OL+ LP

(i = 1, 2)

chọn 11 2 2OL = k .OC +k .OC

, k1, k2 xác định theo hệ thức: cos1 2OC .OC = α

cos sincos sin

1 2 2

2 1 1

k . α = h - kk . α = h - k

=>

sin sin cossin

sin sin cossin

1 21 2

2 12 2

h - h . αk =α

h - h . αk =α

=> ( ) ( )2 21 2i

1 2

OC OCLP = r. 1- OL = . 1- OLOC OC

sin. = sin

1

11 1 1

22 2 2

y Xx z hy Yx z h

X Y Z Z

(3.6)

P2

P1

C1

C2 O

α

L

O

α

C2

C1

L

k2. 2OC

k1. 1OC

Hình 3.3. Mô tả phương pháp giải bằng hình học

Page 58: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

48

=> ( )21 21i 1 2 2

1 2

OC OCOP = k .OC +k .OC + . 1-OLOC OC

Hệ thức (3.7) cho phép tính toán tọa độ của vector iOP

đây chính là tọa

độ thiên đỉnh người quan sát trong không gian đề các vuông góc, sau đó kết

hợp với tọa độ dự đoán để lựa chọn nghiệm chính xác.

Thực tế cũng có thể giải hệ (3.6) theo phương pháp lặp đơn, từ vị trí dự

đoán PC(XC, YC, ZC), đặt X1 = XC; Y1 = YC; Z1 = ZC, thay (Y1; Z1) vào phương

trình đầu tiên tìm được giá trị X2, thay (Z1; X1) vào phương trình thứ 2 tìm

được giá trị Y2, thay (X1; Y1) vào phương trình thứ 3 tìm được Z2. Tiếp tục

vòng lặp đến khi (PK+1 -PK) < ε

2 2

1 1 1 11

2 2 2 21

1

. . ) /

. . ) /

(sin

(sin

1

K KK

K KK

K KK

X h y Y z Z x

Y = h x X z Z y

X YZ

3.1.3.2 Quan sát 3 thiên thể: thu được hệ phương trình vòng đẳng cao thiên

thể :

Giải hệ (3.8) theo phương pháp biến đổi đại số Crame:

Biến đổi ma trận nghịch đảo của ma trận thiên thể về ma trận [3 x 3]

sau đó nhân với ma trận độ cao để tìm nghiệm của hệ. Tuy nhiên, trong thực

tế sai số ngẫu nhiên luôn tồn tại và tác động đến độ cao thiên thể gây ra sai số

-1

sinsinsin

11 11

22 2 2

333 3

X y hx zY = .y hx zZ y z hx

1 1 1

2 22

3 3 3

sinsinsin

1

2

3

x y z X hx y z . Y = h

Z hx y z

=>

(3.8)

(3.7)

Page 59: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

49

trong vị trí xác định, để tìm vị trí chịu ảnh hưởng ít nhất của sai số ngẫu nhiên

hay nói cách khác là tìm vị trí xác suất nhất, tác giả giải hệ phương trình trên

theo phương pháp bình phương nhỏ nhất.

3.1.3.3 Quan sát (n > 3) thiên thể: hệ phương trình vòng đẳng cao thiên thể

sinsin

sin

1 11 1

2 222

n nn n

yx hz Xyx hz . Y =

... ... ... ...Z

yx hz

(3.9)

Phương pháp giải trực tiếp: theo phương pháp giải trực tiếp, các ma

trận trên chưa vuông, để có ma trận vuông nhân hệ trên với ma trận chuyển vị

của ma trận thiên thể

( ) ( )

( )

T T

-1-1T T T T.

-1T T

C . P = H

C . C . P = C . H

C . C . C . C . P = C . C C . H

P = C . C . C . H

(3.10)

Phương pháp giải gián tiếp: giải hệ theo phương pháp bình phương

nhỏ nhất tìm nghiệm tối ưu. Khi có sai số tác động đến độ cao thiên thể hS

phương trình vòng đẳng cao có dạng:

Nghiệm tối ưu của bài toán thỏa mãn điều kiện tổng bình phương sai số

nhỏ nhất:

S đạt giá trị nhỏ nhất khi:

.........( sin ) min22n n

siii iii=1 i=1

S = = . + .Y + .Z - hyx X zε

sin s ii i i ix . +y .Y+z .Z = h +X ε (3.11)

(3.12)

Page 60: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

50

Biến đổi hệ phương trình (3.13) thu được :

sin

sin

sin

2Si

2Si

2Si

n n n nii i i.i i

i=1 i=1 i=1 i=1n n n n

ii i.i i ii=1 i=1 i=1 i=1n n n n

i i i.i iii=1 i=1 i=1 i=1

yx x x xz

y y y yx z

yx z z z z

. . hX

. . Y = hZ

. . h

Giải hệ theo phương pháp biến đổi đại số Crame

1-

C . P = H

P = C . H

Sau khi có PM(X, Y, Z) kết hợp với các hệ thức (3.1), (3.2), (3.3) để

chuyển tọa độ đề các vuông góc của thiên đỉnh sang hệ tọa độ địa dư.

3.2 Xây dựng chương trình tính toán vị trí tàu theo phương pháp ma trận

vòng đẳng cao thiên thể

3.2.1 Sơ đồ thuật toán chương trình xác định vị trí tàu theo phương pháp ma

trận vòng đẳng cao thiên thể

Để xác định vị trí tàu, phải xác định độ cao thật của thiên thể, ghi lại

thời điểm quan sát, tốc độ tàu, hướng đi, phương vị đến các thiên thể, hiệu

chỉnh độ cao thiên thể từ thời điểm trước về thời điểm sau. Trong phần này,

tác giả trình bày sơ đồ thuật toán của 3 bài toán chính, trên cơ sở các thuật

toán sẽ xây dựng chương trình tính toán vị trí tàu theo phương pháp ma trận

vòng đẳng cao thiên thể sử dụng ngôn ngữ lập trình Visual Basic.

0

0

0

SXSYSZ

=> (3.13) 1

1

1

( ) 0sin

( sin ) 0

( sin ) 0

ni i ii Sii

niii i Sii

ni ii i Sii

yx x z

y yx z

yxz z

. .X + + - =.Y .Z h

. .X + .Y + .Z - h =

. .X + .Y + .Z - h =

=>

=>

Page 61: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

51

3.2.1.1 Chương trình tính toán vị trí tàu bằng mặt trời không đồng thời

Hình 3.4. Sơ đồ thuật toán chương trình xác định vị trí bằng mặt trời

1 2( ) OC .OCcos α

1 21 2

2 12 2

sinh -sinh .cosαk =sinα

sinh -sinh .cosαk =sinα

Kết thúc ( φ , λ )

11 2 2OL = k .OC + k .OC

21 2

1 2

. (1- )iOC OCLP OLOC OC

21OP ,OP

(XE, YE, ZE) (XO, YO, ZO)

21 2OC (T ),OC

G

G

x=cosδ.cos tOC : y=cosδ.sint

z = sinδ

Bắt đầu Mặt trời

UTC1 UTC2

OC1,2 i+s Dip R HP SD

A

V, HT h2 h1

Các hệ thức

tính toán tọa độ

mặt trời

Bắt đầu

Page 62: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

52

3.2.1.2 Chương trình tính toán vị trí tàu bằng 2 thiên thể

Các hệ thức tính

toán tọa độ thiên thể

Bắt đầu Thiên thể 2

A

V, HT h2 h1

UTC2 UTC1

OC1,2 i+s Dip R

21 2OC (T ),OC

G

G

x=cosδ.cos tOC : y=cosδ.sint

z = sinδ

Hình 3.5. Sơ đồ thuật toán chương trình xác định vị trí bằng 2 thiên thể

1 2( ) OC .OCcos α

1 21 2

2 12 2

sinh -sinh .cosαk =sinα

sinh -sinh .cosαk =sinα

Kết thúc ( φ , λ )

11 2 2OL = k .OC + k .OC

( )21 2i

1 2

OC OCLP = . 1- OLOC OC

21OP ,OP

(XE, YE, ZE) (XO, YO, ZO)

Thiên thể 1 Bắt đầu

Page 63: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

53

3.2.1.3 Chương trình tính toán vị trí tàu bằng 3 thiên thể

Kết thúc

( φ , λ )

(XO, YO, ZO)

A

V, HT h2 h1

Bắt đầu Thiên thể 2 Thiên thể 1

UTC3 UTC1

OC1,2, i+s Dip R

UTC2

Thiên thể 3

h3

2 31 3 3OC (T ),OC (T ),OC

G

G

x=cosδ.cos tOC : y=cosδ.sint

z = sinδ

11 11

22 2 2

3 3 33

X sinh. Y = sinh

Z sinh

yx zyx zy zx

Phương pháp bình phương nhỏ nhất

Hình 3.6. Thuật toán chương trình xác định vị trí bằng 3 thiên thể

Các hệ thức tính

toán tọa độ thiên thể

Bắt đầu

Hình 3.6. Sơ đồ thuật toán chương trình xác định vị trí bằng 3 thiên thể

Page 64: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

54

3.2.2 Giao diện chương trình tính toán vị trí tàu theo phương pháp

Click chuột vào tab Sun xuất hiện cửa sổ

Hình 3.7. Cửa sổ chương trình chính

Hình 3.8. Cửa sổ chương trình tính toán vị trí tàu bằng mặt trời

Page 65: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

55

Click chuột vào tab 2 Stars xuất hiện cửa sổ

Click chuột vào tab 3 Stars xuất hiện cửa sổ

Hình 3.9. Cửa sổ chương trình tính toán vị trí tàu bằng 2 thiên thể

Hình 3.10. Cửa sổ chương trình tính toán vị trí tàu bằng 3 thiên thể

Page 66: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

56

3.3 Độ chính xác vị trí tính toán theo phương pháp và độ tin cậy của

chương trình tính toán

Để kiểm tra, đánh giá độ chính xác của vị trí tàu xác định theo phương

pháp ma trận vòng đẳng cao thiên thể, tác giả đã giải một số bài toán mẫu, các

số liệu được cung cấp bởi PGS, TS. Nguyễn Cảnh Sơn và Phòng thực hành bộ

môn Hàng hải - Khoa Hàng hải - Trường Đại học Hàng hải Việt Nam.

3.3.1 Bài toán xác định vị trí tàu bằng mặt trời không đồng thời

Quan sát độ cao mặt trời (ngày 20/8/2011) thu được số liệu như sau:

UTC1 = 04h20m00s, OC1 = 78001’, UTC2 = 05h00m00s, OC2 = 81039’3. Nhiệt

độ T = 260C, khí áp P = 1011mb, sai số dụng cụ (i + s) = 2’, phương vị A =

4805, bán kính mặt trời SD = 15’8, tốc độ tàu V = 12 knots, độ cao mắt người

quan sát e = 9m, hướng đi thực tế HTT = 980. Vị trí dự đoán φc = 20039’3N, λc

= 106050’E.

Hình 3.11. Kết quả tính toán vị trí tàu bằng mặt trời không đồng thời

Page 67: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

57

Vị trí chính xác được lấy theo khu vực Hải Phòng - Hòn Dáu, hải đồ

3875, φo = 20038’1N, λo = 1070E, vị trí tàu tính toán theo phương pháp ma

trận vòng đẳng thiên thể là: φ1 = 20039’36N, λ1 = 106058’52E.

Sai số vị trí tàu, bán kính sai số:

∆φ1 = 20039’36 - 20038’1 = 1’26

∆λ1 = 106058’52 - 1070 = - 1’48

2 21 1 1( ) ( )M = 1’94 = 1.94 NM

Xác định vị tàu theo phương pháp hiệu đường cao vị trí. Các yếu tố

đường cao vị trí: đường vị trí thứ nhất AC1 = 550, ∆h1 = 1’1, dịch chuyển

đường vị trí MC một đoạn 8’ trên đường HTT, đường vị trí thứ 2 AC2 = 150,

∆h2 = 4’2.

20 38'1N

107 E

oo

o oo

M

22

2

20 41'3N106 56'9E

o

oM

Vị trí chính xác lấy theo hải đồ

MC

MC

1

2

1’

Vị trí xác định theo phương pháp hiệu đường cao

Hình 3.12. Phương pháp hiệu độ cao xác định vị trí tàu bằng mặt trời

HTT

Page 68: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

58

Vị trí xác định theo phương pháp hiệu độ cao: φ2 = 20041’3N, λ2 =

106056’9E. Sai số vị trí tàu, bán kính sai số

∆φ2 = 20041’3 - 20038’1 = 3’2

∆λ2 = 106056’9 - 1070 = - 3’1

2 22 2 2( ) ( )M = 4’45 = 4.45 NM

3.3.2 Bài toán xác định vị trí tàu bằng 2 thiên thể

Quan sát độ cao 2 thiên thể tại thời điểm bình mình hàng hải (ngày

2/4/2011) tại UTC1 = 05h04m15s đo độ cao sao Rasalhague được OC1 =

81022’, tại UTC2 = 05h10m07s đo độ cao sao Vega được OC2 = 6909’6. Nhiệt

độ T = 260C, khí áp P = 1011mb, sai số dụng cụ (i + s) = 2’, phương vị A =

2020, tốc độ tàu V = 12 knots, độ cao mắt người quan sát e = 15m, hướng đi

thực tế HTT = 1120. Vị trí dự đoán φc = 20044’6N, λc = 107006’4E.

Hình 3.13. Kết quả tính toán vị trí tàu bằng 2 thiên thể Rasalhague và Vega

Page 69: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

59

Vị trí chính xác được lấy theo khu vực Hải Phòng - Hòn Dáu, hải đồ

3875, φo =20039’1N, λo = 107018’E, vị trí tàu tính toán theo phương pháp ma

trận vòng đẳng thiên thể là: φ1 = 20037’5N, λ1 = 107016’13E.

Sai số vị trí tàu, bán kính sai số:

∆φ1 = 20039’1 - 20037’5 = 1’6

∆λ1 = 107018’ - 107016’13 = 1’87

2 21 1 1( ) ( )M = 2’46 = 2.46 NM

Xác định vị tàu theo phương pháp hiệu đường cao vị trí. Các yếu tố

đường cao vị trí được tính toán như sau: đường vị trí thứ nhất AC1 = 200067,

∆h1 = 1’2, đường vị trí đường vị trí thứ 2 AC2 = 2707, ∆h2 = 0’2.

Vị trí xác định theo phương pháp hiệu độ cao: φ2 = 20037’9N, λ2 =

107021’2E. Sai số vị trí tàu, bán kính sai số

∆φ2 = 20039’1 - 20037’9 = 1’2

∆λ2 = 107018’ - 107021’2 = - 3’2

MC

HTT

1

2

Hình 3.14. Phương pháp hiệu độ cao xác định vị trí bằng 2 sao

22

2

20 37 '9N107 21'2E

o

oM

0

20 39 '1N

107 18'E

oo

oo

M

Page 70: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

60

2 22 2 2( ) ( )M = 3’42 = 3.42 NM

3.3.3 Bài toán xác định vị trí tàu bằng 3 thiên thể

Quan sát độ cao 3 thiên thể tại thời điểm bình mình hàng hải (ngày

2/4/2011) tại UTC1 = 05h04m15s đo độ cao sao Rasalhague được OC1 =

81022’, tại UTC2 = 05h10m07s đo độ cao sao Vega được OC2 = 6909’6, tại

UTC3 = 05h15m02s đo độ cao sao Deneb được OC3 = 49027’5. Nhiệt độ T =

260C, khí áp P = 1011mb, sai số dụng cụ (i + s) = 2’, phương vị A1 = 2020, A2

= 2703, tốc độ tàu V = 12 knots, độ cao mắt người quan sát e = 15m, hướng đi

thực tế HTT = 1120. Vị trí dự đoán φc = 20044’6N, λc = 107006’4E.

Vị trí chính xác được lấy theo khu vực Hải Phòng - Hòn Dáu, hải đồ

3875, φo =20038’5N, λo = 107019’1E, vị trí tàu tính toán theo phương pháp

ma trận vòng đẳng thiên thể là: φ1 = 20037’94N, λ1 = 107020’1E.

Hình 3.15. Kết quả tính toán vị trí tàu bằng 3 thiên thể Rasalhague, Vega và Deneb

Page 71: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

61

Sai số vị trí tàu, bán kính sai số:

∆φ1 = 20038’5 - 20037’94 = 0’56

∆λ1 = 107019’1 - 107020’1 = -1’00

2 21 1 1( ) ( )M = 1’146 = 1.146 NM

Xác định vị tàu theo phương pháp hiệu đường cao vị trí. Các yếu tố

đường cao vị trí được tính toán như sau: đường vị trí thứ nhất AC1 = 200067,

∆h1 = 1’2, đường vị trí đường vị trí thứ 2 AC2 = 2707, ∆h2 = 0’2, đường vị trí

thứ 3 AC3 = 430 , ∆h3 = 4’4.

Vị trí xác định theo phương pháp hiệu độ cao: φ2 = 20037’9N, λ2 =

107021’2E. Sai số vị trí tàu, bán kính sai số

∆φ2 = 20038’5 - 20038’1 = 0’4

∆λ2 = 107019’1 - 107020’7 = - 1’6

2 22 2 2( ) ( )M = 1’649 = 1.649 NM

Hình 3.16. Phương pháp hiệu độ cao xác định vị trí bằng 3 sao

22

2

20 38'1N107 20'7E

o

oM

1

MC

HTT

0

20 38'5N

107 19'1E

oo

oo

M

2

3

Page 72: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

62

Vậy với các bài toán mẫu và chương trình tính toán kiểm nghiệm, các

kết quả cho thấy vị trí tính toán theo phương pháp ma trận vòng đẳng cao

thiên thể có độ chính xác cao hơn so với phương pháp hiệu độ cao truyền

thống của Saint - Hilaire.

3.4 Kết luận chương 3

Trong chương này, tác giải đã trình bày cách thiết lập phương trình

vòng đẳng cao thiên thể ở dạng tọa độ vuông góc thay vì dạng lượng giác cầu

phức tạp, từ đó phương pháp ma trận giải hệ các phương trình vòng đẳng cao

thiên thể xác định vị trí tàu cũng được đưa ra với từng trường hợp cụ thể.

Ngoài ra, sơ đồ thuật toán theo phương pháp cũng được xây dựng làm cơ sở

viết mã lệnh cho chương trình tính toán vị trí.

Phần cuối chương, tác giả đã thực hiện giải một số bài toán mẫu xác

định vị trí tàu bằng chương trình phần mềm tính toán với các trường hợp mặt

trời không đồng thời, 2 sao, 3 sao tại khu vực Hòn Dấu – Đồ Sơn - Hải

Phòng, sau đó so sánh với vị trí thật được lấy và vị trí nhận được từ phương

pháp hiệu độ cao của Saint - Hilaire. Các số liệu so sánh cho thấy phương

pháp ma trận vòng đẳng cao thiên thể có độ chính xác cao hơn so với phương

pháp hiệu độ cao và các phương pháp xác định vị trí tàu truyền thống trước

đây.

Page 73: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

63

KẾT LUẬN VÀ KIẾN NGHỊ

Kết luận

Đề tài hoàn thành đã đạt được một số kết quả sau: thống kê những

phương pháp xác định vị trí tàu bằng thiên văn từ trước đến nay, chúng là cơ

sở lý thuyết để xây dựng những phần mềm, chương trình tính toán vị trí tàu

bằng quan sát thiên văn hiện nay. Ngoài ra, những hạn chế của các phương

pháp cũng được phân tích một cách chi tiết, xu hướng phát triển trong tương

lai của chúng cũng được dự đoán, từ đó xây dựng những phương pháp mới,

những chương trình mới ứng dụng làm nền tảng phát triển lý thuyết hàng hải

thiên văn kết hợp với những phương pháp hàng hải hiện đại khác.

Đề tài đã thiết lập một phương pháp mới để tính toán vị trí tàu - phương

pháp ma trận vòng đẳng cao thiên thể, phương pháp này cho vị trí tính toán

chính xác hơn vị trí xác định bằng phương pháp hiệu độ cao của Saint -

Hilaire, chương trình tính toán vị trí theo phương pháp được xây dựng dựa

trên ngôn ngữ lập trình Visual Basic nhằm kiểm tra độ tin cậy cũng như là

ứng dụng để xác định vị trí khi dẫn tàu vượt Đại dương. Phần cuối đề tài, tác

giả đã thực hiện việc giải một số bài toán mẫu xác định vị trí tàu, so sánh kết

quả với các phương pháp khác, các số liệu cho thấy phương pháp mà tác giả

thiết lập, chương trình tính theo phương pháp, có độ tin cậy cao đáp ứng được

những yêu cầu thực tế.

Kiến nghị

Trên cơ sở những kết quả đạt được, tác giả đề nghị một số ý kiến sau:

đưa phương pháp tính toán vị trí tàu theo ma trận vòng đẳng cao thiên thể vào

giáo trình, tài liệu môn học hàng hải thiên văn của Khoa Hàng hải - Trường

Đại học Hàng hải Việt Nam, kết hợp với các phương pháp xác định vị trí tàu

hiện có làm tài liệu tham khảo cho sinh viên, học viên ngành hàng hải.

Page 74: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

64

Ngoài ra, tác giả đề xuất đưa sản phẩm của đề tài – chương trình tính

toán vị trí theo phương pháp lên các tàu viễn dương để hỗ trợ sỹ quan hàng

hải khi hệ thống GPS bị sự cố hoặc bị hạn chế do tín hiệu đường truyền xấu.

Trong tương lai, tác giả sẽ tiếp tục nghiên cứu phát triển phương pháp

ma trận vòng đẳng cao thiên thể với những điều kiện khác được xét đến như

ảnh hưởng của sự thay đổi hướng đi, tốc độ trong quá trình quan sát, ảnh

hưởng từ môi trường đến vị trí tính toán bằng phương pháp. Đặc biệt, sự kết

hợp giữa phương pháp ma trận vòng đẳng cao thiên thể trong hàng hải thiên

văn và phương pháp hàng hải quán tính cũng sẽ được xét đến. Vậy rất mong

nhận được sự cộng tác cũng như là những ý kiến đóng góp của các nhà khoa

học quan tâm đến lĩnh vực mà tác giả nghiên cứu.

Page 75: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

65

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ LIÊN

QUAN ĐẾN ĐỀ TÀI CỦA TÁC GIẢ

1. KS. Nguyễn Văn Sướng (2011). Tính toán vị trí tàu bằng các yếu tố đường

vị trí thiên văn dựa trên phương pháp bình phương nhỏ nhất, Báo cáo hội

nghị khoa học công nghệ hàng hải, tr 28 - 30.

2. KS. Nguyễn Văn Sướng, Ths Đào Quang Dân (2011). Phương pháp tính

toán vị trí tàu theo ma trận vòng đẳng cao thiên thể, Tạp chí khoa học công

nghệ hàng hải, số 28, tr 16 – 20.

3. KS. Nguyễn Văn Sướng, Ths Đào Quang Dân (2012). Thuật toán xác định

vị trí tàu bằng phương pháp thiên văn với hướng đi và tốc độ tàu không thay

đổi trong quá trình quan sát thiên thể, Tạp chí khoa học công nghệ hàng hải,

số 32, tr 72 - 75.

Page 76: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

66

TÀI LIỆU THAM KHẢO

Tiếng Việt

1. Ths Nguyễn Cảnh Sơn, Thiên văn hàng hải (2004), Trường Đại học hàng

hải Việt Nam.

2. KS. Nguyễn Văn Sướng (2011). Tính toán vị trí tàu bằng các yếu tố đường

vị trí thiên văn dựa trên phương pháp bình phương nhỏ nhất, Báo cáo hội

nghị khoa học công nghệ hàng hải, tr 28 - 30.

3. KS. Nguyễn Văn Sướng, Ths Đào Quang Dân (2011). Phương pháp tính

toán vị trí tàu theo ma trận vòng đẳng cao thiên thể, Tạp chí khoa học công

nghệ hàng hải, số 28, tr 16 – 20.

4. Ths. Vũ Công Thế (2008). Giáo trình Visual Basic 6.0, Học viện Hải quân

Nha Trang.

Tiếng Anh

5. Bowditch, N. American Practical Navigator, DMAH/TC, Washington

1984 and 2002.

6. Chih Li Chen, Tien Pen Hsu, Jiang Ren Chang. A novel approach to

determine the astronomical vessel position. Journal of Marine Science and

Technology, Vol. 11, No4, pp. 221-235 (2003)

7. Deborah A. Sigel and David Wettergreen. Star Tracker Celestial

Localization System for a Lunar Rover. (2007)

8. Henning Unland. A short guider to celestial navigation (2006), 90 pp

9. John Locke. A mariner’s guide to the electronic calculator (1981). 233pp

10. The United Kingdom Hydrographic office. Nautical Almanac 2011

11. Van Allen, J.A., An Analytical Solution of the Two Star Sight Problem of

Celestial Navigation, Navigation: J. Inst. Naviga., Vol. 28, No. 1, pp. 40-43

(1981).

Page 77: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

1/PL1

PHỤ LỤC

Phụ lục 1. Khai báo hàm trong Module

1. Hàm tính độ cao mặt trời: Public Function docaomattroi(OC As Double, index As Double, e As

Double, t As Double, p As Double, SA As Double) As Double

Dim H As Double, f As Double, R1 As Double, R2 As Double

H = OC + (index / 60) - (0.0293 * Sqr(e))

f = 0.28 * p / (t + 273)

R1 = 0.0167 / Tan((H + 7.32 / (H + 4.32)) * 4 * Atn(1) / 180)

R2 = f * R1

docaomattroi = H - R2 + 0.0024 * Cos(H * 4 * Atn(1) / 180) + SA / 60

End Function

2. Hàm tính độ cao sao:

Public Function docaosao(OC As Double, index As Double, e As Double, t

As Double, p As Double) As Double

Dim H As Double, f As Double, R1 As Double, R2 As Double

H = OC + (index / 60) - (0.0293 * Sqr(e))

f = 0.28 * p / (t + 273)

R1 = 0.0167 / Tan((H + 7.32 / (H + 4.32)) * 4 * Atn(1) / 180)

R2 = f * R1

docaosao = H - R2 + 0.0024 * Cos(H * 4 * Atn(1) / 180)

End Function

3. Hàm tính góc giờ thế giới của điểm xuân phân:

Public Function GHAxuanphan(UT As Double, d As Double, m As Double,

y As Double) As Double

Dim t As Double

Page 78: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

2/PL1

t = 367 * y - Int(1.75 * (y + Int((m + 9) / 12))) + Int(275 * m / 9) + d +

UT /24 - 730531.5

GHAxuanphan = 0.9856474 * t + 15 * UT + 1.0046062

End Function

4. Hàm tính góc giờ thế giới của mặt trời:

Public Function GHAmattroi(UT As Double, d As Double, m As Double, y

As Double) As Double

Dim t As Double, g As Double, LM As Double, LT As Double, w As

Double, pi As Double, GHAxuanphan As Double

pi = 4 * Atn(1)

t = 367 * y - Int(1.75 * (y + Int((m + 9) / 12))) + Int(275 * m /9) + d +

UT / 24 - 730531.5

GHAxuanphan = 0.9856474 * t + 15 * UT + 1.0046062

g = 0.9856003 * t - 2.472

LM = 0.9856474 * t - 79.53938

LT = LM + 1.915 * Sin(g * pi / 180) + 0.02 * Sin(2 * g * pi / 180)

w = 23.439 - 4 * t * (10 ^ (-7))

GHAmattroi = GHAxuanphan - 2 * Atn((Cos(w * pi / 180) * Sin(LT *

pi / 180)) / (Cos(DEC * pi / 180) + Cos(LT * pi / 180))) * 180 / pi

End Function

5. Hàm tính xích vĩ của mặt trời:

Public Function DECmattroi(UT As Double, d As Double, m As Double, y

As Double) As Double

Dim t As Double, g As Double, LM As Double, LT As Double, w As

Double, pi As Double

pi = 4 * Atn(1)

t = 367 * y - Int(1.75 * (y + Int((m + 9) / 12))) + Int(275 * m /9) + d

+ UT / 24 - 730531.5

g = 0.9856003 * t - 2.472

Page 79: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

3/PL1

LM = 0.9856474 * t - 79.53938

LT = LM + 1.915 * Sin(g * pi / 180) + 0.02 * Sin(2 * g * pi / 180)

w = 23.439 - 4 * t * (10 ^ (-7))

DECmattroi = Atn((Sin(LT * pi / 180) * Sin(w * pi / 180)) / Sqr(1 -

(Sin(LT * pi / 180) * Sin(w * pi / 180)) ^ 2)) * 180 / pi

End Function

6. Hàm đổi độ sang radian:

Public Function Radian(deg As Double) As Double

Dim pi As Double

Radian = deg * pi / 180

End Function

7. Hàm quy độ cao thiên thể từ thời điểm trước về thời điểm sau:

Public Function H21(H1 As Double, A As Double, HT As Double, V As

Double, UT1 As Double, UT2 As Double) As Double

Dim pi As Double, cosH21 As Double, deltaUT As Double

pi = 4 * Atn(1)

deltaUT = UT2 - UT1

cosH21 = Cos(H1 * pi / 180) * Cos(V * deltaUT * pi / (60 * 180)) + Sin(H1 *

pi / 180) * Sin(V * deltaUT * pi / (60 * 180)) * Cos((Abs(A - HT) * pi) / 180)

H21 = (pi / 2 - Atn(cosH21 / Sqr(1 - cosH21 ^ 2))) * 180 / pi

End Function

8. Hàm chuyển đổi tọa độ vuông góc sang vĩ độ địa dư có tính đến độ lệch tâm

Public Function CLat(X As Double, Y As Double, Z As Double) As Double

Dim pi As Double, a As Double, b As Double, dolechtam As Double

pi = 4 * Atn(1)

a = 6378137

b = 6356752

dolechtam = (a ^ 2 - b ^ 2) / (a ^ 2)

CLat = Atn(Z / Sqr((X ^ 2 + Y ^ 2) * (1 - dolechtam))) * 180 / pi

Page 80: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

4/PL1

End Function

9. Hàm chuyển đổi tọa độ vuông góc sang kinh độ địa dư

Public Function CLong(X As Double, Y As Double) As Double

Dim pi As Double

pi = 4 * Atn(1)

CLong = Atn(Y / X) * 180 / pi

End Function

Page 81: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

1/PL2

Phụ lục 2: Một số lệnh xử lý trong chương trình

1. Tính độ cao hiệu chỉnh, tọa độ cầu, tọa độ vuông góc của các thiên thể tại thời

điểm quan sát:

OC1 = OC1do + (OC1phut / 60)

OC2 = OC2do + (OC2phut / 60)

UT1 = Val(Combo8.ListIndex) + Val(Combo9.ListIndex)/60 +

Val(Combo10.ListIndex) / 3600

UT2 = Val(Combo11.ListIndex) + Val(Combo12.ListIndex)/60 +

Val(Combo13.ListIndex) / 3600

DEC1 = DECmattroi(UT1, d, m, y)

DEC2 = DECmattroi(UT2, d, m, y)

GHA1 = GHAmattroi(UT1, d, m, y)

GHA2 = GHAmattroi(UT2, d, m, y)

H1 = docaomattroi(OC1, saisodungcu, docaomat, nhietdo, khiap, SA1)

H2 = docaomattroi(OC2, saisodungcu, docaomat, nhietdo, khiap, SA2)

Hhieuchinh = H21(H1, phuongvi, huongdi, tocdo, UT1, UT2)

x1 = Cos(DEC1 * 4 * Atn(1) / 180) * Cos(GHA1 * 4 * Atn(1) / 180)

y1 = Cos(DEC1 * 4 * Atn(1) / 180) * Sin(GHA1 * 4 * Atn(1) / 180)

z1 = Sin(DEC1 * 4 * Atn(1) / 180)

x2 = Cos(DEC2 * 4 * Atn(1) / 180) * Cos(GHA2 * 4 * Atn(1) / 180)

y2 = Cos(DEC2 * 4 * Atn(1) / 180) * Sin(GHA2 * 4 * Atn(1) / 180)

z2 = Sin(DEC2 * 4 * Atn(1) / 180

2. Tính toán giá tọa độ của các vector vô hướng và vector hữu hướng

xOL = k1 * x1 + k2 * x2

yOL = k1 * y1 + k2 * y2

zOL = k1 * z1 + k2 * z2

Page 82: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

2/PL2

xLZ = y1 * z2 - y2 * z1

yLZ = z1 * x2 - z2 * x1

zLZ = x1 * y2 - x2 * y1

LZ = Sqr(xLZ ^ 2 + yLZ ^ 2 + zLZ ^ 2)

xz1 = xOL + (xLZ * Sqr(1 - xOL ^ 2 - yOL ^ 2 - zOL ^ 2)) / LZ

yz1 = yOL + (yLZ * Sqr(1 - xOL ^ 2 - yOL ^ 2 - zOL ^ 2)) / LZ

zz1 = zOL + (zLZ * Sqr(1 - xOL ^ 2 - yOL ^ 2 - zOL ^ 2)) / LZ

xz2 = xOL - (xLZ * Sqr(1 - xOL ^ 2 - yOL ^ 2 - zOL ^ 2)) / LZ

yz2 = yOL - (yLZ * Sqr(1 - xOL ^ 2 - yOL ^ 2 - zOL ^ 2)) / LZ

zz2 = zOL - (zLZ * Sqr(1 - xOL ^ 2 - yOL ^ 2 - zOL ^ 2)) / LZ

3. Ghi dữ liệu lên lưới

MSFlexGrid1.TextMatrix(1, 1) = Round(x1, 4)

MSFlexGrid1.TextMatrix(2, 1) = Round(x2, 4)

MSFlexGrid1.TextMatrix(3, 1) = Round(Cos(Elat * 4 * Atn(1) / 180) *

Cos(Elong * 4 * Atn(1) / 180), 4)

MSFlexGrid1.TextMatrix(1, 2) = Round(y1, 4)

MSFlexGrid1.TextMatrix(2, 2) = Round(y2, 4)

MSFlexGrid1.TextMatrix(3, 2) = Round(Cos(Elat * 4 * Atn(1) / 180) *

Sin(Elong * 4 * Atn(1) / 180), 4)

MSFlexGrid1.TextMatrix(1, 3) = Round(z1, 4)

MSFlexGrid1.TextMatrix(2, 3) = Round(z2, 4)

MSFlexGrid1.TextMatrix(3, 3) = Round(Sin(Elat * 4 * Atn(1) / 180), 4)

MSFlexGrid1.TextMatrix(1, 4) = Round(Hhieuchinh, 4)

MSFlexGrid1.TextMatrix(2, 4) = Round(H2, 4)

MSFlexGrid1.TextMatrix(3, 4) = Round(H1, 4)

4. Tính toán vị trí bằng phương pháp bình phương nhỏ nhất

x1 = Cos(DEC1that * 4 * Atn(1) / 180) * Cos(GHA1hieuchinh * 4 * Atn(1) / 180)

y1 = Cos(DEC1that * 4 * Atn(1) / 180) * Sin(GHA1hieuchinh * 4 * Atn(1) / 180)

z1 = Sin(DEC1that * 4 * Atn(1) / 180)

Page 83: Luận văn ứ ự ương - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cao-hoc/... · Luận văn Nghiên cứu xây dựng chương trình

3/PL2

x2 = Cos(DEC2that * 4 * Atn(1) / 180) * Cos(GHA2hieuchinh * 4 * Atn(1) / 180)

y2 = Cos(DEC2that * 4 * Atn(1) / 180) * Sin(GHA2hieuchinh * 4 * Atn(1) / 180)

z2 = Sin(DEC2that * 4 * Atn(1) / 180)

x3 = Cos(DEC3that * 4 * Atn(1) / 180) * Cos(GHA3hieuchinh * 4 * Atn(1) / 180)

y3 = Cos(DEC3that * 4 * Atn(1) / 180) * Sin(GHA3hieuchinh * 4 * Atn(1) / 180)

z3 = Sin(DEC3that * 4 * Atn(1) / 180)

a = (x1 ^ 2 + x2 ^ 2 + x3 ^ 2)

b = (y1 ^ 2 + y2 ^ 2 + y3 ^ 2)

c = (z1 ^ 2 + z2 ^ 2 + z3 ^ 2)

g = (y1 * z1 + y2 * z2 + y3 * z3)

e = (y1 * x1 + y2 * x2 + y3 * x3)

f = (z1 * x1 + z2 * x2 + z3 * x3)

k1 = x1 * Cos(H13hieuchinh * 4 * Atn(1) / 180) + x2 * Cos(H23hieuchinh * 4 *

Atn(1) / 180) + x3 * Sin(H3 * 4 * Atn(1) / 180)

k2 = y1 * Cos(H13hieuchinh * 4 * Atn(1) / 180) + y2 * Cos(H23hieuchinh * 4 *

Atn(1) / 180) + y3 * Sin(H3 * 4 * Atn(1) / 180)

k3 = z1 * Cos(H13hieuchinh * 4 * Atn(1) / 180) + z2 * Cos(H23hieuchinh * 4 *

Atn(1) / 180) + z3 * Sin(H3 * 4 * Atn(1) / 180)

DT = a * b * c - a * (g ^ 2) - b * (f ^ 2) - c * (e ^ 2) + 2 * e * g * f

DTX = k1 * (b * c - g ^ 2) - k2 * (e * c - f * g) + k3 * (e * g - f * b)

DTY = k2 * (a * c - f ^ 2) - k3 * (g * a - e * f) + k1 * (g * f - e * c)

DTZ = k3 * (a * b - e ^ 2) - k1 * (f * b - g * e) + k2 * (f * e - g * a)

Xnghiem = DTX / DT

Ynghiem = DTY / DT

Znghiem = DTZ / DT

Lat1 = CLat(Xnghiem, Ynghiem, Znghiem)

Long1 = CLong(Xnghiem, Ynghiem)