Bài toán thuận nghịch trong đo đạc

Một phần của tài liệu nghiên cứu lập trình tính toán nhanh một số bài toán trắc địa cơ bản phục vụ giải đáp bài tập trắc địa đại cương (Trang 27)

Theo Bùi Quang Tuyến 2005 , trong đo đạc có các bài toán với các dạng tính toán cơ bản sau:

1.5.1. i toán thuận

Biết tọa độ điểm A xa, ya , biết khoảng cách SAB, biết góc định hƣớng αAB. Tìm tọa độ điểm B nhƣ hình 1.5

(Ngu n i Quang Tu ến 2 )

Hình 1.5: Bài toán tìm tọa độ điểm B

Với công thức tổng quát là: ΔX= SAB.cosαAB. ΔY= SAB.sinαAB. Vậy: (1.3) X B=XA+ ΔX YB=YA+ ΔY Ví dụ: Điểm A có tọa độ: XA = 2540,806 m ;YA = 4132,530 m SAB= 403,74 m ; αAB= 109053’42’’. Tìm tọa độ B:

8 Giải: Δx = 403,74.cos109053’42’’= - 137,392 m. Δy = 403,74.sin109053’42’’= + 379,644 m. XB= 2540,800 m + (-137,392) = 2403,414 m. YB= 4132,530 m + 379,644 = 4512,174 m. 1.5.2. i toán nghịch

Cho hai điểm M và N có tọa độ nhƣ hình 1.6, ta tìm góc định hƣớng và khoảng cách 2 điển

(Ngu n i Quang Tu ến 2 )

Hình 1.6: Bài toán tìm g c định hƣớng và khoảng cách

Để tính đƣợc bài toán này chúng ta phải làm theo tuần tự sau: Tính GĐH bằng tính chuyển của GĐH với GHP:

(1.4)

Ví dụ: Ta có tọa độ 2 điểm M và N với tọa độ nhƣ bên dƣới. Tìm góc định hƣớng MN và khoảng cách MN?

9 XM = 3019,754 m. XN = 2744,538 m. YM = 5248,032 m. YN = 5647,226 m. Tìm chiều dài SM và αMN: ΔX = XN – XM= - 275,216 m. ΔY = YN –YM = +399,194 m. ⇒Thuộc góc phần tƣ thứ II RMN = ARCtg|ΔY / ΔX| =55025’00

Nhƣng ở đây ta thấy khi Δx và Δy có dấu không giống nhau; lúc đó thì RMN ở đây chỉ mới là góc hai phƣơng; giờ đây ta phải chuyển đổi góc hai phƣơng này ra thành góc định hƣớng.Muốn chuyển đổi ta phải xem cạnh MN nằm ở phần tƣ thứ mấy. Khi Δx < 0 và Δy > 0 thì MN nằm trong phần tƣ thứ II; vậy:

αMN = 1800 - 55025’00 = 124035’00

1.6. Sai số đo đạc

1.6.1. Khái niệm

Theo Phạm Văn Chuyên 2008 , đo đạc một đại lƣợng nào đó thực chất là đem nó so sánh với một đại lƣợng cùng loại đƣợc chọn làm đơn vị đo.

Khi đo đạc nhiều lần cùng một đại lƣợng, dù có cẩn thận đến mấy cũng không thể nhận đƣợc các kết quả đo giống nhau. Điều đó chứng tỏ rằng kết quả đo đạc đƣợc luôn có sự sai lệch và không phải là giá trị chính xác của đại lƣợng đo Phạm Văn Chuyên, 2008)

Theo Nguyễn Quang Tác 1998 , đo đạc đƣợc xem xét theo hai tiêu chuẩn: tiêu chuẩn về lƣợng biểu thị bằng số của đại lƣợng cần đo và tiêu chuẩn về chất đặc trƣng cho độ chính xác của giá trị đo.

Có thể hiểu sai số Δ là hiệu số của các trị đo đƣợc L và giá trị thật X của đại lƣợng cần đo Trần Văn Quảng, 2001 .

Δ=L-X (1.5)

Trong đó: Δ là sai số đo; L là giá trị đo đƣợc;

10

1.6.2. Ph n lo i sai số đo đ c

Theo Phạm Văn Chuyên 2008 , các yếu tố liên quan dẫn đến sai số trong đo đạc là: ngƣời đo, dụng cụ đo, thiết bị đo và môi trƣờng đo. Dựa vào nguyên nhân gây ra sai số, có thể phân chia sai số đo đạc thành các loại:

- Sai số sai lầm: sai số sai lầm sinh ra do nhầm lẫn, thiếu cẩn thận của ngƣời đo trong

khi đo, ghi chép và tính toán. Sai số đo sai lầm thƣờng có giá trị lớn nhƣng dễ dàng phát hiện và loại bỏ.để giảm sai số sai lầm cần tang cƣờng ý thức trách nhiệm của ngƣời đo, đề ra các gải pháp kiểm tra trong quá trình đo và xử lý số liệu.

- Sai số hệ thống: là sai số có quy luật cả về dấu và trị số, đƣợc lập đi lập lại trong tất cả các lần đo. Nguyên nhân gây ra sai số là do thói quen của ngƣời đo, dụng cụ đo thiếu chính xác, ngoại cảnh thay đổi,… để giảm sai số hệ thống phải kiểm nghiệm hiệu chỉnh thiết bị đo, chọn phƣơng pháp và thời điểm đo thích hợp. (adsbygoogle = window.adsbygoogle || []).push({});

- Sai số ngẫu nhiên: là sai số luôn tồn tại trong kết quả đo,trị số và đặc điểm ảnh hƣởng của nó đến mỗi kết quả đo không rõ ràng, khi xuất hiện thế này,khi xuất hiện thế kia, không thể biết trƣớc và trị số của nó.

1.6.3. Ph n lo i độ chính xác đo đ c

Phân loại đo g c theo độ chính xác

Theo Phạm Văn Chuyên 2008 , độ chính xác của góc đo đƣợc phân thành 3 loại: - Đo góc chính xác cao: sai số trung phƣơng đo góc đạt từ nhỏ hơn 3.0 ;

- Đo góc chính xác vừa: sai số trung phƣơng đo góc đạt từ 3.0 đến 10.0 ; - Đo góc chính xác thấp: sai số trung phƣơng đo góc đạt từ 10.0 đến 60.0 . Cách tính sai số trung phƣơng:

(1.6) Trong đó: ΔXi=Xi-X;

ΔXi là sai số đo lần thứ i;

Xi là các kết quả đo đƣợc i=1, 2, …., n ; X là trung bình kết quả đo;

N là số lần đo.

11

Theo Phạm Văn Chuyên 2008 , có thể chia đo cạnh theo độ chính xác thành 3 loại: - Đo dài chính xác cao: sai số tƣơng đối nằm trong khoảng 1/106 đến 1/10000; - Đo dài chính xác cao: sai số tƣơng đối nằm trong khoảng 1/10000 đến 1/5000; - Đo dài chính xác cao: sai số tƣơng đối nằm trong khoảng 1/5000 đến 1/200. Công thức tính sai số tƣơng đối:

(1.7)

Trong đó: ;

M là sai số trung phƣơng; N là số lần đo.

1.7. Ngôn ng lập trình Visual Basic

1.7.1. Giới thiệu về isual asic 6.

Visual Basic 6.0 VB6 là một phiên bản của bộ lập trình Visual Basic (VB), cho phép ngƣời dùng tiếp cận nhanh cách thức lập trình trên môi trƣờng Windows. Những ai đã từng quen thuộc với Visual Basic 6.0 thì biết VB6 có ba phiên bản là: Learning, Professional và Enterprise. Trong đó bản Professional cung cấp đầy đủ tiện ích cần thiết để triển khai một ứng dụng, nhất là các Control ActiveX. Bản Professional cộng thêm các công cụ Back Office ( SQL Servrer, Internet Information Server, Microsoft Transaction Server . Ở VB6 dễ tìm thấy những tính năng trợ giúp mới và các công cụ lập trình hiệu quả. Ngƣời dùng mới làm quen với VB cũng có thể làm chủ VB6 một cách dễ dàng

Với VB6 chúng ta có thể:

 Khai thác thế mạnh của các điều khiển mở rộng.

 Làm việc với các điều khiển mới ngày tháng với điều khiển MonthView và DataTimePicker, các thanh công cụ có thể di chuyển đƣợc CoolBar, sử dụng đồ họa với ImageCombo, thanh cuộn FlatScrollBar,…

 Làm việc với các tính năng ngôn ngữ mới.

 Làm việc với cơ sở dữ liệu.

12

Để viết một trƣơng trình trong Visual Basic, chúng ta thực hiện qua hai bƣớc: Thiết kế giao diện; Viết lệnh cho trƣơng trình. Khi thiết kế giao diện chúng ta sử dụng các cung cụ do Visual Basic cung cấp.

Sau khi thiết kế giao diện cho một dự án, liên kết các form và các phần mềm ứng dụng khác, chúng ta đƣợc một trƣơng trình tiện ích cho một l nh vực nào đó Đinh Công Hòa, 2010)

1.7.2. L m quen với isual asic 6.

Khởi động VB có các cách sau:

Cách 1: Nhấp trái chuột vào Start chọn All Programs chọn Microsoft Visual Studio 6.0 chọn Microsoft Visual Basic 6.0

Cách 2: Chọn biểu tƣợng Microsoft Visual Basic 6.0 trên màn hình Desktop.

Cách 3: Nhấn nút start chọn mục Run, sau đó nhấn nút Browse để tìm đến tệp “ C:\Program Files\Microsoft Visual Studio\VB98\VB6 , Nhấn nút OK để chạy. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 1.7: Khởi động VB 6.0

13

Hình 1.8: Đƣờng dẫn chi tiết

Khi đó sẽ thấy màn hình đầu tiên sẽ có hình nhƣ hình 1.9 sau:

Hình 1.9: Giao diện của VB

Chọn biểu tƣợng Standard.EXE và nhấn nút Open, sẽ hiện ra cửa sổ Visual Basic. Hình 1.10 thể hiện các thanh công cụ của phần mềm.

14

Hình 1.10: Cửa sổ giao diện của phần mềm Visual Basic 6.0

Thanh thực đơn (Menu Bar)

Hình 1.11: Thanh thực đơn cửa sổ giao diện

 Menu File

Menu File giúp chúng ta nạp và lƣu trƣơng trình ứng dụng Visual Basic, cung cấp lệnh truy xuất. Gồm các lệnh liên quan đến tệp tin nhƣ sau:

- New Project. - Open Project. - Add Project. - Remove Project. - Save Project. - Save Project As… - Save Form1. - Save Form1 AS… - Save Selection. - Save Change Script.

15 - Print… - Print Setup… - Make Project1.exe… - Exit .  Menu Edit:

Menu Edit giúp chúng ta thực hiện các công việc nhƣ sao chép, cắt, dán văn bản và diều khiển đồ họa giữa các trình ứng dụng, cung cấp thêm các lệnh tìm kiếm và thay thế văn bản.

 Menu View:

Gồm các lệnh cho phép chúng ta có thể điều chỉnh cách nhìn cửa sổ code trong trình ứng dụng, các thủ tục khác nhau có thể xuất hiện bên trong cửa sổ code.

 Menu Project:

Menu Project có thể bổ sung biểu mẩu Form , modul, điều khiển Active X, hay các tệp tin khác vào trƣơng trình .

 Menu Format:

Với Menu Format chúng ta có thể căn chỉnh các đối tƣợng điều khiển Control , định kích cỡ, thứ tự sắp xếp của chúng trên biểu mẫu Form .

 Menu Debug

Có thể thi hành tứng câu lệnh trong chƣơng trình Visual Basic, xem giá trị giữ liệu và dừng chƣơng trình ở bất cứ nơi đâu với Menu Debug.

 Menu Run:

Menu Run cho phép chúng ta chạy chƣơng trình, dừng và bắt đầu lại quá trình thi hành sau lệnh dừng. Sau khi dừng một trình ứng dụng chúng ta c1 thể xem kết quả.

 Menu Query:

Menu Qyery cho phép thiết kế và chạy các vấn tin.

 Menu Diagram:

Cho phép thay đổi nội dung trong các bảng Table với Menu Diagram.

 Menu Tools: (adsbygoogle = window.adsbygoogle || []).push({});

Cho phép chúng ta xác định phƣơng thức Visual Basic sẽ hành động bằng cách thay đổi giá trị trong menu Tools.

16

 Menu Add-Ins:

Dùng để nạp các công cụ điều khiển khác nhƣ Active X, hỗ trợ thiết kế trình ứng dụng cao cấp trong Visual Basic.

 Menu Windows:

Cho phép chúng ta có thể sắp xếp lại các cửa sổ trong màn hình Visual Basic.

 Menu Help:

Menu Help cung cấp cho chúng ta các trợ giúp.

Thanh công cụ (ToolBar)

Thanh công cụ chứa các lệnh đƣợc thể hiện dƣới dạng biểu tƣợng giúp ngƣời sử dụng có thể thi hành một lệnh nhanh hơn.

Hình 1.12: Thanh ToolBar của cửa sổ giao diện

Các biểu tƣợng trên thanh công cụ:

1/ (Add Standart EXE : Tạo Project mới, nhấp mũi tên xuống chúng ta co thể chọn các công cụ khác.

2/ (Add Form : Thêm một prom vào project, nhấp mũi tên xuống chúng ta co thể chọn các công cụ khác.

3/ (Menu Editor : Dùng để thiết kế Menu cho chƣơng trình của biểu mẩu hiện hành.

4/ Open Project : Mở một project.

5/ (Save Project): Lƣu một project.

6/ Cut : Cắt bỏ các câu lệnh hoặc các đối tƣợng đã chọn.

7/ Copy : Sao chép một đối tƣợng hoặc các câu lệnh đã đƣợc chọn.

8/ Paste : Dán một đối tƣợng hoặc các câu lệnh đã đƣợc chọn.

9/ Find : Mở hộp thoại Find để thực hiện việc tìm kiếm.

17

11/ Redo : Làm lại hành động sau đó nếu có thể.

12/ Start : Chạy chƣơng trình.

13/ Break : Tạm dừng trƣơng trình đang chạy.

14/ End : Chấm dứt chƣơng trình đang chạy.

15/ (Project Explorer): Để thấy các project, các form…

16/ (Projecties Window): đƣa ra cửa sổ để chúng ta có thể xác lập các thuộc tính cho đối tƣợng điều khiển control trong hộp thoại Toolbox và cho form.

17/ (Form Layout Window): Để sắp xếp vị trí xuất hiện của biểu mẫu form khi bắt đầu chạy chƣơng trình.

18/ (Object Browser): Mở hộp thoại Object Browser. (adsbygoogle = window.adsbygoogle || []).push({});

19/ (ToolBox): Xuất hiện hộp công cụ phía bên trái màn hình.

20/ (Data View Window): Xuất hiện cửa sổ Data View để quản lý cơ sở dữ liệu

21/ (Visual Component Manager): Xuất hiện Visual Component Manager để quản lý các đoạn mã lệnh của các trình ứng dụng phức tạp.

Hộp công cụ (Toolbox)

Hộp này chứa các đối tƣợng điều khiển Control sẽ đƣợc đặt vào biểu mẫu Form khi thiết kế giao diện của chƣơng trình. Các biểu tƣợng trong hộp công cụ nhƣ sau:

1/ (Pointer- Con trỏ : Dùng để chọn các đối tƣợng điều khiển sau khi tạo ra chúng ở trên form.

2/ (Picture box – Hộp hình ảnh : Dùng để chèn hình ảnh trong form.

3/ (Label - Nhãn):Dùng để hiện một xâu chữ hay nhãn.

4/ (TextBox – Hộp văn bản): Dùng để tạo một hộp văn bản sử dụng cho việc nhập hay xuất thông tin khi chạy chƣơng trình.

18

5/ (Frame – Khung/Khuôn khổ):Dùng để tạo một đối tƣợng hình chữ nhật khung chữ nhật dùng để chứa các đối tƣợng khác.

6/ (CommandBotton – Nút lệnh): Dùng để tạo ra một nút nhấn nút lệnh đáp ứng sự kiện biến cố nhấp trái chuột khi chạy chƣơng trình.

7/ (CheckBox – Hộp kiểm):Dùng để tạo nút lựa chọn nào đó, khi chạy chƣơng trình có thể chọn nhiều checkbox hộp kiểm cùng một lúc.

8/ (Option Button – Nút lựa chọn): Giống nhƣ hộp kiểm CheckBox nhƣng khi chạy chƣơng trình chỉ đƣợc chọn một trong các nút chọn Option Button

9/ (ListBox – Hộp danh sách): Dùng để tạo một hộp liệt kê một danh sách gồm nhiều mục và cho phép lựa chọn.

10/ (ComboBox – Hộp danh sách xổ xuống): Đây là đối tƣợng điều khiển Control kết hộp giữa TextBox Hộp văn bản và ListBox Hộp danh sách , dùng để tạo ra một hộp danh sách xổ xuống. Khi chạy chƣơng trình, chúng ta có thể chọn một mục nào đó trong danh sách có sẳn hoặc có thể nhập nội dung bất kỳ vào.

11/ (Horizontal ScrollBar – Thanh cuộn ngang): Dùng để tạo ra một thanh cuốn ngang cho chúng ta chọn một số nguyên khi di chuyển con chạy từ giá trị mim đến giá trị max.

12/ (Vertical ScrollBar – Thanh cuộn dọc ): Dùng để tạo ra một thanh cuốn dọc cho chúng ta chọn một số nguyên khi di chuyển con chạy từ giá trị mim đến giá trị max.

13/ (Timer – Thời gian): Dùng để tạo thời gian.

14/ (Driver ListBox – Hộp danh sách ổ đ a): Là hộp ComboBox trong đó liệt kê tên các ổ đ a có trong hệ thống. Đối tƣợng Driver ListBox đƣợc dùng để tạo hộp danh mục ổ đ a. Khi chạy chƣơng trình, chúng ta có thể chọn một ổ đ a nào đó.

15/ (Directory ListBox – Hộp danh sách thƣ mục): Là hộp danh sách các thƣ mục của ổ đ a hiện hành. Đối tƣợng Directory ListBox đƣợc dùng để tạo hộp danh sách thƣ mục. Khi chạy chƣơng trình, chúng ta có thể chọn một thƣ mục nào đó.

19

16/ (File ListBox – Hộp danh sách tệp):Là một hộp danh sách liệt kê các tệp trong thƣ mục hiện hành. Đối tƣợng File ListBox đƣợc dùng để tạo hộp danh sách các tệp. Khi chạy chƣơng trình, chúng ta có thể chọn một tệp nào đó.

17/ (Shape - Hình):Dùng để vẽ các hình cơ bản nhƣ hình chữ nhật, hình vuông, hình elip, hình tròn, … lên form.

18/ (Line – Đƣờng): Dùng để kẻ một đoạn thẳng trên form.

19/ (Image - Ảnh): Dùng để hiện thị hình ảnh bitmap.

20/ (Data – Dữ liệu):Dùng để tạo khung dữ liệu.

21/ (OLE – Object Linking and Embeding):Dùng để tạo khung kết nối và nhúng các đối tƣợng.

Cửa sổ Project

Cửa sổ Project quản lý toàn bộ trƣơng trình (project đang thiết kế. Trong cửa sổ này sẽ liệt kê tên project và tất cả các form, các module đang viết trong project. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 1.13: Cửa sổ Project

Để mở một form hoặc một module nào đò ta nhấp trái chuột vào hộp (tab) có tên View Object ( ).

Để xem cửa sổ viết mã lệnh của form hoặc module nào đó ta có thể chọn hộp tab có tên View Code ( ).

Cửa sổ Properties (Thuộc tính)

Cửa sổ thuộc tính Properties) cung cấp một số các thuộc tính của đối tƣợng hiện hành.

Bảng 1.2: Các thuộc tính của Properties

T uộc tính T ể n ớ á rị xá lập

20

0 – Flat: Form phẳng 1 – 3D: Form nổi

BackColor Chọn màu nền của Form

BorderSytle Quy định kiểu khung của Form

Caption Xác định tiêu đề của form

Name Dùng để đặt tên cho Form, tên này sẽ

đƣợc dùng để viết mã lệnh chƣơng trình.

Vibible True: Hiện Form

False: Ẩn Form

Một phần của tài liệu nghiên cứu lập trình tính toán nhanh một số bài toán trắc địa cơ bản phục vụ giải đáp bài tập trắc địa đại cương (Trang 27)