Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
1
GIẢI MỘT SỐ BÀI TOÁN TRONG TAM GIÁC
BẰNG PHẦN MỀM MAPLE.
Sinh viên : Nguyễn Đức Mạnh,
Lớp Toán Tin 2 – K51 - ĐHBKHN
ÛÛÛÛÛÛÛ
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
2
PHẦN A: GIỚI THIỆU
1.Giới thiệu Maple :
Lịch sử phát triển :
Khái niệm đầu tiên về Maple xuất phát từ một cuộc họp vào tháng 11
năm 1980 tại
Đại học Waterloo. Những nhà nghiên cứu tại đại học muốn
mua một máy tính đủ mạnh để chạy
Macsyma. Thay vào đó, người ta
quyết định họ sẽ phát triển hệ thống đại số máy tính riêng để có thể chạy
được những máy tính có giá thành hợp lý hơn. Do đó, dự án bắt đầu với
mục tiêu là tạo ra một hệ thống đại số hình thức mà các nhà nghiên cứu
và sinh viên có thể truy cập được.
Sự phát triển đầu tiên của Maple được tiến hành rất nhanh, với phiên bản
hạn chế đầu tiên xuấ
t hiện vào tháng 12 năm 1980. Những nhà nghiên
cứu đã thử nghiệm và loại bỏ nhiều ý tưởng khác nhau để tạo ra một hệ
thống liên tục cải tiến. Maple được trình diễn đầu tiên tại những hội nghị
bắt đầu vào năm 1982.
Đến cuối năm 1983, trên 50 trường đại học đã cài Maple trên máy của họ.
Do số lượng hỗ trợ và yêu cầu giấy phép lớn, vào năm 1984, nhóm
nghiên cứu đ
ã sắp xếp với WATCOM Products Inc để cấp phép và phân
phối Maple.
Vào năm 1988, do số lượng hỗ trợ ngày càng tăng,
Waterloo Maple Inc.
được thành lập. Mục tiêu đầu tiên của công ty là quản lý những bản phân
phối phần mềm. Cuối cùng, công ty cũng phải mở ra phòng R&D ở đó
khá nhiều sự phát triển cho Maple được thực hiện đến ngày nay. Sự phát
triển đáng kể của Maple tiếp tục diễn rại những phòng thí nghiệm trường
đại học, bao gồm: Phòng thí nghiệm Tính toán hình thức tại
Đại học
Waterloo; Trung tâm nghiên cứu Tính toán hình thức Ontario tại
Đại học
Tây Ontario; và những phòng thí nghiệm khắp nơi trên thế giới.
Vào năm 1989, giao diện đồ họa người dùng đầu tiên của Maple được
phát triển và bao gồm trong bản 4.3 dành cho Macintosh. Những phiên
bản trước của Maple chỉ gồm giao diện dòng lệnh với ngõ ra hai chiều.
Bản X11 và Windows với giao diện mới tiếp bước vào năm 1980 với
Maple V.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
3
Vào năm 1999, với việc phát hành Maple 6, Maple đã đưa vào một
số
Thư viện Số học NAG, được mở rộng độ chính xác ngẫu nhiên.
Vào năm 2003, giao diện "chuẩn" hiện nay được giới thiệu trong Maple
9. Giao diện này được viết chủ yếu bằng
Java (mặc dù có nhiều phần,
nhưng luật cho việc gõ công thức toán học, được viết bằng ngôn ngữ
Maple). Giao diện Java bị phê phán là chậm
]
; những sự phát triển được
thực hiện trong các bản sau, mặc dù tài liệu Maple 11
documentation
khuyến cáo giao diện (“cổ điển”) trước đây dành cho
người với bộ nhớ vật lý ít hơn 500 MB. Giao diện cổ điển này không còn
được bảo trì.
Giữa 1995 và 2005 Maple đã mất khá nhiều thị phần vào tay đối thủ do
có giao diện người dùng yếu hơn. Nhưng vào năm 2005, Maple 10 giới
thiệu một “chế độ văn bản” mới, như một phần của giao diện chuẩn. Tính
nă
ng chính của chế độ này là phép toán được đưa vào bằng ngõ nhập hai
chiều, do đó nó xuất hiện tương tự như công thức trong sách. Vào năm
2008, Maple 12 đã thêm những tính năn giao diện người dùng giống như
Mathematica, gồm có những kiểu trình bày theo mục đích đặc biệt, quản
lý phần đầu và cuối trang, so trùng mở đóng ngoặc, vùng thực hiện tự
động, mẫu hoàn thành lệnh, kiểm tra cú pháp và vùng tự động khởi tạo.
Những tính năng khác được thêm để làm cho Maple dễ dùng hơn như
một hộp công cụ Maple.
Chức năng cốt lõi
Người dùng có thể nhập biểu thức toán học theo các ký hiệu toán học
truyền thống. Có thể dễ dàng tạo ra những giao diện người dùng tùy chọn.
Maple hỗ trợ cho cả tính toán số và tính toán hình thức, cũng như hiển
thị. Nhiều phép tính số học được thực hiện dựa trên
thư viện số học
NAG; trong Maple, các chương trình con NAG đã được mở rộng để cho
phép độ chính xác ngẫu nhiên lớn. Các ví dụ về tính toán hình thức sẽ
được trình bày trong phần sau.
Maple cũng có một
ngôn ngữ lập trình cấp cao đầy đủ. Cũng có giao diện
cho những ngôn ngữ khác (C,
Fortran, Java, MatLab, và Visual Basic).
Cũng có một giao diện dành cho
Excel.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
4
Kiến trúc
Phần lớn chức năng toán học của Maple được viết bằng ngôn ngữ Maple,
và được
thông dịch bởi nhân Maple. Nhân Maple được viết bằng C.
Maple chạy trên tất cả các
hệ điều hành chính.
Ngôn ngữ lập trình Maple là một ngôn ngữ
kiểu động. Cũng giống như
các
hệ thống đại số máy tính, các biểu thức hình thức được lưu trữ trong
bộ nhớ theo
đồ thị không chu trình có hướng (DAG). Ngôn ngữ cho phép
các biến có
phạm vinhất định (lexical scoping). Ngôn ngữ có hình
thức
lập trình hàm, nhưng cũng có hỗ trợ đầy đủ cho lập trình truyền
thống, theo kiểu mệnh lệnh.
Một điều lạ đối với chương trình thương mại, đa số mã nguồn đều có thể
xem tự do.
Nguồn gốc tên gọi :
Tên "Maple" không phải là tên viết tắt hoặc từ cấu tạo bằng chữ đầu, mà
chỉ đơn giản là để chỉ hình t
ượng Lá phong (tiếng Anh: maple) trên Quốc
kỳ Canada.
2.Giới thiệu sơ qua về lập trình tính toán trong Maple:
Một chương trình tính toán thường có ba phần:
• Dữ liệu vào.
• Phương pháp.
• Kết quả.
Cấu trúc của một chương trình trong Maple thường có dạng:
Tên_chương_trình:=proc(các đối số)
local các biến;
Thuật toán xử lý;
end;
3.Các tính năng cơ bản của Maple :
9 Là một hệ thống các toán trên các biểu thức đại s
ố;
9 Có thể thực hiệc được hầu hết các phép toán cơ bản trong chương
trình toán đại học và sau đại học;
9 Cung cấp các công cụ minh họa hình học thuận tiện gồm: vẽ đồ thị
9 tĩnh và động của các đường và mặt được cho bởi các hàm tùy ý
9 trong nhiều hệ tọa độ khác nhau;
9 Một ngôn ngữ lập trình đơn giản và mạnh mẽ, có khả
năng tương
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
5
9 tác với các ngôn ngữ lập trình khác;
9 Cho phép trích xuất ra các định dạng khác nhau như LaTex, Word,
9 HTML,
9 Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp với
các lớp học tương tác trực tiếp.
9 Một trợ giáo hữu ích cho học sinh và sinh viên trong việc tự học
4.Giới thiệu sơ qua về tam giác :
Tam giác
(chữ Hán: 三角, nghĩa: ba đỉnh) hay hình tam giác là một loại
hình cơ bản trong
hình học: hình hai chiều phẳng có ba đỉnh là
ba
điểm không thẳng hàng và ba cạnh là ba đoạn thẳng. Tam giác là đa
giác có số cạnh ít nhất.
Tam giác luôn luôn là
đa giác đơn, lồi
Các yếu tố trong tam giác :
Góc trong C, góc đối C'
Một tam giác có ba cạnh, ba cạnh ấy tạo thành ba góc, chúng còn được
gọi là các góc trong để phân biệt với các góc ngoài là
góc kề bù với
chúng tạo bởi một cạnh và một cạnh kéo dài.
Trong hình bên A' là góc đối của A đã dịch chuyển, B' là góc đối
của B đã dịch chuyển
Trực tâm H của tam giác ABC
Đoạn thẳng nối một đỉnh với
hình chiếu vuông góc của nó trên cạnh
đối diện được gọi là
đường cao của tam giác. Một tam giác có ba
đường cao. Ba đường cao của một tam giác cắt nhau tại một điểm,
điểm này được gọi là
trực tâm của tam giác.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
6
Trọng tâm của tam giác
Đoạn thẳng nối mỗi đỉnh với
trung điểm của cạnh đối diện được gọi
là
trung tuyến của tam giác, một tam giác có ba đường trung tuyến.
Ba đường trung tuyến của một tam giác cắt nhau tại một điểm, điểm
này được gọi là
trọng tâm của tam giác.
Trong mặt phẳng, mọi đường thẳng đi qua trọng tâm của tam giác
đều chia tam giác thành hai phần có diện tích bằng nhau
Đường tròn ngoại tiếp tam giác
Ngoài ra ba đường trung trực của ba cạnh cắt nhau tại một điểm,
đó là
tâm đường tròn ngoại tiếp của tam giác.
Đường tròn nội tiếp tam giác
Ba đường
phân giác của ba góc trong cắt nhau tại một điểm,
điểm này là tâm
đường tròn nội tiếp tam giác.
Tâm đường tròn nội tiếp tam giác thì cách đều ba cạnh của tam
giác
Quan hệ bằng nhau giữa các tam giác :
Hai tam giác là bằng nhau nếu chúng có thể đặt trùng khít lên nhau sau
một số phép
tịnh tiến, quay và đối xứng. Nói cách khác hai tam giác là
bằng nhau nếu chúng có các cạnh tương ứng bằng nhau và các góc đối
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
7
diện với các cạnh tương ứng bằng nhau. Hai tam giác bằng nhau khi và
chỉ khi thỏa một trong ba điều kiện sau:
1. Hai tam giác có ba cặp cạnh tương ứng bằng nhau thì bằng nhau
(cạnh-cạnh-cạnh).
2. Hai tam giác có hai cặp cạnh tương ứng bằng nhau và cặp góc xen
giữa các cạnh đó bằng nhau thì bằng nhau (cạnh-góc-cạnh).
3. Hai tam giác có một cặp cạnh bằng nhau và hai cặp
góc kề với cặp
cạnh ấy bằng nhau thì bằng nhau (góc-cạnh-góc).
Phân loại tam giác :
Trong hình học Euclid thuật ngữ "tam giác" thường được hiểu là tam
giác nằm trong một
mặt phẳng. Ngoài ra còn có tam giác cầu trong hình
học cầu, tam giác hyperbol trong hình học hyperbol. Tam giác phẳng có
một số dạng đặc biệt, xét theo tính chất các cạnh và các góc của nó:
Trong tam giác thường, mọi cạnh có độ dài khác nhau, mọi góc
trong cũng khác nhau.
Tam giác đều là tam giác có cả ba cạnh có độ dài bằng nhau, nói
cách khác: ba góc trong bằng nhau và
có giá trị bằng
π / 3 rad.
Tam giác cân là tam giác có hai cạnh có độ dài bằng nhau, các
cạnh này được gọi là
cạnh bên, nói cách khác: tam giác cân là tam
giác có hai góc trong bằng nhau (chúng được gọi là các
góc ở đáy).
Tam giác thường Tam giác đều Tam giác cân
Tam giác vuông là tam giác có một góc bằng π / 2 rad, góc vuông.
Trong một tam giác vuông, cạnh đối diện với góc vuông gọi là
cạnh
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
8
huyền, là cạnh lớn nhất. Hai cạnh kia là cạnh góc vuông của tam giác
vuông.
Định lý Pytago là định lí nổi tiếng đối với hình tam giác
vuông, mang tên nhà toán học, triết gia
Pytago.
Tam giác tù là tam giác có một góc trong lớn hơn π / 2 rad
(một
góc tù).
Tam giác nhọn là tam giác có ba góc trong đều nhỏ hơn π / 2 rad
(ba
góc nhọn).
Tam giác vuông Tam giác tù Tam giác nhọn
Một số tam giác khác là trường hợp đặc biệt trong các phân lớp kể
trên. Thí dụ:
Tam giác vuông cân vừa là tam giác vuông vừa là tam
giác cân.
Một số tính chất của tam giác :
1. Tổng các góc trong của một tam giác bằng hai góc vuông (
π rad
hay
180
o
).
2. Độ dài mỗi cạnh lớn hơn hiệu độ dài hai cạnh kia và nhỏ hơn tổng
độ dài của chúng.
3. Ba đường cao của tam giác cắt nhau tại một điểm được gọi là trực
tâm của tam giác.
4. Ba đường trung tuyến của tam giác cắt nhau tại một điểm được gọi
là trọng tâm của tam giác. Mọi đường thẳng đi qua trọng tâm của
tam giác đều chia tam giác thành hai phần có diệ
n tích bằng nhau.
5. Ba đường trung trực của tam giác cắt nhau tại một điểm là tâm
đường tròn ngoại tiếp của tam giác.
6. Ba đường phân giác trong của tam giác cắt nhau tại một điểm là
tâm đường tròn nội tiếp của tam giác.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
9
7. Trong hai cạnh của cùng một tam giác cạnh đối diện với góc lớn
hơn có chiều dài lớn hơn. Góc đối diện với cạnh lớn hơn là góc lớn
hơn.
8. Định lý hàm số cosin: Trong một tam giác, bình phương độ dài một
cạnh bằng tổng bình phương độ dài hai canh còn lại trừ đi hai lần
tích của độ dài hai cạnh ấy với cosin của góc xen giữa hai cạnh đó.
9. Định lý hàm s
ố sin: Trong một tam giác tỷ lệ giữa độ dài của mỗi
cạnh với sin của góc đối diện là như nhau cho cả ba cạnh.
Trong
hình học phi Euclide thì một tam giác có thể có tổng ba góc phụ
thuộc vào kích thước của tam giác, khi kích thước tam giác gia tăng thì
tổng đó tiến tới giá trị là 0 và có diện tích là vô hạn.
Trong hình học Hyperbolic, tổng
các góc trong một tam giác nhỏ
hơn 180°
Trên hình học mặt cầu,tổng các góc
trong của mộttam giác cầu lớn hơn
180°
5.Giới thiệu những bài toán sẽ xử lý :
¾ Bài toán tìm tọa độ trọng tâm của tam giác :
Cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ trọng tâm G của tam giác ABC.
¾ Bài toán tìm tọa độ trực tâm của tam giác :
Cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ trực tâm H của tam giác ABC.
¾ Bài toán tìm tọa độ tâm đường tròn nội tiếp tam giác :
Cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ tâm đường tròn nội tiếp G của tam giác ABC.
¾ Bài toán xác định tâm đường tròn ngoại tiếp tam giác :
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
10
Cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ tâm đường tròn ngoại tiếp H của tam giác
ABC.
6.Một số gói lệnh sử dụng trong bài :
9 Plots : vẽ đồ thị hàm số
Cú pháp:
plots[display](a,b,c ,insequence=true(false),options);
plots[display](L,insequence=true(false),options);
plots[display](A,options);
plots[display](P,options);
Các tham số:
- a,b,c là các đồ thị riêng biệt.
- L: dãy (list) các đồ thị(ví dụ L:=a,b,c
- A: mảng một chiều hoặc hai chiều của các đồ thị.
- P: đồ thị dưới dạng vận động.
- insequence=true(false): nó cho phép hiện từng đồ thị trong
dãy(list) theo trình tự của dãy.
- options: các tính chất cơ bản của các lệnh vẽ như plot/options
9 Plottools[translate](p,a,b): Lệnh tịnh tiến đồ thị.
Lệnh này tác động lệnh đồ thị p cho kế
t quả là tịnh tiến đồ thị này
đến tọa độ mới (a,b)
Cú pháp:
plottools[translate](p,a,b); "dịch chuyển tịnh tiến trong 2D"
plottools[translate](q,a,b,c); "dịch chuyển tịnh tiến trong 3D"
Các tham số:
- p,q : cấu trúc đồ thị cần dịch chuyển tịnh tiến.
- a,b,c : các số thực (chính là tọa mới)
9 Textplot : vẽ đồ thị 2D có chứa kí tự
Cú pháp :
textplot(L, options)
;
Các tham số :
- L : danh sách hoặc tập hợp
- options : tham số tùy chọn
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
11
PHẦN B : ỨNG DỤNG CHO MỘT SỐ BÀI TOÁN
TRONG TAM GIÁC
1. Bài toán tìm tọa độ trọng tâm của tam giác:
Chú thích: Trọng tâm của tam giác là giao điểm của 3 đường trung tuyến
trong tam giác đó.
Bài toán: cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ trọng tâm G của tam giác ABC.
Thuật toán:
-Gọi M(), N() lần lượt là trung điểm của BC, AC. Tọa độ M,N thỏa
mãn:
2
BC
M
x
x
x
+
=
,
2
BC
M
yy
y
+
=
2
AC
N
x
x
x
+
=
,
2
AC
N
yy
y
+
=
- AM là tiếp tuyến của tam giác ABC từ đỉnh A.
- BN là tiếp tuyến của tam giác ABC từ đỉnh B.
- Giả sử trọng tâm của tam giác ABC là G(
,
GG
x
y
). G là giao điểm của
AM và BN.
- Khi đó tọa độ của G thỏa mãn:
3
ABC
G
x
xx
x
+
+
=
,
3
ABC
G
yyy
y
++
=
- Dùng các gói lệnh plots, plottools, textplot để vẽ các đường AB,BC,
AC ,AM, BN, và các điểm M,N,G.
CODE:
restart: with(plots,textplot): with(plottools):
trongtam:=proc(xA,yA,xB,yB,xC,yC)
local xM,xN,xG,yM,yN,yG,l1,l2,l3,l4,l5,G,A,B,C,g,M,N;
l1:=line([xA,yA], [xB,yB], color=blue, linestyle=5):
l2:=line([xA,yA], [xC,yC], color=blue, linestyle=5):
l3:=line([xC,yC], [xB,yB], color=blue, linestyle=5):
xM:=(xC+xB)/2;
yM:=(yC+yB)/2;
xN:=(xA+xC)/2;
yN:=(yA+yC)/2;
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
xG:=(xA+xB+xC)/3;
yG:=(yA+yB+yC)/3;
g:=point([xM,yM],color=red),point([xN,yN],color=red),poin
t([xG,yG],color=red):
l4:=line([xA,yA], [xM,yM], color=blue, linestyle=5):
l5:=line([xB,yB], [xN,yN], color=blue, linestyle=5):
A:=textplot([xA-0.1,yA+0.1,"A"],align=ABOVE):
B:=textplot([xB-0.1,yB+0.1,"B"],align=ABOVE):
C:=textplot([xC-0.1,yC+0.1,"C"],align=ABOVE):
M:=textplot([xM-0.1,yM+0.1,"M"],align=ABOVE):
N:=textplot([xN-0.1,yN+0.1,"N"],align=ABOVE):
G:=textplot([xG-0.1,yG+0.1,"G"],align=ABOVE):
printf( "toa do trong tam la: G (%3.2f, %3.2f)",xG,yG);
plots[display](l1,l2,l3,l4,l5,g,A,B,C,M,N,G,scaling=const
rained);
end;
Ví dụ áp dụng:
> trongtam(0,0,3,0,2,4);
toa do trong tam la: G (1.67, 1.33)
==========================================================
Giảng viên : Nguyễn Hữu Điển.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
12
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
> trongtam(-1,-2,0,3,-4,5);
toa do trong tam la: G (-1.67, 2.00)
2. Bài toán tìm tọa độ trực tâm của tam giác:
Chú thích: Trực tâm của tam giác là giao điểm của 3 đường cao trong tam
giác đó.
Bài toán: Cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ trực tâm H của tam giác ABC.
Thuật toán:
-Lần lượt xác định các đường cao h1,h2 hạ từ A, B của tam giác ABC.
H là giao điểm của h1,h2.
-Đường thẳng h1 đi qua điểm A và nhận vecto BC làm vecto pháp tuyến,
suy ra phương trình h1 có dạng :
()
(1)
()( )()
BC A BC A
xxxx yyyy−−+− −=0
0
-Đường thẳng h2 đi qua điểm B và nhận vecto AC làm vecto pháp tuyến,
suy ra phương trình h2 có dạng :
(2)
()()( )()
AC B AC B
xxxx yyyy−−+− −=
-H là trực tâm tam giác ABC, suy ra H là giao điểm của h1 và h2. Khi đó
tọa độ của H thỏa mãn hệ 2 phương trình (1) và (2).
-Dùng các gói lệnh plots, plottools, textplot để vẽ các đường AB,BC,AC
,h1, h2và các điểm M,N,G.
==========================================================
Giảng viên : Nguyễn Hữu Điển.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
13
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
14
CODE:
>restart: with(plots,textplot): with(plottools):
tructam:=proc(xA,yA,xB,yB,xC,yC)
local xM,xN,xH,yM,yN,yH,l1,l2,l3,l4,l5,H,A,B,C,g,M,N;
l1:=line([xA,yA], [xB,yB], color=blue, linestyle=5):
l2:=line([xA,yA], [xC,yC], color=blue, linestyle=5):
l3:=line([xC,yC], [xB,yB], color=blue, linestyle=5):
A:=textplot([xA-0.1,yA+0.1,"A"],align=ABOVE):
B:=textplot([xB-0.1,yB+0.1,"B"],align=ABOVE):
C:=textplot([xC-0.1,yC+0.1,"C"],align=ABOVE):
yM:=solve((xB-xC)*(x-xA)+(yB-yC)*(y-yA)=0,y);
xM:=solve((yB-yC)*(x-xB)=(xB-xC)*(yM-yB),x);
yM:= solve((xB-xC)*(xM-xA)+(yB-yC)*(y-yA)=0,y);
M:=textplot([xM-0.1,yM+0.1,"M"],align=ABOVE):
yN:=solve((xA-xC)*(x-xB)+(yA-yC)*(y-yB)=0,y);
xN:=solve((yA-yC)*(x-xA)=(xA-xC)*(yN-yA),x);
yN:= solve((xA-xC)*(xN-xB)+(yA-yC)*(y-yB)=0,y);
N:=textplot([xN-0.1,yN+0.1,"N"],align=ABOVE):
l4:=line([xA,yA], [xM,yM], color=blue, linestyle=5):
l5:=line([xB,yB], [xN,yN], color=blue, linestyle=5):
yH:=solve((xB-xC)*(x-xA)+(yB-yC)*(y-yA)=0,y);
xH:=solve((xA-xC)*(x-xB)+(yA-yC)*(yH-yB)=0,x);
yH:=solve((xB-xC)*(xH-xA)+(yB-yC)*(y-yA)=0,y);
H:=textplot([xH-0.1,yH+0.1,"H"],align=ABOVE):
g:=point([xM,yM],color=red),point([xN,yN],color=red),poin
t([xH,yH],color=red):
printf( "toa do trong tam la: H (%3.2f,
%3.2f)",xH,yH);
plots[display](l1,l2,l3,l4,l5,g,A,B,C,M,N,H,scaling=const
rained);
end;
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
15
Ví dụ áp dụng:
> tructam(0,0,4,0,2,3);
toa do trong tam la: H (2.00, 1.33)
> tructam(-2,-3,3,1,-5,5);
toa do trong tam la: H (-0.69, -0.38)
3. Bài toán tìm tọa độ tâm đường tròn nội tiếp tam giác:
Chú thích: Tâm đường tròn nội tiếp tam giác là giao điểm của 3 đường
phân giác trong tam giác đó.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
16
Bài toán: Cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ tâm đường tròn nội tiếp G của tam giác ABC.
Thuật toán:
-Từ tọa độ 3 đỉnh A,B,C ta viết được phương trình các đường thẳng
AB,BC,AC.
- Gọi t1 là đường phân giác trong của góc BAC, suy ra t1 là đường phân
giác của góc tạo bởi 2 véc tơ AB và AC.
+ Nếu tích vô hướng của 2 vecto AB và AC dương ( tức góc BAC là góc
nhọn) thì phương trình của t1 có dạng:
22
()()()()
22
()()()(
()( )
CA A CA A
AC A C
yyxx xxyy
xx yy
)
−
−−− −
−
−+−
()( )
AB A AB A
AB AB
yyxx xxyy
xx yy
−−−−−
=
−+−
+ Nếu tích vô hướng của 2 vecto AB và AC dương ( tức góc BAC là góc
nhọn) thì phương trình của t1 có dạng:
22
()()()()
()( )
AB A AB A
AB AB
yyxx xxyy
xx yy
−−−−−
=
−+−
22
()()()(
()( )
CA A CA A
AC A C
yyxx xxyy
xx yy
)
−
−−− −
−+−
- Làm tương tự ta cũng có phương trình tiếp tuyến t2 của góc ABC.
- G là tâm đường tròn nội tiếp tam giác ABC khi và chỉ khi tọa độ của G
thỏa mãn phương trình của t1 và t2.
- Giải hệ 2 phương trình đường thẳng t1,t2 ta thu được tọa độ cần tìm của
G. Giải hệ 2 phương trình đường thẳng t1 và BC ta thu được tọa độ điểm
M là chân đường phân giác hạ từ A xuống BC. Giải hệ 2 phương trình t2
và AC ta thu được tọa độ
điểm N là chân đường phân giác hạ từ B xuống
AC.
- Đường tròn nội tiếp tam giác ABC là đường tròn có tâm G, bán kính
22
()()()(
()( )
ABGA ABGA
AB A B
yyxx xxyy
r
xx yy
− −−− −
=
−+−
)
- Dùng các gói lệnh plots, plottools, textplot để vẽ các đường AB,BC,
AC ,t1, t2và các điểm M,N,G.
CODE:
> restart: with(plots,textplot): with(plottools):
TamDuongTronnoitiep:=proc(xA,yA,xB,yB,xC,yC)
local
xM,xN,xG,yM,yN,yG,l1,l2,l3,l4,l5,A,B,C,g,M,N,G,a1,a2,a3,b
1,b2,b3,pgA,pgB,r,T;
l1:=line([xA,yA], [xB,yB], color=blue, linestyle=5):
l2:=line([xA,yA], [xC,yC], color=blue, linestyle=5):
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
l3:=line([xC,yC], [xB,yB], color=blue, linestyle=5):
==========================================================
Giảng viên : Nguyễn Hữu Điển.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
17
A:=textplot([xA-0.1,yA+0.1,"A"],align=ABOVE):
B:=textplot([xB-0.1,yB+0.1,"B"],align=ABOVE):
C:=textplot([xC-0.1,yC+0.1,"C"],align=ABOVE):
a1:=xA-xB: a2:=xB-xC: a3:=xC-xA:
b1:=yA-yB: b2:=yB-yC: b3:=yC-yA:
if((-a1*a3-b1*b3)<0) then
pgA:=(x,y)->(b1*(x-xA)-a1*(y-yA))/sqrt(a1^2+b1^2)=(-
b3*(x-xA)+a3*(y-yA))/sqrt(a3^2+b3^2);
else pgA:=(x,y)->(b1*(x-xA)-a1*(y-yA))/sqrt(a1^2+b1^2)=-
(-b3*(x-xA)+a3*(y-yA))/sqrt(a3^2+b3^2);
fi;
if((-a2*a1-b2*b1)<0) then
pgB:=(x,y)->(b2*(x-xB)-a2*(y-yB))/sqrt(a2^2+b2^2)=(-
b1*(x-xB)+a1*(y-yB))/sqrt(a1^2+b1^2);
else pgB:=(x,y)->(b2*(x-xB)-a2*(y-yB))/sqrt(a2^2+b2^2)=-
(-b1*(x-xB)+a1*(y-yB))/sqrt(a1^2+b1^2);
fi;
yM:=solve(pgA(x,y),y);
xM:=solve(b2*(x-xB)=a2*(yM-yB),x);
yM:=solve(b2*(xM-xB)=a2*(y-yB),y);
M:=textplot([xM-0.1,yM+0.1,"M"],align=ABOVE):
yN:=solve(pgB(x,y),y);
xN:=solve(b3*(x-xA)=a3*(yN-yA),x);
yN:=solve(b3*(xN-xA)=a3*(y-yA),y);
N:=textplot([xN-0.1,yN+0.1,"N"],align=ABOVE):
l4:=line([xA,yA], [xM,yM], color=blue, linestyle=5):
l5:=line([xB,yB], [xN,yN], color=blue, linestyle=5):
yG:=solve(pgA(x,y),y);
xG:=solve(pgB(x,yG),x);
yG:=solve(pgA(xG,y),y);
G:=textplot([xG-0.1,yG+0.1,"G"],align=ABOVE):
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
r:=abs(b1*(xG-xA)-a1*(yG-yA))/sqrt(a1^2+b1^2);
T:=circle([xG,yG],r,color=red):
g:=point([xM,yM],color=red),point([xN,yN],color=red),poin
t([xG,yG],color=red):
printf( "toa do tam duong tron noi tiep tam giac ABC la:
G( %3.2f, %3.2f)",xG,yG);
plots[display](l1,l2,l3,A,B,C,l4,l5,g,M,N,G,T,scaling=con
strained);
end;
Ví dụ áp dụng:
> TamDuongTronnoitiep(0,0,5,1,3,5);
toa do tam duong tron noi tiep tam giac ABC la: G( 2.89,
2.03)
> TamDuongTronnoitiep(-1,-1,4,-2,2,3);
toa do tam duong tron noi tiep tam giac ABC la: G( 1.60,
-0.01)
==========================================================
Giảng viên : Nguyễn Hữu Điển.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
18
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
19
4. Bài toán xác định tâm đường tròn ngoại tiếp tam giác:
Chú thích: Tâm đường tròn ngoại tiếp tam giác là giao điểm của 3 đường
trung trực của tam giác đó.
Bài toán: Cho tam giác ABC, đã biết tọa độ 3 đỉnh là A(
,
AA
x
y
),B (
,
BB
x
y
),
C(
,
CC
x
y
). Tìm tọa độ tâm đường tròn ngoại tiếp H của tam giác ABC.
Thuật toán:
- Xác định tọa độ các trung điểm M, N của các cạnh BC,AC:
2
BC
M
x
x
x
+
=
,
2
BC
M
yy
y
+
=
2
AC
N
x
x
x
+
=
,
2
AC
N
yy
y
+
=
- Gọi h1, h2 lần lượt là các đường trung trực ứng với cạnh BC,AC.
- h1 đi qua M và nhận vecto BC làm vecto phap tuyến, suy ra phương
trình của h1 là :
(1)
()()()()
BC M BC M
xxxx yyyy−−+− −=0
0
- Đường thẳng h2 đi qua điểm N và nhận vecto AC làm vecto pháp
tuyến, suy ra phương trình h2 có dạng :
(2)
()()()()
AC N AC N
xxxx yyyy−−+− −=
- H là trực tâm tam giác ABC, suy ra H là giao điểm của h1 và h2. Khi đó
tọa độ của H thỏa mãn hệ 2 phương trình (1) và (2).
- Đường tròn ngoại tiếp tam giác ABC là đường tròn tâm H, bán kính
R = HA =
22
()(
AH A H
xx yy−+−)
- Dùng các gói lệnh plots, plottools, textplot để vẽ các đường AB,BC,
AC ,h1, h2 và các điểm M,N,G.
CODE:
>restart: with(plots,textplot): with(plottools):
TamDuongTronNgoaitiep:=proc(xA,yA,xB,yB,xC,yC)
local
xM,xN,xH,yM,yN,yH,l1,l2,l3,l4,l5,A,B,C,g,M,N,H,a1,a2,a3,b
1,b2,b3,pgA,pgB,r,T;
l1:=line([xA,yA], [xB,yB], color=blue, linestyle=5):
l2:=line([xA,yA], [xC,yC], color=blue, linestyle=5):
l3:=line([xC,yC], [xB,yB], color=blue, linestyle=5):
A:=textplot([xA-0.1,yA+0.1,"A"],align=ABOVE):
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
B:=textplot([xB-0.1,yB+0.1,"B"],align=ABOVE):
==========================================================
Giảng viên : Nguyễn Hữu Điển.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
20
C:=textplot([xC-0.1,yC+0.1,"C"],align=ABOVE):
xM:=(xC+xB)/2;
yM:=(yC+yB)/2;
M:=textplot([xM-0.1,yM+0.1,"M"],align=ABOVE):
xN:=(xA+xC)/2;
yN:=(yA+yC)/2;
N:=textplot([xN-0.1,yN+0.1,"N"],align=ABOVE):
yH:=solve((xB-xC)*(x-xM)+(yB-yC)*(y-yM)=0,y);
xH:=solve((xA-xC)*(x-xN)+(yA-yC)*(yH-yN)=0,x);
yH:=solve((xB-xC)*(xH-xM)+(yB-yC)*(y-yM)=0,y);
H:=textplot([xH-0.1,yH+0.1,"H"],align=ABOVE):
l4:=line([xH,yH], [xM,yM], color=blue, linestyle=5):
l5:=line([xH,yH], [xN,yN], color=blue, linestyle=5):
r:=sqrt((xH-xA)^2+(yH-yA)^2);
T:=circle([xH,yH],r,color=red);
g:=point([xM,yM],color=red),point([xN,yN],color=red),poin
t([xH,yH],color=red):
printf( "toa do tam duong tron noi tiep tam giac ABC la:
H( %3.2f, %3.2f)",xH,yH);
plots[display](l1,l2,l3,A,B,C,l4,l5,g,M,N,H,T,scaling=con
strained);
end;
Ví dụ áp dụng:
> TamDuongTronNgoaitiep(0,0,3,0,1.5,3);
toa do tam duong tron noi tiep tam giac ABC la: H( 1.50,
1.12)
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
21
> TamDuongTronNgoaitiep(-5,-2,1,-1,-4,4);
toa do tam duong tron noi tiep tam giac ABC la: H( -2.36,
0.64)
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN
Ứng dụng Maple giải một số bài toán trong tam giác.
==========================================================
==========================================================
Giảng viên : Nguyễn Hữu Điển.
22
Phần C :
Tài Liệu Tham Khảo
1.Hướng dẫn sử dụng Maple - Nguyễn Hữu Điển.
2.Bài giảng Lập Trình Tính Toán - Nguyễn Hữu Điển.
3. Burden R.L., Faires J.D. Numerical analysis (7ed., Brooks Cole, 2001).
4. Maple 9 Advanced Programming Guide.
Sinh viên : Nguyễn Đức Mạnh, lớp Toán Tin 2 – K51 - ĐHBKHN