Luận văn Nghiên cứu lập trình tính biến dạng xoay trong một tam giác địa động lực

Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Luận văn  
Nghiên cứu lập trình  
tính biến dạng xoay  
trong một tam giác  
địa động lực  
SV: Trần Văn Phong  
1
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Mục Lục  
SV: Trần Văn Phong  
2
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
LỜI MỞ ĐẦU  
Ngày nay với sự phát triển của khoa học công nghệ thì công nghệ thông tin  
được áp dụng vào mọi ngành nghề trong đời sống – xã hội. Việc áp dụng công nghệ  
thông tin vào các mọi ngành nghề giúp tối ưu hóa thời gian cho con người đồng thời  
mang lại độ chính xác cao trong công việc, giảm bớt sức lao động của con người.  
Song hành với sự phát triển của công nghệ thông tin như vậy, ngành địa chất cũng  
xác định được tầm quan trọng của công nghệ thông tin để áp dụng vào xây dựng và  
giải các bài toán trong địa chất. dụ như việc áp dụng thành lập các bản đồ địa  
chất, quản dữ liệu địa chất, tính toán trữ lượng khoáng sản..v..v... Việc áp dụng  
SV: Trần Văn Phong  
3
Lớp: Tin học địa chất K52  
 
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
công nghệ thông tin vào ngành địa chất mang lại sự nhanh chóng và chính xác,  
mang tính vượt trội so với các phương pháp cổ điển mà con người trực tiếp phải xử  
lý. Áp dụng công nghệ thông tin trong địa chất cũng dẫn đến các nhà địa chất có  
những phán đoán chính xác hơn trong việc dự đoán, phân tích trong những vấn đề  
của địa chất học. Hiện nay, trên thế giới việc áp dụng công nghệ thông tin vào  
ngành địa chất học đã mang lại nhiều thành tựu cho sự vượt bậc của nó. Đã rất  
nhiều những chương trình phần mềm được xây dựng phục vụ trong công tác nghiên  
cứu về địa chất đã được công bố mang lại những hiệu quả rất cao trong công việc,  
dẫn đến những chương trình này là những phần không thể thiếu và quan trọng trong  
nghiên cứu..v..v... Ở Việt Nam hiện nay, trong ngành địa chất cũng đã coi trọng  
việc áp dụng công nghệ thông tin trong những xử lý tính toán phức tạp đòi hỏi  
con người mất nhiều thời gian và công sức. Một điển hình cho xu thế phát triển hiện  
đại này là tại phòng Địa Động Lực Viện Địa Chất, một đơn vị trực thuộc của  
Viện Khoa Học Và Công Nghệ Việt Nam, trưởng phòng là PGS.TS Phan Trọng  
Trịnh đã những hướng mang tính hiện đại hóa bằng việc áp dụng nhiều phần  
mềm trong việc xử những vấn đề mà phòng Địa Động Lực nghiên cứu, dụ như  
các phần mềm xử lý trong bản đồ như Arc Gis, Surfer, MapInfo... các phần mềm  
sử số liệu GPS như Bernese, Gamit,Fonda,Gipsy,Globk... và các phần mềm xử  
số liệu dịch chuyển để tính toán biến dạng trong bộ phần mềm QOCA (Quasi-  
Observation Combination Analysis)...  
Trong quá trình thực tập tốt nghiệp, em được bộ môn Tin Học Địa Chất tạo  
điều kiện cho em được thực tập tại phòng Địa Động Lực, tại đây em đã được tiếp  
xúc sử dụng bộ phần mềm QOCA dùng để tính biến dạng kiến tạo trong vỏ Trái  
Đất, đó một trong những phần nhiệm vụ quan trọng tại phòng Địa Động Lực  
nghiên cứu. Tuy nhiên bộ phần mềm chạy trên nền của HĐH(Hệ Điều Hành) Linux  
HĐH không phổ biến tại Việt Nam và bộ phần mềm QOCA vẫn còn tương đối  
khó sử dụng. Nhận định được những vấn đề này và những vấn đề đặt ra Việt Nam  
cũng cần những phần mềm xử lý cho riêng mình, PGS.TS Phan Trọng Trịnh  
mong muốn xây dựng một chương trình tính biến dạng kiến tạo vỏ Trái Đất mang  
một thương hiệu của Việt Nam, dễ sử dụng, phù hợp với người dùng của Việt Nam.  
Đáp lại sự mong muốn đó sự dẫn dắt chỉ bảo của PGS.TS Phan Trọng Trịnh,  
em xin mạnh dạn xây dựng một chương trình tính biến dạng kiến tạo của vỏ Trái  
Đất trong đồ án tốt nghiệp của mình với đề tài:  
Nghiên cứu lập trình tính biến dạng xoay trong một tam giác Địa động lực”  
Chương trình được xây dựng một tool của phần mềm xử bản đồ Mapinfo  
11 với ngôn ngữ lập trình là MapBasic 9.5. Chương trình này có chức năng xử lý  
một phần trong tính toán biến dạng đó là tính biến dạng xoay cho một tam giác địa  
động lực. Đồ án gồm 4 chương được bố cục như sau :  
SV: Trần Văn Phong  
4
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Đặt vấn đề  
Chương 1: Cơ sở thuyết cho xây dựng chương trình  
Chương 2: Xây dựng chương trình  
Chương 3: Giao diện sử dụng chương trình  
Chương 4: Đánh giá và phân tích kết quả chương trình đạt được  
Kết luận kiến nghị  
Nhìn chung chương trình đã đáp ứng được mục đích đề ra, tuy nhiên do kiến  
thức còn hạn chế cũng như xây dựng chương trình này đòi hỏi nhiều kiến thức  
chuyên sâu và hạn hẹp về thời gian nghiên cứu nên chương trình không thể tránh  
còn nhiều thiếu sót.  
Để xây dựng được chương trình này em xin chân thành cám ơn sự giúp đỡ và  
những ý kiến quý báu của PGS.TS Phan Trọng Trịnh, là người đã hướng dẫn  
xuyên suốt trong quá trình thực tập đến hoàn thành đồ án tốt nghiệp này, cùng đó  
em cũng cám ơn tới sự giúp đỡ của các thầy các cô trong bộ môn Tin Học Địa  
Chất đã giúp đỡ em hoàn thành được đồ án tốt nghiệp.  
Em xin chân thành cám ơn!  
ĐẶT VẤN ĐỀ  
TÍNH THỰC TẾ TRONG VIỆC LỰA CHỌN ĐỀ TÀI  
Hiện nay, trên thế giới Việt Nam cùng với sự phát triển mạnh mẽ và mang  
tính đột phá của công nghệ thì việc áp dụng công nghệ thông tin vào giải các bài  
toán trong Địa chất học đang một nhu cầu tất yếu chủ đạo. Đặc biệt với sự đột  
phá về công nghệ định vị toàn cầu GPS (Global Positioning System) thì việc áp  
dụng các phần mềm theo số liệu GPS để tính toán biến dạng động lực của vỏ Trái  
Đất là quan trọng chủ đạo. Việc áp dụng các phần mềm tính toán giúp tối ưu thời  
gian xử lý và mang lại sự chính xác rất cao và nó đang yếu tố cần thiết cho việc  
SV: Trần Văn Phong  
5
Lớp: Tin học địa chất K52  
   
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
xử đánh giá biến dạng địa động lực mà nó đã được áp dụng trên thế giới Việt  
Nam.  
Tại phòng Địa Động Lực Viện Địa Chất chuyên nghiên cứu về sự biến  
đổi trong vỏ Trái Đất thì việc áp dụng phần mềm tính toán các số liệu cho tính biến  
dạng của vỏ Trái Đất được ưu tiên hàng đầu. Để từ đó thể đánh giá được sự biến  
đổi kiến tạo vỏ Trái Đất, đánh giá dự báo động đất,sóng thần tại khu vực Việt Nam  
để những phương án đối phó thiên tai cần thiết.  
MỤC ĐÍCH, YÊU CẦU  
MỤC ĐÍCH  
Xuất phát từ những nhu cầu của thực tế và thu thập dữ liệu trong quá trình  
thực tập tốt nghiệp người thiết kế sử dụng ngôn ngữ lập trình Mapbasic để thành  
lập chương trình là một tool của phần mềm ứng dụng công nghệ GIS là Mapinfo.  
Chương trình này là một công cụ xứ lý các số liệu dịch chuyển của vỏ Trái Đất để  
tính toán đưa ra được thông số biến dạng biến dạng xoay trong một tam giác địa  
động lực và sai số của nó.  
YÊU CẦU  
- Chương trình phải trực quan,dễ hiểu dễ sử dụng  
- Gọn nhẹ đa dạng trong lựa chọn các chức năng  
- Chính xác cao và hiệu quả  
- Thích hợp với hệ điều hành của Window, với các loại phần cứng phổ biến ở  
Việt Nam.  
SV: Trần Văn Phong  
6
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
CHƯƠNG I :  
CƠ SỞ THUYẾT CHO XÂY DỰNG CHƯƠNG TRÌNH  
1.1 LÝ THUYẾT BIẾN DẠNG  
1.1.1 BIẾN DẠNG MỘT CHIỀU  
Giả sử có thanh vật liệu cứng trong hệ toạ độ một chiều  
Hình 1.1).  
(0,푥) (  
Trên đó có hai điểm rất gần nhau  
và  
퐵(푥 + 푑푥).  
Khi tác dụng một lực P theo  
퐴(푥)  
hướng x từ đầu mút của thanh cứng, thanh này sẽ bị kéo dài và các điểm  
đều dịch chuyển (displace).  
cũng  
퐴, 퐵  
Giả sử dịch chuyển này là vô cùng bé, biên độ dịch chuyển sẽ phụ thuộc vào  
vị trí của điểm dọc theo thanh: càng gần điểm tác dụng lực P,thì dịch chuyển càng  
lớn. Do đó,điểm B sẽ bị dịch chuyển nhiều hơn so với điểm A.Dịch chuyển tại điểm  
A được biểu diễn là  
của điểm B được biểu diễn là  
(Hình1.1).  
푢(푥 + 푑푥)  
푢(푥)  
Do dịch chuyển dx vô cùng bé nên có thể viết:  
∂u  
=
(1.1)  
푢(푥 + 푑푥)  
dx  
∂x  
và :  
퐴’퐵’ 푑()  
∂u  
∂u  
=
+
=
+
(1.2)  
() +  
dx () ()  
dx  
∂x  
∂x  
Hình 1.1: Minh họa biến dạng một chiều  
Biến dạng (strain) được định nghĩa tỉ số của sự thay đổi chiều dài của vật  
thể so với chiều dài ban đầu của nó. Do đó:  
SV: Trần Văn Phong  
7
Lớp: Tin học địa chất K52  
       
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
∂u  
∂x  
∆퐿 퐴’퐵’ 퐴퐵  
=
∂푢  
∂푥  
()  
dx  
()  
=
=
=
(1.3)  
푥  
퐴퐵  
()  
Như vậy biến dạng vô cùng bé là gradient không gian của dịch chuyển. Loại  
biến dạng tả trên được gọi biến dạng pháp tuyến (normal strain), cũng thể  
được khái quát hoá trong không gian hai hay ba chiều.Tuy nhiên trong không gian  
hai hay ba chiều, sẽ xuất hiện dạng biến dạng khác, gọi biến dạng tiếp tuyến hay  
biến dạng trượt (shear strain), biểu diễn biến dạng bóp méo theo góc, không phải  
biến dạng căng giãn.Trường hợp biến dạng trong không gian hai chiều sẽ được mô  
tả sau đây.  
1.1.2 BIẾN DẠNG HAI CHIỀU  
Do việc xác định chuyển dịch thẳng đứng của vỏ Trái Đất còn hạn chế nên ta  
chỉ xét các biến dạng do chuyển dịch nằm ngang của vỏ Trái Đất trong không gian 2  
chiều.  
1.1.2.1 Khái niệm  
Giả sử trong không gian Đề-các hai chiều,trên mặt phẳng xy theo trục x (  
푂푥  
dương chỉ hướng đông) trục y (  
dương chỉ hướng bắc), dịch chuyển của chất  
푂푦  
điểm rất nhỏ.Vận tốc chuyển dịch u là một hàm theo vị trí của điểm  
có  
푋(푥,푦)  
thể được viết dưới dạng:  
∂푢  
) =  
푢(푋 + 훿푋 푢(푋)  
+
(1.4)  
훿푋  
∂푋  
Hai thành phần vận tốc theo phương của trục x và y có thể viết như sau:  
∂푢  
∂푢  
푢 (푋 + 훿푋) = 푢 (푋) +  
δx +  
δy  
∂푥  
∂푢  
∂푦  
∂푢  
(1.5)  
푢 (푋 + 훿푋) = 푢 (푋) +  
δx +  
δy  
∂푥  
∂푦  
Trong đó  
,
là các vận tốc thành phần của sự thay đổi vô cùng bé kích  
푢 푢  
thước vật thể bản thân kích thước vật thể dần ti 0.  
Do đó (1.4) có thể viết là:  
) =  
+ g  
(1.6)  
푢(푋 + 훿푋 푢(푋)  
훿푋  
với :  
∂푢∂푢푥  
∂푥 ∂푦  
∂푢∂푢푦  
g=  
(1.7)  
∂푥 ∂푦  
SV: Trần Văn Phong  
8
Lớp: Tin học địa chất K52  
   
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
g được gọi tensor gradient vận tốc dịch chuyển ngang.  
Do gradient vận tốc thường bao hàm cả biến dạng nén ép/căng giãn và biến  
dạng xoay, nên g là một tensor bất đối xứng. Theo lý thuyết về tensor, một tensor  
bậc hai bất kỳ thể phân tách thành hai tensor, bao gồm một tensor đối xứng và  
một tensor b ất đối xứng [Malvern, 1969]. Do đó (1.7) có thể viết thành:  
1
1
g= [g + gT] + [g - gT]  
(1.8)  
2
2
∂푢푦  
∂푥  
∂푢푦  
∂푥  
∂푢푥  
∂푥  
1
2
∂푢푥  
∂푦  
1
2
∂푢푥  
∂푦  
+
0
g =  
+
∂푢푦  
∂푥  
∂푢푦  
∂푢푦  
∂푥  
1
2
∂푢푥  
1
2
∂푢푥  
+
0
∂푦  
∂푦  
∂푦  
(1.9)  
Nếu đặt:  
∂푢푥  
=  
∂푥  
∂푢푦  
=  
∂푦  
(1.10)  
(1.11)  
1
1 ∂푢푥  
∂푢푦  
푥푦 = 푦푥 = 푥푦  
=
+
2
1 ∂푢푥  
2 ∂푦  
∂푢푦  
∂푥  
Ω푥푦  
=
= ― Ω푦푥  
2 ∂푦  
∂푥  
Ta sẽ có:  
푥푦  
푦푥 푦  
0
Ω푦푥  
Ω푥푦  
0
g=  
+
= +  
Ω
Trong đó các ký hiệu ở biểu thức (1.11) :  
được gọi tensor vận tốc biến dạng (strain rate tensor) hay tensor đối  
xứng  
tensor vận tốc xoay (rotation rate tensor) hay tensor phản đối xứng.  
Ω
và  
vận tốc biến dạng pháp tuyến (nornal strain) trên mặt phẳng xy  
푦  
푥  
theo trục x và trục y.Chúng được gọi vận tốc giãn nở (hay căng giãn) khi  
có giá trị dương vận tốc nén ép khi có giá trị âm.  
vận tốc biến dạng trượt (shear strain) không kèm theo sự xoay.  
푥푦 = 푦푥  
Tensor vận tốc biến dạng không phụ thuộc vào sự tịnh tiến của hệ toạ  
độ ảnh hưởng không đáng kể vào phép xoay toạ độ: tensor vận tốc xoay  
không phụ thuộc vào phép tịnh tiến hệ toạ độ.  
Ω
SV: Trần Văn Phong  
9
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Do những ưu điểm trên của tensor vận tốc biến dạng người ta thường sử  
dụng các tham số tính từ các thành phần của nó, bao gồm , ,  
để tả  
푥푦  
biến dạng bề mặt vỏ trái đất.  
1.1.2.2 Trình tự tính biến dạng  
Đầu tiên ta có các dữ liệu đo vận tốc chuyển dịch trên bề mặt Trái Đất (được  
đo bằng GPS) được thể hiện trong một lưới các điểm đo. Chia lưới các điểm  
đo này thành các đa giác (thường là tam giác) sao cho khoảng cách trong các  
cạnh của đa giác tương đối bằng nhau. Từ đó ta sẽ tính các giá trị biến dạng  
trong một đa giác này.  
Từ vận tốc chuyển dịch đo được trong đa giác ta tính được tensor gradient  
chuyển dịch ngang.  
Từ tensor gradient vận tốc chuyển dịch ngang,có thể phân tách thành tensor  
vận tốc biến dạng (tensor đối xứng) và tensor vận tốc xoay (tensor phản đối  
xứng).  
Tensor vận tốc biến dạng được biển diễn theo các vận tốc biến dạng chính  
trong trong hệ toạ độ của các trục chính.  
Giả định rằng biến dạng đồng nhất trong mỗi đa giác,các giá trị vận tốc  
biến dạng được tính trung bình trong mỗi đa giác và được biểu diễn tại tâm  
của đa giác đó.  
1.1.3 BIẾN DẠNG XOAY  
1.1.3.1 Biến dạng xoay là gì?  
Theo (1.11) thì biến dạng xoay là một tensor phản đối xứng thường được  
hiệu là . Giả sử ta có một điểm đo trên bề mặt của vỏ trái đất, khi biết tốc độ  
chuyển dịch của điểm này thì ta sẽ xác định được hướng dịch chuyển của điểm đó,  
nhưng do các yếu tố biến dạng trong vỏ Trái đất điểm này sẽ xoay đi một góc nào  
đó so với mốc ban đầu và góc này chính là thể hiện vận tốc biến dạng xoay.  
1.1.3.2 Minh họa thể hiện biến dạng xoay  
B
B
A
A
(a)  
(b)  
(c)  
(d)  
SV: Trần Văn Phong  
10  
Lớp: Tin học địa chất K52  
       
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Hình 1.2: Minh họa biến dạng xoay  
Trong hình 1.2 thì hình (a) thể hiện điểm A tại gốc mũi tên là điểm tại vị trí  
ban đầu trong không gian, điểm B là điểm sau khi đo, mũi tên sẽ đương thể hiện  
hướng dịch chuyển của điểm A, và chiiều mũi tên thể hiện biến dạng xoay của điểm  
tại vị trí A. hình (b) tương tự như (a) nhưng chiều xoay ngược lại. Hình (c) và (d) là  
hiệu biến dạng xoay thể hiện trên bản đồ.  
1.1.4 TAM GIÁC ĐỊA ĐỘNG LỰC  
1.1.4.1 Tam giác địa động lực là gì?  
Giả sử ta có một loạt các điểm khác nhau đo tốc độ dịch chuyển bề mặt trái  
đất, các điểm này được bố trí các khoảng cách tương đối với nhau tùy theo lưới đo  
lớn hay nhỏ. Để tính biến dạng cho vùng được bố trí các điểm đo này thì người ta  
tính biến dạng trong từng đa giác một, đa giác này thường một tam giác (tức là  
3 điểm đo một tạo thành một tam giác) Tam giác này thường được người xác định  
lựa chọn theo nguyên tắc tam giác Delaunay. Và biến dạng tính được trong tam giác  
thể hiện và qui về trọng tâm của tam giác đó.  
A’  
A
C’  
B’  
G
C
B
Hình 1.3: Minh họa biến dạng xoay trong tam giác địa động lực  
Trong hình 1.3 thể hiện một tam giác địa động lực trong đó thể hiện 3 đầu  
của tam giác là 3 điểm đo được bố trí trên bề mặt trái đất. các mũi tên màu đỏ thể  
hiện các tốc độ dịch chuyển, hiệu biến dạng xoay được thể hiện trên trọng tâm G  
của tam giác.  
SV: Trần Văn Phong  
11  
Lớp: Tin học địa chất K52  
   
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
1.1.4.2 Tính biến dạng xoay trong một tam giác địa động lực.  
Trong không gian Decac 2 chiều của một tam giác địa động lực.Gọi  
,
푥푖푗 푦푖푗  
vận tốc dịch chuyển của điểm thứ tới điểm th lần lượt theo trục  
và . Gọi  
표푥 표푦  
,
khoảng cách của điểm thứ tới điểm th lần lượt theo trục  
và  
.
푥 푦  
푖푗 푖푗  
표푥 표푦 푣  
푥푖푗  
,
đơn vị m/năm,  
,
đơn vị là met. Theo đó ta sẽ có:  
푥 푦  
푖푗 푖푗  
푦푖푗  
,
푥푗 푦푖푗 푦푖 푦푗  
푥푖푗  
= 푣 ― 푣  
= 푣 ― 푣  
푥푖  
Ta có công thức  
(1.12)  
= 퐴.퐹  
푖푗  
Trong đó:  
푥12  
푦12  
푥13  
푦13  
là vector vận tốc dịch chuyển.  
=  
푖푗  
12  
12  
0
12  
0
0
13  
0
12  
là ma trận khoảng cách.  
=  
13  
0
13  
0
13  
0
0
∂푣  
∂푥  
∂푣  
∂푦  
∂푣  
là gradient vector vận tốc( chưa biết).  
=  
∂푥  
∂푣  
∂푦  
1  
1  
1  
Từ công thức (1.12)  
(1.13)  
= 퐴 퐶 퐴  
.퐴 퐶 푉  
푖푗  
Trong đó  
là ma trận hiệp phương sai của vận tốc dịch chuyển.  
Tính được ta có thể tính được biến dạng xoay theo công thức :  
1
2
∂푣  
∂푣  
(1.14)  
=  
∂푦  
∂푥  
Tuy nhiên để tính được ma trận theo công thức (1.13) đòi hỏi một kiến  
thức chuyên sâu về xác xuất thống kê, địa thống kê và trắc địa cao cấp. Do trình độ  
cũng như thời gian nghiên cứu hạn nên em chưa thể tính theo công thức (1.13).  
Nhưng theo đại số tuyến tính ta có thể tính theo công thức ma trận nghịch đảo đó  
là :  
1  
= 퐴 푉  
(1.15)  
푖푗  
Việc tính theo phương pháp này cũng sẽ dẫn tới kết quả tương đối chính xác  
và có thể chấp nhận được. Tuy nhiên nếu thời gian nghiên cứu em sẽ xác định  
SV: Trần Văn Phong  
12  
Lớp: Tin học địa chất K52  
 
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
để tính biến dạng xoay theo công thức (1.13). Hiện tại trong đồ án em chỉ trình bày  
tính toán kết quả biến dạng xoay thông qua việc tính Gradien vector vận tốc  
theo công thức (1.15).  
1.2 MA TRẬN  
1.2.1 KHÁI NIỆM  
1.2.1.1 Định nghĩa ma trận  
Định nghĩa 1.1:  
Một bảng số có hàng cột được hiệu :  
푎 ⋯ 푎  
12 1푛  
11  
푎 ⋯  
푚2 푚푛  
21  
22  
2푛  
=
(1.16)  
푚1  
⋯ 푎  
Được gọi một ma trận cỡ  
với  
phần tử thuộc hàng thứ cột  
푖푗  
× 푛  
Khi  
,
thì được gọi là ma trận nguyên.  
,
thì được  
푎 ∈ ℤ ∀푖,푗  
푎 ∈ ℂ ∀푖,푗  
푖푗  
푖푗  
gọi là ma trận phức. Nếu không chỉ rõ  
thì gọi tập số thực.  
푖푗  
Một ma trận A có cỡ  
thể được viết tắt dưới dạng :  
× 푛  
= 1,푚  
= 1,푛  
=
hay =  
[]  
푖푗 m×n  
(1.17)  
[]  
푖푗  
Khi  
ta nói là ma trận vuông cấp hoặc .  
= 푛  
Tập hợp tất cả các ma trận cỡ  
được hiệu là  
.
×푛  
× 푛  
1.2.1.2 Ví dụ:  
2 3 0  
4 5 7  
Ma trận  
Ma trận  
một ma trận cỡ 2  
3
×
4 5  
một ma trận vuông cấp 2  
7 2  
1.2.2 CÁC PHÉP TOÁN TRONG MA TRẬN  
1.2.2.1 Phép cộng  
Phép cộng chỉ thực hiện được bởi 2 ma trận cùng cỡ. Tổng hai ma trận có  
cùng cỡ = và là một ma trận cùng cỡ được định nghĩa :  
=
[]  
푖푗  
푖푗 m×n  
m×n  
SV: Trần Văn Phong  
13  
Lớp: Tin học địa chất K52  
     
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
=
,
=
+
, với mọi  
푖푗  
,
.
(1.18)  
[]  
푖푗  
= 1,푚 푗 = 1,푛  
+ 퐵  
푖푗 m×n  
푖푗  
2 3 0  
4 5 7  
1 5 0  
2 6 3  
3
8
0
dụ 1.1:  
+
=
6 11 10  
1.2.2.2 Phép nhân ma trận với một số  
Cho ma trận  
=
cỡ  
, và số thực . Ta định nghĩa và ký hiệu  
[]  
× 푛  
푖푗 m×n  
phép nhân ma trận với một số như sau :  
=
(1.19)  
푘퐴 푘푎  
푖푗  
m×n  
1
2
2 3 0  
4 5 7  
1 3/2  
2 5/2 7/2  
0
dụ 1.2:  
=
Tính chất 1.1: Các tính chất sau đúng với ma trận cùng cỡ :  
1.  
;
+ (퐵 + 퐶) = (퐴 + 퐵) + 퐶  
2. Ma trận có các phần tử đều bằng 0 gọi là ma trận không và ký hiệu 0.  
Khi đó :  
;
+ 0 = 0 + = 퐴  
3.  
4.  
5.  
6.  
7.  
8.  
, trong đó  
;
+ ( ― 퐴) = 0  
= [ ―푎 ]  
푖푗 m×n  
;
+ = + 퐴  
;
푘(퐴 + 퐵) = 푘퐴 + 푘퐵  
;
(푘 + ℎ)퐴 = 푘퐴 + ℎ퐴  
;
푘(ℎ퐴) = (푘ℎ)퐴  
;
1퐴 = 퐴  
1.2.2.3 Phép nhân ma trận  
Định nghĩa 1.1: Tích hai ma trận  
và  
là ma  
= []  
= 푏  
푖푗 m×p  
푖푗  
p×n  
trận cỡ  
được hiệu định nghĩa bởi  
, trong đó  
× 푛  
퐴퐵 = []  
푖푗 m×n  
=1  
=
với mọi  
,
.
(1.20)  
푖푗  
푎 푏  
푖푘 푘푗  
= 1,푚 푗 = 1,푛  
Vậy tổng phần tử của hàng thứ cột thứ của  
bằng tổng của tích các  
퐴퐵  
phần tử của hàng thứ của với các phần tử tương ứng của cột thứ của .  
1
2
2 3 0  
4 5 7  
1  
13 36  
4
1 0  
2
dụ 1.3:  
=
4
Ta thấy rằng tích của hai ma trận được định nghĩa khi số cột của  
bằng số hàng của .Vì vậy thể định nghĩa  
nhưng không định nghĩa được  
퐵퐴  
퐴퐵  
nếu số cột của không bằng số hàng của .  
SV: Trần Văn Phong  
14  
Lớp: Tin học địa chất K52  
   
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Khi  
là hai ma trận vuông cùng cấp thì ta có đồng thời  
và . Mặc dù  
퐴퐵 퐵퐴  
퐴,퐵  
vậy chưa chắc đẳng thức  
퐴퐵 = 퐵퐴  
có tính giao hoán. Chẳng hạn, xét:  
, hay nói cách khác tích của ma trận không  
2 0  
3 5  
2 4  
5 1  
=  
=  
4
8
16 20  
13 15  
퐴퐵 =  
퐵퐴 =  
31 17  
Tính chất 1.2: Giả sử  
là các ma trận với số cột số hàng thích hợp để  
퐴,퐵,퐶  
các phép toán sau được xác định thì ta có đẳng thức :  
1.  
2.  
tính kết hợp.  
(퐵퐶) = (퐴퐵)퐶  
tính phân phối bên trái phép nhân ma trận với  
(+ ) = 퐴퐵 + 퐴퐶  
phép cộng.  
3.  
tính phân phối bên phải phép nhân ma trận với  
(+ )= 퐵퐴 + 퐶퐴  
phép cộng.  
4. Với mọi  
푘 ∈ , (퐴퐵) = (푘퐴)= (푘퐵).  
5. Với mọi số tự nhiên dương n ta xét ma trận vuông cấp có các phần  
tử trên đường chéo bằng 1 và các vị trí khác đều bằng 0.  
1 0  
=
0 1  
ta có  
퐼 퐴 = = 퐴퐼  
Khi đó ma trận cỡ  
× 푛  
Ma trận được gọi là ma trận đơn vị cấp  
1.2.2.4 Ma trận chuyển vị  
Định nghĩa 1.2: Cho ma trận cỡ  
,nếu ta đổi các hàng của ma trận  
× 푛  
thành các cột (do đó các cột thành các hàng)thì ta được ma trận mới cỡ  
,
× 푚  
gọi là ma trận chuyển vị của ma trận trên ký hiệu  
퐴,  
;
,
.
(1.21)  
= []  
푖푗  
= 푎  
푖푗  
= 1,푛 푗 = 1,푚  
푖푗 n×m  
1
2
1
2
1 2  
1 0  
2
dụ 1.4:  
;
.
=  
=  
0
4
4
Tính chất 1.3:  
1.  
2.  
.
(퐴 + 퐵) = + 퐵  
.
(푘퐴) = 푘퐴  
SV: Trần Văn Phong  
15  
Lớp: Tin học địa chất K52  
 
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
푡 푡  
3.  
(퐴퐵) = 퐵 퐴 .  
Định nghĩa 1.3:  
1. Nếu  
thì được gọi là ma trận đối xứng ( là ma trận vuông có  
= 퐴  
các phần tử đối xứng nhau qua đường chéo thứ nhất).  
2. Nếu  
thì được gọi phản đối xứng (hay đối xứng lệch) ( là  
= ― 퐴  
ma trận vuông có các phần tử đối xứng và trái dấu qua đường chéo thứ  
nhất, các phần tử trên đường chéo thứ nhất bằng 0).  
1.2.3 ĐỊNH THỨC  
1.2.3.1 Định nghĩa  
푎푥 + 푏푦 = 푐  
푎′푥 + 푏′푦 = 푐′  
Khi giải hệ phương trình tuyến tính  
ta tính các định thức  
,
=  
= 푎푏’ ― 푏’ =  
= 푐푏′ ― 푏푐′, 퐷 =  
= 푎푐′ ― 푐푎′  
|
|
|
|
|
|
푎′ 푏′  
푐′ 푏′  
푎′ 푐′  
12  
11  
21  
Như vậy định thức của ma trận  
vuông cấp 2 là :  
=  
22  
12  
11  
21  
|
|
.
|| =  
= 푎 푎 ― 푎 푎  
11 22 12 21  
22  
Định nghĩa 1.4: Định thức của ma trận vuông  
được hiệu  
= []  
푖푗 m×n  
là  
hay  
định nghĩa bởi biểu thức :  
||  
푑푒푡 퐴  
(1.22)  
tổng tất cả các tích  
푑푒푡 퐴 =  
푠푔푛휎.푎  
푎  
1휎(1)  
푛휎(푛)  
휎휖푆  
Như vậy định thức của ma trận vuông  
= []  
푖푗 m×n  
gồm phần tử trên hàng trên cột khác nhau của ma trận  
và nhân với  
+1 hoặc -1.  
11  
21  
31  
12  
22  
32  
13  
23  
33  
dụ 1.5: Tính định thức của một ma trận bậc 3 có dạng  
dấu  
.Vậy  
푠푔푛휎 = 푠푔푛휎 = 푠푔푛휎 = 1, 푠푔푛휎 = 푠푔푛휎 = 푠푔푛휎 = 1  
1
4
5
2
3
6
11  
21  
31  
12  
22  
32  
13  
23  
33  
휎휖푆  
=
3 푠푔푛휎.푎  
.푎  
.푎  
1휎(1) 2휎(2) 3휎(3)  
|
|
=
푎 푎 푎 ― 푎 푎 푎 ― 푎 푎 푎 + 푎 푎 푎 + 푎 푎 푎 ― 푎  
11 22 33  
11 23 32  
12 21 33  
12 23 31  
13 21 32  
13  
푎 푎  
22 31  
SV: Trần Văn Phong  
16  
Lớp: Tin học địa chất K52  
   
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
1.2.3.2 Tính chất của định thức  
Tính chất 1.4:  
1. Nếu đổi chỗ hai hàng của ma trận thì định thức đổi dấu:  
푎 푛ế푢 푖 ≠ 푘,푚  
푖푗  
푎′ = 푘푗  
푖푗  
푛ế푢 푖 = 푚  
푛ế푢 푖 = 푘  
,
,
= []  
퐴′ = 푎′  
푖푗  
푖푗 n×n  
n×n  
푚푗  
thì  
.
푑푒푡퐴’ = ― 푑푒푡퐴  
2. Định thức có tính chất tuyến tính đối với mỗi hàng:  
Cho hai ma trận và ma trận  
= []  
푖푗 n×n  
,
có  
= []  
= 푏  
푖푗 n×n  
푖푗  
n×n  
hàng thứ tổ hợp tuyến tính của hàng thứ của và  
.
= = 푏 푛ế푢 푖 ≠ 푘  
푖푗  
푖푗  
푖푗  
Nghĩa là  
với mọi  
= 1,...,푛  
= 훼푎 + 훽푏  
푘푗  
;
푖푗  
푘푗  
Thì  
.
푑푒푡퐶 = 훼푑푒푡퐴 + 훽푑푒푡퐵  
3. Từ 1. và 2. suy ra rằng trong một ma trận có hai hàng tỷ lệ thì định thức  
bằng 0.  
4. Nếu ta cộng vào một hàng một tổ hợp tuyến tính các hàng khác thì định  
thức không thay đổi.  
5. Định thức của ma trận chuyển vị bằng định thức của ma trận đó:  
Giả sử  
,
,
n×n  
= []  
= 푎′  
푎′ = ,,= 1,…,푛  
푖푗 푗푖  
푖푗 n×n  
푖푗  
thì  
푑푒푡퐴 = 푑푒푡 퐴.  
6. Từ 5. suy ra rằng các tính chất của định thức đúng với hàng thì cũng đúng  
với cột ngược lại.Vì vậy ta chỉ cầ n chứng minh các định về định  
thức đúng với hàng.Chẳng hạn, từ 4. suy ra nếu ta cộng vào một cột một  
tổ hợp tuyến tính các cột khác thì định thức không thay đổi. Định thức của  
mọi hệ véctơ phụ thuộc tuyến tính đều bằng 0.  
1.2.3.3 Cách tính định thức  
(+)  
Định lý 1.1:  
(1.23)  
= ( 1)  
푖푗  
M
푖푗  
Trong đó  
định thức của ma trận cấp  
được bằng cách xoá hàng i cột  
푛 ― 1  
M
푖푗  
j của ma trận .  
1.2.4 MA TRẬN NGHỊCH ĐẢO  
1.2.4.1 Định nghĩa ma trận nghịch đảo  
Định nghĩa 1.5: Ma trận vuông được gọi khả nghịch nếu tồn tại ma trận  
vuông cùng cấp sao cho  
Trong đó là ma trận đơn vị.  
= 퐵퐴 = 퐴퐵.  
SV: Trần Văn Phong  
17  
Lớp: Tin học địa chất K52  
       
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Phép nhân ma trận có tính kết hợp nên ma trận ở định nghĩa trên nếu tồn  
1  
tại thì duy nhất, ta gọi ma trận này là ma trận nghịch đảo của , ký hiệu  
.
1.2.4.2 Điều kiện cần đủ để tồn tại ma trận nghịch đảo  
Định lý 1.2 : (điều kiện cần) Nếu khả nghịch thì  
(lúc đó ta nói  
푑푒푡 퐴 0  
ma trận  
không suy biến)  
Định nghĩa 1.6: Ma trận  
trong đó  
phần đại số của  
푖푗  
= 퐴  
푖푗  
n×n  
phần tử  
của ma trận  
, được gọi là ma trận phụ hợp của .  
푖푗 n×n  
= []  
푖푗  
Định lý 1.3 : (điều kiện đủ) Nếu  
thì  
khả nghịch và  
푑푒푡 퐴 0  
1
1  
(1.24)  
=
푑푒푡퐴  
Với là ma trận phụ hợp của .  
1.2.4.3 Ví dụ tính ma trận nghịch đảo theo công thức (1.24)  
1 2 3  
2 5 3  
1 0 8  
dụ 1.6: Ma trận  
có  
푑푒푡퐴 = 1  
=  
5 3  
2 3  
1 8  
1+1  
1+2  
,
,
= 13  
= ( 1)  
= ( 1)  
= ( 1)  
= ( 1)  
= ( 1)  
= 40  
= ( 1)  
|
|
|
|
|
|
|
|
|
|
|
|
11  
13  
22  
31  
33  
12  
0 8  
2 5  
1 0  
2 3  
0 8  
1+3  
2+2  
3+1  
3+3  
2+1  
,
,
,
= 16  
= 5  
= ( 1)  
|
|
21  
1 3  
1 8  
1 2  
1 0  
2+3  
,
,
= 5  
= ( 1)  
= 2  
|
|
23  
2 3  
5 3  
1 3  
2 3  
3+2  
,
= 9  
= ( 1)  
= 3  
|
|
32  
1 2  
2 5  
,
= 1  
Vậy :  
40  
13 5  
40  
16 9  
40 16  
9
1
1  
16  
9  
5
3
2
1
13  
5  
5
2
3
1
13  
5
5 3  
2 1  
.
=
= ―  
=
1
SV: Trần Văn Phong  
18  
Lớp: Tin học địa chất K52  
   
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
1.2.5 GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH BẰNG MA TRẬN  
NGHỊCH ĐẢO  
1.2.5.1 Hệ phương trình tuyến tính  
Hệ phương trình tuyến tính ẩn dạng tổng quát:  
푎 푥 + 푎 푥 + … + 푎 푥 = 푏  
11 1  
12 2  
1푛 푛  
1
2
푎 푥 + 푎 푥 + … + 푎 푥 = 푏  
21 1  
22 2  
2푛 푛  
……………………… . …………… ..  
+ 푎 푥 + … + 푎 푥 = 푏  
1 1  
2 2  
푚푛 푛  
=1  
Hay  
Trong đó :  
(1.25)  
푎 푥 = ,= 1,…,푚  
푖푗 푗  
,
,..., là ẩn  
푥 푥  
1
2
hệ số của ẩn th trong phương trình  
,  
; 푖 ― 1,....,;= 1,...,.  
thì hệ phương trình được gọi thuần nhất.  
푖푗  
vế phải của phương trình thứ  
Khi các vế phải  
= 0  
1.2.5.2 Giải hệ phương trình tuyến tính bằng ma trận nghịch đảo  
Từ công thức (1.25) ta có dạng ma trận của hệ phương trình tuyến tính :  
11  
12  
1푛  
1
2
1
2
21  
22  
2푛  
=
,
,
=  
(1.26)  
=  
1  
2  
푚푛  
Trong đó  
lần lượt được gọi là ma trận hệ số, ma trận vế sau và ma  
, , 푋  
trận ẩn. Khi đó hệ phương trình (1.25) được viết lại dưới dạng ma trận:  
(1.27)  
Giải phương trình (1.27) theo phương pháp ma trận nghịch đảo ta có công  
퐴푋 = 퐵  
1  
thức :  
(1.28)  
= 퐴 퐵.  
1.3 SAI SỐ  
1.3.1 KHÁI NIỆM  
Giả sử số gần đúng của  
(
: số đúng),  
푥 푥  
Khi đó  
gọi là sai số thực sự của .  
= |푥 ― 푥 |  
SV: Trần Văn Phong  
19  
Lớp: Tin học địa chất K52  
         
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Vì không xác định được nên ta xét đến 2 loại sai số đó là sai số tuyệt đối  
và sai số tương đối :  
- Sai số tuyệt đối: Giả sử  
đủ bé sao cho  
. Khi đó  
|푥 ― 푥 | ≤ ∆푥  
푥  
∃∆푥 > 0  
gọi là sai số tuyệt đối của x.  
- Sai số tương đối :được định nghĩa và ký hiệu bởi công thức:  
푥  
(1.29)  
훿푥 =  
||  
1.3.2 CÁC LOẠI SAI SỐ  
Dựa vào nguyên nhân gây sai số, ta có các loại sai số sau:  
- Sai số giả thiết: xuất hiện do việc giả thiết bài toán đạt được một số điều  
kiện tưởng nhằm làm giảm độ phức tạp của bài toán.  
- Sai số do số liệu ban đầu: xuất hiện do việc đo đạc và cung cấp giá trị  
đầu vào không chính xác.  
- Sai số phương pháp : xuất hiện do việc giải bài toán bằng phương pháp  
gần đúng.  
- Sai số tính toán : xuất hiện do làm tròn số trong quá trình tính toán, quá  
trình tính càng nhiều thì sai số tích luỹ càng lớn.  
1.3.3 SAI SỐ TÍNH TOÁN  
Giả sử dùng số gần đúng  
để tính đại lượng ,  
푥 푖 = 1,푛  
Với  
. Trong đó là hàm khả vi liên tục theo các  
= () = (,,… ,)  
1
2
đối số của . Khi đó sai số của được xác định theo công thức sau :  
∂푓  
∂푥  
=1  
Sai số tuyệt đối:  
Sai số tương đối:  
(1.30)  
(1.31)  
=  
훿푦 =  
푥  
|
|
∂푙푛푓  
=1  
푥  
|
|
∂푥  
Ta tính sai số cho các trường hợp của hàm như sau :  
- Trường hợp dạng tổng:  
= () = ± ± ± … ± 푥  
1
2
∂푓  
=1  
suy ra  
(1.32)  
= 1 ∀푖  
=  
푥  
|
|
∂푥  
- Trường hợp dạng tích :  
× × … × 푥  
1
2
= () =  
× … × 푥  
+1  
SV: Trần Văn Phong  
20  
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
.푥  
1
2
푙푛푓 = 푙푛  
= (푙푛푥 + 푙푛푥 + … + 푙푛푥 ) (푙푛푥  
+ … + 푙푛푥 )  
+1  
1
2
푥  
+1  
1
∂푙푛푓  
푥  
=1  
=1  
=
∀푖  
훿푦 =  
=
훿푥  
|
|
||  
∂푥  
||  
=1  
Vậy:  
(1.33)  
=  
훿푥  
- Trường hợp dạng lũy thừa :  
. Ta có :  
= () = ( > 0)  
푙푛푦 = 푙푛푓 = ∝ 푙푛푥  
푥  
∂푙푛푓  
Suy ra  
(1.34)  
=
= . = ∝ 훿푥  
|
|
||  
||  
∂푥  
dụ 1.7: Tính sai số của:  
3
3
;
=  
1
= 푎 ― 푏 푐  
2
푏 푐  
1
3
Giải:  
훿푦 = () + (푏 푐) = 3훿푎 + 훿푏 + 훿푐  
1
2
1 푐  
= 3  
+
+
|| |푎푏| 2 ||  
2
푎  
3
3
3
3
= ∆  
()  
+ ∆  
=
+
= 3  
||  
+ 푏  
(푏 푐) || () |푏 푐| (푏 푐)  
||  
1 푐  
+
|| 2 ||  
SV: Trần Văn Phong  
21  
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
CHƯƠNG 2 : XÂY DỰNG CHƯƠNG TRÌNH  
2.1 NGÔN NGỮ LẬP TRÌNH  
Để xây dựng chương trình tính biến dạng xoay trong một tam giác địa động  
lực, em lựa chọn xây dựng chương trình là thành lập một tool (công cụ) của phần  
mềm Mapinfo. Đây phần mềm GIS được dùng phổ biến rộng rãi trên thế giới  
Việt Nam, và thành lập tool này dựa trên ngôn ngữ lập trình mở rộng của nó, đó  
MapBasic. Cụ thể trong chương trình được trình bày trong đồ án này em sử dụng  
MapBasic 9.5 Mapinfo 11.0 những phiên bản mới nhất hiện nay.  
2.1.1 TỔNG QUAN VỀ PHẦN MỀM MAPINFO  
MapInfo là một phần mềm nhằm giúp chúng ta xử bản đồ số cũng như các  
thông tin liên quan đến địa lý. Trước đây xử bản đồ một chức năng chuyên  
nghiệp của ngành bản đồ học. Với sự ra đời của Mapinfo, việc xử bản đồ trở nên  
một công việc mọi người đều thể làm được. Không những có các chức năng  
của bản đồ thông dụng như cung cấp thông tin địa lý, giúp định vị trong thực địa,...  
Mapinfo còn là một phần mềm rất mạnh giúp xử lý và phân tích thông tin trên bản  
đồ số. Chức năng này của Mapinfo khiến cho nó trở thành một hệ cơ sở dữ liệu địa  
lý. Tính năng này còn được tăng cường thêm nhờ khả năng liên kết được với các hệ  
cơ sở dữ liệu như Microsoft Access, SQL Sever, Oracle,... Sử dụng Mapinfo có thể  
hỗ trợ giải quyết được nhiều vấn đề thực tế một cách nhanh chóng và chính xác.  
Một bản đồ trong Mapinfo bao gồm hai phần : phần bản đồ (hay phần đồ  
họa) phần dữ liệu (hay thông tin).  
2.1.1.1 Đồ họa trong Mapinfo  
Phần đồ họa của Mapinfo là những vật thể được biểu hiện trên màn hình máy  
tính giống như bản đồ giấy nhưng bản chất khác. Phần đồ họa được hiển thị  
trong cửa sổ bản đồ (Map Window). Mapinfo sử dụng các khái nệm toán học để  
biểu diễn các chi tiết trên bản đồ. Có 3 kiểu khái niệm toán học chính được sử dụng  
để xây dựng bản đồ trên Mapinfo (Hình 2.1) :  
SV: Trần Văn Phong  
22  
Lớp: Tin học địa chất K52  
       
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
-
Điểm : là một vật thể toán học không có kích thước, không có chiều dài, chỉ  
tọa độ (trong một hệ trục tọa đnào đó). Người ta sử dụng vật thể điểm để  
minh họa cho một thành phố,một trạm xăng,một trường học,... Điểm được  
tượng trưng bằng một chấm trong toán học. Trong Mapinfo,tùy theo nội  
dung của điểm đó (minh họa cho cái gì) mà người ta có thể sử dụng một  
trong nhiều biểu tượng khác nhau để minh họa một điểm. vậy điểm trong  
Mapinfo được gọi biểu tượng (symbol).  
-
-
Đường: một vật thể hình học không có chiều rộng nhưng chiều dài.  
Đường trong Mapinfo bao gồm các thành phần nhỏ được gọi đoạn  
(segment). Giữa hai đoạn liền nhau gọi nốt (node). Các điểm nốt này cho  
phép ta chỉnh sửa các đường.Đường được sử dụng để minh họa cho một con  
sông, một đường giao thông,....  
Vùng : là một vật thể diện tích.Vùng cũng bao gồm các thành phần nhỏ là  
đoạn và các điểm nốt nhưng đoạn đầu tiên và đoạn cuối cùng gặp nhau nên  
tạo ra một đường khép kín và phần phía trong đường ranh giới đó diện  
tích. Vùng có chu vi là đường giới hạn ranh giới của vùng đó. Vùng thực  
chất một hình đa giác.Vùng được sử dụng để minh họa cho một quận, một  
tỉnh,một cái ao,...  
Hình 2.1: Minh họa các kiểu đồ họa chính trong Mapinfo  
Các thông tin đồ họa trên Mapinfo được gọi là các đối tượng (object).  
Người làm bản đồ số cần phải biết cách số hóa những thông tin địa từ bản  
đồ giấy vào bản đồ số sao cho đúng cách.Ví dụ như khi nói đến một cái ao có thể  
“nhìn” thấy (tức thấy được bằng mắt thường trên bản đồ giấy hình dạng của cái  
ao ở một tỉ lệ nào đó) thì ta số hóa nó thành một vùng, nhưng khi làm một bản đồ tỉ  
lệ rất nhỏ thì ta lại không nhìn thấy hình dạng cái ao đó nên được minh họa thành  
SV: Trần Văn Phong  
23  
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
một điểm.Tương tự như vậy,một con đường trên một bản đồ tỉ lệ nhỏ thì được minh  
họa bằng kiểu đường, nhưng trên một bản đồ tỉ lệ lớn thì con đường sẽ chiều  
rộng, lúc đó ta minh họa con đường bằng đối tượng chiều rộng,lúc đó ta minh  
họa con đường bằng một đối tượng kiểu vùng...  
Phần đồ họa trong Mapinfo được quản lý theo lớp (layer), có nghĩa là các  
thông tin địa được tố chức theo từng nhóm,ví dụ như trên bản đồ của một thành  
phố, ta có lớp đường xá, lớp quận, lớp địa danh, lớp sông suối... Nhờ khả năng này  
mà ta có thể hiển thị thông tin theo ý muốn.Khi muốn sử dụng những thông tin nào  
ta có thể mở những lớp thông tin đó ra. Cửa sổ bản đồ thể chứa một hay nhiều  
lớp bản đồ đang được mở. Nếu các lớp bản đồ thuộc cùng một vị trí địa lý thì có thể  
hiển thị chồng lên nhau. Ta có thể hình dung mỗi lớp bản đồ như một tờ giấy  
kính (transparency) có hình vẽ bản đồ giống như nhiều tờ giấy kính chồng lên  
nhau để tạo ra một cái nhìn cuối cùng. Các lớp bản đồ được sắp xếp theo thứ tự trên  
dưới, nghĩa lớp ở dưới bị lớp ở trên che khuất những phần chung.Ngoài ra  
phía trên cùng các lớp bản đồ được mở luôn luôn có một lớp mặc định được gọi là  
lớp Cosmetic (Cosmetic Layer).Lớp này giống như một lớp nháp, ta có thể đánh dấu  
chỉnh sửa vào lớp này và thêm bớt các vật thể đồ họa vào nó nhưng không ảnh  
hưởng đến các lớp bản đồ khác ở dưới. Những vật thể được vẽ thêm vào lớp bản đồ  
này có thể được lưu dưới dạng được mở hoặc lưu thành một lớp bản đồ riêng. Lớp  
Cosmetic còn được sử dụng trong việc trình bày bản đồ khi in ấn, dụ như thêm  
các chi tiết để trình bày bản đồ. Các đối tượng trong lớp này không có phần dữ liệu.  
2.1.1.2 Dữ liệu trong Mapinfo  
Ngoài phần đối tượng đồ họa,bản đồ số trong Mapinfo còn có dữ liệu được  
hiển thị trong một cửa sổ được gọi cửa sổ Brower(cửa sổ dữ liệu). Dữ liệu trong  
Mapinfo được hiển thị trên một bảng và chúng được cấu trúc theo dữ liệu tương tự  
các kiểu dữ liệu khác như Excel,Access,.... Ngoài ra Mapinfo cũng thể mở các  
dữ liệu khác. Ta có thể mở một tập tin Excel hay Access trong Mapinfo và xử lý  
chúng như những bảng dữ liệu bình thường của Mapinfo.  
Mỗi cửa sổ dữ liệu thể hiển thị thông tin của một lớp bản đồ hay một phần  
của một lớp bản đồ. Cửa sổ này bao gồm các ô giống nhau như bảng tính Excel.  
Các ô được xếp theo chiều dọc được gọi trường(field) hay cột (column). Mỗi cột  
hiển thị một loại thuộc tính của đối tượng trên bản đồ số, dụ đối với bản đồ các  
tỉnh của Việt Nam chẳng hạn, ta có thể có các cột tên tỉnh,diện tích tỉnh,chu vi  
tỉnh,dân số,... Mỗi một cột một định dạng khác nhau tùy theo nội dung chứa  
trong cột đó. Ta có thể thêm hay bớt trường cũng như thay đổi định dạng các  
trường. Tên trường không hiển thị tiếng Việt được nên khi tạo trường ta không được  
dấu tiếng Việt vào tên trường. Trên cùng cửa sổ dữ liệu có tiêu đề cột (in đậm),  
tức tên trường. Các hàng trong cửa sổ dữ liệu được gọi bản ghi (record). Bên trái  
SV: Trần Văn Phong  
24  
Lớp: Tin học địa chất K52  
 
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
mỗi hàng có một ô vuông. Khi sử dụng công cụ chọn, ta có thể nhắp chuột lên ô  
vuông đó để chọn bản ghi đó. Khi được chọn ô vuông biến thành màu đen. Mỗi một  
bản ghi liên kết với một vật thể đồ họa trên cửa sổ bản đồ,hay nói cách khác mỗi đối  
tượng đồ họa trên cửa sổ bản đồ có thông tin nằm trên một hàng trong cửa sổ dữ  
liệu. Đối tượng đồ họa dữ liệu là hai thành phần thống nhất của một bản đồ số  
trong Mapinfo. Nếu mở cửa sổ đồ họa cửa sổ dữ liệu của một lớp bản đồ cùng  
lúc thì khi sử dụng công cụ chọn, ta có thể nhắp chuột lên chọn một vật thể đồ họa  
trên cửa sổ bản đồ. Khi một dối tượng trên cửa sổ bản đồ được chọn thì bản ghi  
tương ứng trong cửa sổ dữ liệu cũng được chọn ngược lại.  
Nếu ta quan niệm bản đồ số như là các lớp đối tượng đồ họa thì cửa sổ dữ  
liệu là thông tin của vật thể trên bản đồ. Nếu ta quan niệm bản đồ số như một cơ  
sở dữ liệu thì các đối tượng đồ họa trên một lớp bản đồ một “cột” được gọi là  
“cột đối tượng” (object column hay obj column),vì cột đó không hiển thị được trong  
cửa sổ dữ liệu nên được hiển thị riêng trong cửa sổ bản đồ. Vì Mapinfo quan niệm  
bản đồ số như một cơ sở dữ liệu với các đối tượng trong cửa sổ bản đồ được coi như  
một cột” nên một bản đồ cũng được gọi một bảng (table). Mapinfo sử dụng  
thuật ngữ này để chỉ cả dữ liệu lẫn đồ họa(“cột” đối tượng) trong một bản đồ số.  
Một bảng của Mapinfo có thể không có “cột” đối tượng. Lúc đó chúng hoàn toàn  
giống như một cơ sở dữ liệu bình thường, kiểu dữ liệu của Excel hay Access. Cửa  
sổ dữ liệu thể dữ liệu nguyên thủy của Mapinfo (native) hay dữ liệu của các  
định dạng khác (như Excel, Access,...) nhưng được đăng ký vào Mapinfo.  
Những tính chất liên quan đến đồ họa của bản đồ số được xử lý trong cửa sổ  
bản đồ. Những thông tin liên quan đến dữ liệu (tên,dân số,thuộc tính,đặc điểm,...)  
được xử lý trong các trường của cửa sổ dữ liệu. Những thông tin về dữ liệu này có  
thể được đưa lên bản đồ bằng một số lệnh khác nhau để minh họa làm rõ bản đồ lúc  
trình bày bản đồ để in hoặc tiến hành phân tích như một hệ cơ sở dữ liệu bình  
thường kết quả phân tích cũng thể được phản ánh trên cửa sổ bản đồ. Ngược  
lại một số thông tin trên bản đồ thể được cập nhật vào dữ liệu bằng một số lệnh.  
Tùy nhu cầu của người dùng có thể mở cửa sổ bản đồ hay cửa sổ dữ liệu hoặc mở  
cả hai. Ngoài ra còn một số loại cửa sổ khác nữa trong Mapinfo.  
2.1.1.3 Giao diện Mapinfo  
Khi khởi động Mapinfo trên màn hình có các thành phần chính sau:  
-
-
Menu chính : gồm các menu lệnh chính của Mapinfo là File,Edit,Tool,  
Object, Query, Table, Options,Map/Browse (hay một menu khác, tùy  
vào cửa sổ nào đang được kích hoạt), Window, Help.  
Thanh công cụ: Có 3 thanh công cụ chính là Standard, Main, Drawing  
SV: Trần Văn Phong  
25  
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Thanh công cụ Standard gồm các lệnh thường được sử dụng trên  
các menu chính.  
Thanh công cụ Main gồm 23 nút lệnh liên quan đến các thành phần  
chính của một bản đồ số như lệnh chọn, chỉnh thiết lập cửa sổ bản đồ,  
biểu đồ/đồ thị, kiểm soát lớp,...  
Thanh công cụ Drawing bao gồm các nút lệnh liên quan đến việc vẽ  
chỉnh sửa phần đồ họa của bản đồ.  
Ngoài ra nếu còn có thanh công cụ DBMS.Đây là thanh công cụ cho  
phép liên kết và thao tác dữ liệu của các hệ dữ liệu khác nhau như  
Access, SQL Server,...  
Dưới cùng cửa sổ Mapinfo là thanh trạng thái (Status Bar). Thanh  
này cho biết thông tin cũng như tình trạng của cửa sổ đang được kích  
hoạt.  
SV: Trần Văn Phong  
26  
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Menu chính  
Thanh công cụ Main  
Thanh công cụ Drawing  
Thanh công cụ Standard  
Cửa sổ Bản đồ  
Cửa sổ chính của Mapinfo  
Cửa sổ Dữ liệu  
Thanh trạng thái  
Hình 2.2: Giao diện Mapinfo  
Ta mở một bản đồ bản đồ Việt Nam. Bảng này có tên là vietnam. Cách mở  
như sau :  
-
Khới động Mapinfo, cửa sổ Quick Start hiện ra.  
Chọn Open a Table > Open, vào thư mục chứa tập tin vietnam.tab rồi  
chọn nó và tiếp chọn Open.  
-
SV: Trần Văn Phong  
27  
Lớp: Tin học địa chất K52  
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
Ta sẽ thấy cửa sổ bản đồ được mở ra. Để thấy cửa sổ dữ liệu ta chọn  
Window > New Browser Window, cửa sổ dữ liệu của bản đồ vietnam  
được mở ra (Hình 2.2).  
Ta có thể mở nhiều cửa skhác nhau cùng một lúc trong Mapinfo. Tuy nhiên  
vào một thời điểm chỉ một cửa sổ được kích hoạt. Cửa sổ được kích hoạt cửa  
sổ màu xanh trên thanh tiêu đề (màu mặc định, màu này có thể khác tùy thiết lập  
màu trên HĐH), những cửa sổ không được kích hoạt có màu xám. Ta kích hoạt một  
cửa sổ bản đồ bằng cách nhắp chuột vào thanh tiêu đề của cửa sổ từ menu chính  
chọn Window > <tên cửa sổ>. Những thao tác ta thực hiện chỉ tác động lên cửa sổ  
nào đó đang được kích hoạt. Cửa sổ kích hoạt luôn nằm trên cùng.  
2.1.2 NGÔN NGỮ LẬP TRÌNH MAPBASIC  
2.1.2.1 Tổng quan về Mapbasic  
MapBasic là ngôn ngữ lập trình trong môi trường MapInfo. MapBasic làm  
tăng thêm sức mạnh của MapInfo lên nhiều lần. Nó làm cho tự động hóa được  
MapInfo và làm cho các hệ thống GIS làm bằng MapInfo trở nên thương mại hóa.  
Bằng MapBasic, chúng ta có thể làm thay đổi hay làm mới hoàn toàn các  
thanh menu, các hộp hội thọai của MapInfo. Điều này có nghĩa là, với MapBasic,  
chúng ta có thể tạo ra các giao diện hết sức thuận tiện cho MapInfo.  
MapBasic được đánh giá cao bởi các tính năng đặc sắc của nó, như:  
MapBaic dễ học, vì nó được phát triển từ Basic chuẩn, và nó rất gần gũi với  
Visual Basic.  
Khả năng tự động hóa MapInfo: Nếu thao tác MapInfo bằng "tay" chúng ta  
tốn nhiều công sức hơn là khi dùng MapBasic để lập trình cho MapBasic điều khiển  
MapInfo thực hiện tự động các thao tác. Trong thực tế, nhiều công việc làm trên  
MapInfo không thể thực hiện nổi nếu như không có sự trợ giúp của MapBasic. Một  
dụ đơn giản, chúng ta không thể thể hiện được vệt của một luồng khói khi nó  
chạm đất, nếu không biết lập trình bằng MapBasic hoặc chúng ta tốn khá nhiều thời  
gian để vẽ một đối tượng như con đường, sông suối.... Với MapBasic chỉ trong nháy  
mắt bạn đã vẽ xong một đối tượng như thế.  
MapBasic là công cụ hữu hiệu để truy vấn dữ liệu. Chẳng hạn, các mệnh đề  
Select của MapBasic không những vẫn giữ nguyên sức mạnh của ngôn ngữ SQL mà  
còn được phát triển thêm với các đối tượng bản đồ. Các phương tiện truy vấn của  
MapBasic cho phép chúng ta lọc, sắp xếp, tổng hợp dữ liệu bản đồ theo các yêu cầu  
của chúng ta.  
MapBasic là một ngôn ngữ lập trình mở. MapBasic có khả năng liên kết với  
các phương tiện lập trình khác, có thể sử dụng DDE (Dynamic Data Exchange).  
Chúng ta cũng thể sử dụng OLE Automation cùng với MapBasic. Các chương  
SV: Trần Văn Phong  
28  
Lớp: Tin học địa chất K52  
   
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
trình MapBasic có thể gọi sử dụng các file thư viện liên kết động của Windows  
(các file.DLL). Các file.DLL này có thể được cung cấp thương mại bởi Windows  
hay do chúng ta hay ai đó viết trên các ngôn ngữ khác như C, Delphi, Visual Basic.  
MapBasic cho phép chúng ta tích hợp thiết kế bản đồ với sự liên kết Visual  
Basic hay C.delphi với các chức năng của MapInfo.  
Cũng như các ngôn ngữ mạnh khác chạy trên nền Windows, MapBasic cho  
phép thực thi các chương trình ứng dụng khác khi nó đang chạy. Và sau khi chạy  
xong các chương trình ứng dụng này thì nó hòan trả lại môi trường trước đó của  
MapInfo.  
Tóm lại, nếu chỉ biết MapInfo thôi thì chưa đủ.  
Biết MapBasic sau khi đã biết MapInfo là yêu cầu không thể thiếu với những  
ai làm về GIS.  
2.1.2.2 Nội Dung  
a. Biên tập một chương trình MapBasic  
Nhấp New để mở cửa sổ biên tập chương trình  
Viết các dòng lệnh MapBasic  
Chon mục File -> Save để ghi file chương trình, MapBasic sẽ tự động thêm phần  
mở rộng cho tên file là.mb  
Chọn mục Project -> Compile để dịch chương trình. Chương trình đã được dịch  
phần mở rộng cho tên file là.mbx  
b. Chạy chương trình MapBasic:  
Trong Mapinfo, chọn mục Run MapBasic Program. Một cửa sổ hội thoai sẽ  
xuất hiện để bạn chọn file mbx để chạy chương trình.  
Chú ý: (1)- Sau bước 2, nếu bạn Compile ngay chương trình thì MapBasic sẽ  
yêu cầu bạn đặt tên cho file chương trình. Nếu đã được đặt tên trước đó thì  
MapBasic sẽ yêu cầu bạn Save file chương trình, rồi mới compile cho bạn.  
(2)- Sau bước Save, nếu bạn chọn mục Project -> Run thì MapInfo tự động  
mở ra để chạy chương trình MapBasic.  
Vídụ: ở bước 2, bạn viết dòng lệnh MapBasic sau đây:  
Note "Welcome to MapBasic!"  
Và ghi vào file với tên: WELCOME.MB  
Thì sau khi file WELCOME.mb được dịch sẽ có file WELCOME.MBX  
bạn chọn file.mbx để Run là WELCOME.MBX  
SV: Trần Văn Phong  
29  
Lớp: Tin học địa chất K52  
     
Đồ án tốt nghiệp  
Khoa: Công nghệ thông tin  
c. Liên kết các modun để một chương trình MapBasic dạng.mbx:  
Các file modun là các file MapBasic chỉ chứa một phần của chương trình, ví dụ  
trong nội dung của nó có Declare Sub một thủ tục nào đó có tên là A, nhưng trong  
nội dung của bạn chưa mở thủ tục A là  
Sub A()  
...  
End Sub  
File này khi được dịch không chuyển được thành file mbx mà thàmh file mbo.  
Nhấp New để mở cửa sổ biên tập chương trình  
Trong cửa sổ Edit viết đoạn chương trìng sau:  
[LINK]  
Application=textbox.mbx  
Modulee=textbox.mbo  
Modulee=auto_lib.mbo  
(Giả sử bạn đã có trên đĩa 3 file textbox.mbx và textbox.mbo và auto_lib.mbo)  
Chọn File > Save. Với phần mở rộng là.mbP (MapBasic Project)  
Chọn File > Close  
Chọn Project > Select Project File để chọn file.mbP  
Chọn Project > Link Current Project để dịch file MBP này thành.mbX  
e. Tên file và kiểu file của MapBasic:  
Có các lọai tập tin sau đây:  
erros.doc là tập tin text, nó listing các mã lỗi của tập tin  
mapbasic.exe là tập tin chạy môi trường Basic  
mapbasic.def là tập tin include, nó chứa các mã định nghĩa chuẩn.  
Menu.def là tập tin include, nó chứa các mã chuẩn liên quan với menu.  
Icons.def là tập tin include, nó chứa các mã chuẩn liên quan với con trỏ  
chuột.  
SV: Trần Văn Phong  
30  
Lớp: Tin học địa chất K52  

Tải về để xem bản đầy đủ

docx 76 trang yennguyen 21/07/2025 790
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Nghiên cứu lập trình tính biến dạng xoay trong một tam giác địa động lực", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • docxluan_van_nghien_cuu_lap_trinh_tinh_bien_dang_xoay_trong_mot.docx