Tải bản đầy đủ (.docx) (22 trang)

giải quyết các bài toán liên quan đến hình học giải tích trong mặt phẳng bằng Maple

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (874.03 KB, 22 trang )

PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
LỜI MỞ ĐẦU

Áp dụng công nghệ thông tin để đổi mới phương pháp dạy và học đang được
quan tâm và ngày càng trở nên thiết thực. Đặt biệt là vấn đề đổi mới phương pháp giáo
dục phổ thông.
Môn Toán có một vai trò hết sức quan trọng. Bởi, nó là môn học nền tảng giúp
ta nhận thức mọi môn học khác như

Vật lý, Hóa học, Sinh học hay áp dụng trong
các vấn đề bài toán kinh tế hay kỹ
thuật…Nhưng
nó lại
đƣợc
đánh giá là môn học
khó ở hai nghĩa đó là khó cả về
ngƣời
dạy và khó cả về người học. Câu hỏi đặt ra là:
Làm sao để học môn Toán vừa thuận lợi vừa hiệu quả hơn?
Maple là một phần mềm Toán học có khả năng ứng dụng trong mọi nội dung,
mọi lĩnh vực
nhƣ
vật lý, Hóa học hay áp dụng
vào

bài
toán kinh tế…Với khả năng tính
toán, minh họa trực quan, Maple là một công cụ rất tốt giúp cho người học và
người
dạy thuận lợi hơn trong quá trình tìm hiểu nó ở các lĩnh vực khác nhau.
Trong



khuôn
khổ có hạn của bài thu hoạch, Em xin trình bày về cách giải quyết các bài
toán liên quan đến hình học giải tích trong mặt phẳng bằng Maple.
1
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
I - GIỚI THIỆU TỔNG QUAN VỀ PHẦN MỀM MAPPLE
1. Giới thiệu
Maple là gói phần mềm toán học thương mại phục vụ cho nhiều lĩnh vực được xây
dựng và phát triển bởi của hãng Mapple Soft, một bộ phận chủ yếu của liên hợp công ty
Waterloo Mapple phát triển (). Phiên bản Mapple mới nhất
hiện tại là Mapple 16.
Maple là một công cụ tuyệt vời hỗ trợ cho việc học tập và nghiên cứu toán học.Với
Maple ta có thể thực hiện được mọi điều từ những phép toán đơn giản nhất, sơ cấp nhất
cho đến những tính toán phức tạp nhất. Không chỉ dừng lại ở việc hỗ trợ tính toán, Maple
còn có khả năng lập trình. Ở phương

diện này, có thể xem Maple như

là một ngôn ngữ
lập trình trong đó chúng ta có thể tạo ra những chương

trình và những gói (package) để
tái sử dụng.
Với phần mềmMaple, chúng tacó thể:
+ Thựchiện cáctính toán với khối lượng lớn, với thời gian nhanh và độ chính xác cao.
+ Sử dụng các gói chuyên dụng củaMaple để giải quyết các bài toán cụ thể như:vẽ đồ thị
(gói plot), hình học giải tích (gói geometry), đại số tuyến tính (góilinalg),
+ Thiết kế các đối tượng 3 chiều
Maple cung cấp nhiều công cụ trực quan, nhiều gói lệnh chuyên ngành phù hợp với các

tính toán phổ thông và bậc đại học, giao diện hoàn thiện hơn và hỗ trợ soạn thảo tốt
hơn. Nhiều trường đại học sử dụng Maple để giảng dạy một số môn trong khung
chương

trình đào tạo đã góp phần làm thay đổi cách học toán, song song với lối giải
toán truyền thống sinh viên có thể giải quyết bài toán với sự giúp đỡ của Maple.
2. Giao diện chính của Mapple 16
2
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
II – HƯỚNG DẪN SỬ DỤNG MAPLE TRONG HÌNH HỌC GIẢI TÍCH
TRONG MẶT PHẲNG
Để làm việc với hình học giải tích trong mặt phẳng bằng Maple, ta phải dùng gói
“geometry”. Bằng cách dùng lệnh: [> with(geometry);
Một vài thao tác cơ bản:
a) Nhập toạ độ một điểm
Để nhập toạ độ của điểm A(a; b) ta nhập như sau:
[> point (A, a, b);
b) Tính khoảng cách giữa hai điểm A(x1; y1) vàB(x2; y2), ta nhập:
[> point(A,x1,y1),point(B,x2,y2);
A, B;
[> distance(A,B);
c) Đường thẳng :
Để nhập phương trình của đường thẳng l: ax + by + c = 0, ta nhập
[> line(l,a*x +b*y + c = 0,[x,y]);
A. TAM GIÁC VÀ CÁC VẤN ĐỀ LIÊN QUAN
1. Khai báo một tam giác trong Maple
a) Tam giác có tên là ABC đi qua ba đỉnh A, B, C cho trước, ta nhập:
triangle[ABC, [A, B, C] );
3
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC

V í

dụ
:
Khai
b
á
o

m
ột
tam
gi
á
c
ABC đi qua ba
đi

m
A(1; 1), B(0; 0)
v
à
C(0; 5) ta
l
à
m
như
s
a
u:

[> point(A,1,1), point(B,0,0), point(C,0,5);
[> triangle(ABC,[A,B,C]);
ABC
b) Tam g
i
á
c

c
ó
t
ê
n
l
à T đượ
c

l
ập bở
i
ba đường
t
hẳng l
1
, l
2
, l
3
. Ta
nh


p:
triangle(T, [l1, l2, l3]);
Ví dụ

: Ba
c

nh
AB, BC, CA
c

a
tam
gi
á
c
ABC
c
ó
phương trình
l

n

lượt

l
à


:
x + 21y – 22 = 0, 5x – 12y + 7 = 0 , 4x – 33y + 146 = 0.
Khi đó, ta nhập
[> line(AB, x + 21*y - 22 = 0,[x,y]),line(BC,5*x - 12*y +7 = 0, [x,y]), line(AC,
4*x - 33*y +146 = 0,[x,y]), triangle(ABC,[AB,BC,AC]);
c) Tam giác khi biết độ dài ba cạnh.
triangle(Tên tam giác , [cạnh 1, cạnh 2, cạnh 3]);
Ví dụ: Để nhập tam giác có độ dài ba cạnh là 3, 4, 5. Nếu tam giác này có tên là ABC, ta
nhập:
[> triangle(ABC,[3,4,5]);
ABC
d) Tam giác khi biết độ dài hai cạnh và góc xen giữa hai cạnh đó
triangle(T, [cạnh 1, 'angle'= góc xen giữa hai cạnh, cạnh 2]) ;
Ví dụ: Để nhập tam giác có độ dài hai cạnh là 2,1 và góc xen giữa hai cạnh là p /2, ta
nhập:
[> triangle(T4,[2,'angle'=Pi/2,1]):
2. Các đường đặc biệt trong tam giác
2.1. ĐƯỜNG CAO
Để khai báo đường cao hA đi qua đỉnh A của tam giác ABC, ta nhập :
altitude(hA, A, ABC);
hay
altitude(hA, A, ABC, H );
4
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
Ở đây, H là chân đường cao. Để xem chi tiết về đường cao hA ta dùng lệnh detail(hA);
Trong detail, nếu khai báo theo cách 1 ta sẽ biết được phương trình đường cao hA, còn
nếu khai báo theo cách 2 ta sẽ biết được toạ độ chân đường cao H.
Ví dụ: Viết phương trình đường cao hA của tam giác ABC với ba đỉnh A(0; 0), B(2; 0) và
C(1; 3). Ta làm như sau:
Cách 1

[> triangle(ABC, [point(A,0,0), point(B,2,0), point(C,1,3)]): altitude(hA1,A,ABC);
hA1
[> detail(hA1);
assume that the names of the horizontal and vertical axes are _x and _y, respectively
Trong detail ta có phương trình đường cao hA1là: – x + 3y = 0
Cách 2
[> with(geometry);
[> triangle(ABC, [point(A,0,0), point(B,2,0),
point(C,1,3)]):altitude(hA1,A,ABC,H);
Chú ý: Trong detail [9/5,3/5] là toạ độ chân đường vuông góc H.
2.2. ĐƯỜNG TRUNG TUYẾN
Để khai báo đường trung tuyến AM đi qua đỉnh A của tam giác ABC, ta nhập :
median(AM, A, ABC);
Để xem chi tiết về đường trung tuyến AM, ta dùng lệnh detail(AM);
Ví dụ : Viết phương trình đường trung tuyến AM của tam giác ABC biết
A(5; 1), B(2; 3) và C(– 6; – 1).
[> triangle(ABC, [point(A,5,1),point(B,2,3),point(C,-6,-1)]):median(AM,A,ABC);
[> detail(AM);
5
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
assume that the names of the horizontal and vertical axes are _x and _y, respectively
2.3. ĐƯỜNG PHÂN GIÁC TRONG CỦA TAM GIÁC.
Để khai báo đường phân giác trong AD đi qua đỉnh A của tam giác ABC, ta nhập :
bisector(AD, A, ABC);
* Để xem chi tiết về đường phân giác trong AD, ta dùng lệnh detail(AD);
Ví dụ : Viết phương trình đường phân giác trong AD của tam giác ABC biết A(1; 6),
B(3; 4) và C(0; 1).
[> triangle(ABC,[point(A,1,6),point(B,3,4),point(C,0,1)]):bisector(AD,A, ABC);
[> detail(AD);
assume that the names of the horizontal and vertical axes are _x and _y, respectively

2.4. ĐƯỜNG PHÂN GIÁC NGOÀI CỦA TAM GIÁC.
Để khai báo đường phân giác AE đi qua đỉnh A của tam giác ABC, ta nhập :
[ > ExternalBisector(AE, A, ABC);
* Để xem chi tiết về đường phân giác ngoài AE, ta dùng lệnh detail(AE);
3. Các điểm đặc biệt trong tam giác
3.1. TRỌNG TÂM CỦA TAM GIÁC
Gọi G là trọng tâm của tam giác ABC, khi đó:
a) G được khai báo bởi lệnh centroid(G, ABC);
b) Toạ độ G được xác định bởi lệnh coordinates(G);
Ví du1: Cho tam giác ABC với A(2; 3), B(-2; 4), C( – 4;7). Tìm toạ độ trọng tâm G của tam
giác ABC.
[> triangle(ABC,[point(A,2,3),point(B,-2,4),point(C,-4,7)]);
[> centroid(G,ABC);
6
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
[> coordinates(G);
Ví dụ2: Cho tam giác ABC với A(1; 2), B(2; 3), C(0; 7). Tìm toạ độ trọng tâm G của tam
giác ABC.
Ta có thể làm gọn hơn như sau:
[> point(A,1,2),point(B,2,3),point(C,0,7);
coordinates(centroid(G,triangle(ABC,[A,B,C])));
3.2. TRỰC TÂM CỦA TAM GIÁC
Gọi H là trực tâm của tam giác ABC, khi đó:
a) H được khai báo bởi lệnh orthorcenter(H, ABC);
b) Toạ độ H được xác định bởi lệnh coordinates(H);
Ví dụ: Các cạnh AB, BC, AC của tam giác ABC lần lượt có phương trình:
4x – y – 7 = 0, x + 3y – 31 = 0 , x + 5y – 7 = 0. Xác định trực tâm H của tam giác.
[> line(AB,4*x- y -7 = 0,[x,y]),line(BC,x + 3*y -31 = 0,[x,y]),line(AC,x
+5*y -7 =0,[x,y]),triangle(ABC,[AB,BC,AC],[x,y]);
[> orthocenter(H,ABC);

[> coordinates(H);
[3, 4]
[> map(coordinates,DefinedAs(ABC));
Chú ý: lệnh map(coordinates,DefinedAs(ABC)); Cho ta xác định được toạ độ của ba
đỉnh A, B, C.
3.3. TRUNG TRỰC CỦA MỘT ĐOẠN THẲNG.
Để khai báo là trung trực của đoạn thẳng AB, ta dùng lệnh
[> PerpenBisector(l, A, B );
Viết phương trình trung trực l của đoạn thẳng BC, biết B(2; 0) và C(1; 3)
[> point(B,2,0), point(C,1,3);
[> PerpenBisector(l,B,C);
7
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
[> detail(l);
assume that the names of the horizontal and vertical axes are _x and _y, respectively
3.4. DIỆN TÍCH CỦA MỘT TAM GIÁC
Để tính diện tích của tam giác ABC ta dùng lệnh area(ABC);
Ví dụ: Tính diện tích tam giác ABC với A(2; – 3), B(3; 2) và C( – 2; 5).
[> with(geometry);
[>triangle(ABC,[point(A,2,-3),point(B,3,2), point(C,-2,5)]);
ABC
[> area(ABC);
14
Máy trả lời diện tích tam giác ABC là 14
B. ĐƯỜNG THẲNG
Khoảng cách từ một điểm đến một đường thẳng. Để tính khoảng cách từ điểm M đến
đường thẳng d, ta dùng lệnh:
[> distance(M, d);
Ví dụ 1: Tính khoảng cách từ điểm M(2; 3) đến đường thẳng d: 3x + 6y = 1
[> with(geometry);

[> point(M,2,3),line(d,3*x+6*y=1,[x,y]);
[> distance(M,d);
Ví dụ 2: Ba cạnh AB, BC, CAcủa tam giác ABCcó phương trình lần lượt là :
x + 21y – 22 = 0, 5x – 12y + 7 = 0 , 4x – 33y + 146 = 0.
Tính khoảng cách từ trọng tâm của tam giác đến cạnh BC.
[> line(AB, x + 21*y -22 = 0,[x,y]),line(BC,5*x - 12*y+7 = 0,[x,y]),line(AC, 4*x -
33*y +146 = 0,[x,y]),triangle(ABC,[AB,BC,AC],[x,y]);
[> centroid(G,ABC);
G
[> coordinates(G);
[ -2, 3]
8
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
[> distance(G,BC);
* Hình chiếu của một điểm lên một đường thẳng
a) Để khai báo H là hình chiếu của điểm P lên đường thẳngl, ta dùng lệnh:
[> projection(H, P, l);
b) Để tìm toạ độ hình chiếu H, ta dùng lệnh: coordinates(H);
Ví dụ :Tìm hình chiếu Qcủa điểm P(2; 3) lên đường thẳng l: x + y + 1 = 0.
[> point(P,2,3), line(l,x+y-1=0,[x,y]);
P, l
[> projection(Q,P,l);
Q
[> coordinates(Q);
[0, 1]
* Điểm đối xứng của một điểm qua một đường thẳng
a) Để khai báo Qlà của điểm đối xứng của điểm P lên đường thẳngl, ta
dùng lệnh:
[> reflection(Q, P, l);
Để tìm toạ độ của Q, ta dùng lệnh: coordinates(Q);

Ví dụ: Tìm điểm M1đối xứng với điểm M2(8; – 9) qua đường thẳng đi qua hai điểm A(3;
– 4) và B( – 1; – 2).
Giải
[> point(M2,8,-9),point(A,3,-4),point(B,-1,-2);
[> line(AB,[A,B],[x,y]);
[> Equation(AB);
[> reflection(M1,M2,AB);
[> coordinates(M1);
Lưu ý: Lệnh Equation(AB); cho ta phương trình của đường thẳng AB.
* NHÓM LỆNH KIỂM TRA
Sau khi đánh lệnh > with(geometry);
Ta được các lệnh, trong đó có các lệnh bắt đầu bằng Are hay Is.
Các lệnh này nhằm kiểm tra tính đúng (true), sai (false) của một tính
9
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
chất hình học nào đó. Sau đây là một số lệnh cơ bản:
T
ê
n

l

nh
C
C
hứ
c
n
ă
ng

A
r
e
C
ollin
e
a
r
AreCollinear(P,
Q, R, c
ond
)
K
i

m
tra tính
th

ng

h
à
ng
c

a
ba
đi


m
P, Q, R
.
A
r
e
C
on
c
u
rr
e
nt
AreConcurrent(l1,
l2, l3, cond
)
K
i

m
tra tính
đồng quy
c

a
ba
đường th

ng
l

1
,
l
2
,
l
3
.
A
r
e
P
a
r
a
ll
e
l
AreParallel(l1,
l2, c
ond
)
K
i

m
tra tính song s
ong
c


a
hai
đường

th

ng

l
1
,
l
2
.
A
r
e
P
e
r
p
e
ndi
c
ul
a
r
ArePerpendicular(l
1, l2, c
ond

)
K
i

m
tra tính
vuông gó
c c

a
hai
đường

th

ng

l
1
,
l
2
.
A
r
e
T
a
ng
e

n
t
AreTangent(f,
g
)
K
i

m
tra s


ti
ế
p xú
c c

a
đường th

ng
f
v
à

đường t
r
òn
g hay s



ti
ế
p xú
c c

a
hai
đường

t
r
òn
f
v
à

g
I
sO
n
C
i
r
c
l
e
IsOnCircle(f, c,
c
ond

)
K
i

m
tra xem
đi

m
(
ho

c
t

p

h
ợp
c
á
c
đi

m
)
f c
ó

n


m t
r
ê
n đường t
r
òn
c
hay
không
?
I
sO
nLin
e
IsOnLine(f, l,
c
ond
)
K
i

m
tra xem
đi

m
(
ho


c
t

p

h
ợp
c
á
c
đi

m
)
f c
ó

n

m t
r
ê
n đường th

ng
l hay
không
?
I
sR

ightT
r
i
a
n
gl
e
IsRightTriangle(A
BC, cond
)
K
i

m
tra tính
vuông


c c

a
tam
gi
á
c
A
BC
.
Lưu ý:
1) Có thể bỏ cond hoặc sử dụng cond trong trường hợp có chứa tham số.

2) Khi kết thúc các lệnh này và nhấn Enter thì máy trả lời là true(đúng) hoặc false(sai).
Ví dụ 1: Xét tính thẳng hàng của ba điểm A(1; 2), B(2; 3) và C(0; 7).
Ta làm như sau:
[> point(A,1,2),point(B,2,3),point(C,0,7);
A,B,C
[> AreCollinear(A, B, C);
false
Máy trả lời false, tức ba điểm A, B, C không thẳng hàng.
Ví dụ 2: Cho tam giác ABC với A(1; m– 2), B(2; 3 + m), C(0; 7). Tìm m để ABC là tam
giác vuông.
Trước hết ta dùng lệnh [> AreCollinear(A, B, C); để kiểm tra tính thẳng hàng của ba
điểm A, B, C
[> AreCollinear(A, B, C);
AreCollinear: "hint: could not determine if -m+14is zero"
FAIL
10
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
máy báo không thể xác định nếu – m + 14 = 0, tức ba điểm A, B, C thẳng hàng khi
– m+ 14 = 0 hay m= 14.
Lưu ý: Trong một số bài toán ta phải sử dụng lệnh assume(giả sử) m không thỏa giá trị ở
trên thì máy mới thựchiện tiếp bài toán. Cụ thể, trong bài này, ta phải giả sử m ≠ 14, tức
là ta phải nhập :
[> assume (m <> 14);
Tuy nhiên, trong bài này thì không
[> point(A,1,m -2),point(B,2,3+m), point(C,0,7);
A, B, C
[> IsRightTriangle(ABC,cond);
IsRightTriangle: "hint: one of the following conditions must be satisfied: {-76+26*m-
2*m^2 = 0, -88+10*m = 0, 36-10*m = 0}"
FAIL

Máy thông báo : Một trong các điều kiện sau phải thỏa mãn:
“{-76+26*m-2*m^2 = 0, -88+10*m = 0, 36-10*m = 0}"
Bây giờ ta dùng lệnh solve để tìm m.
[> solve(-76+26*m-2*m^2 = 0,{m});
[> solve(-88+10*m = 0, {m});
[> solve(36-10*m = 0,{m});
Vậy ta phải có :
* Phương trình
c

a
đ
ư

n
g
t
h

n
g qua
m

t

đ
i

m
cho

tr
ư

c

v
à song song
v

i

m

t

đ
ư

n
g
t
h

n
g cho
tr
ư

c
.

Đ


vi
ế
t
phương trình
củ
a

đường

th

ng
lp qua
đi

m
P
v
à
song song
với một

đường

th

ng

l cho
t
r
ướ
c ta
dùng

l

nh:
ParallelLine(lp, P,
l
);
11
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
V
i
ế
t
phương trình
đường

th

ng
đi qua
đi

m
P(2; 3)

v
à
song song vớ
i

đường

th

ng
l :
x + y =
1
[>
w
i
t
h
(
g
e
o
m
e
t
r
y
):
[> point(P, 2 , 3), line(l, x + y =1,
[

x
,
y
]
);
P, l
[>
P
a
r
a
ll
e
l
L
i
n
e
(D
,
P
,
l
);
D
[>
E
q
u
a

t
i
o
n
(D
);
V

y

đường

th

ng
c

n
tìm

phương trình – 5 + x + y =
0
.
C. GÓC
* G
ó
c

t


o
b

i
hai
đ
ư

n
g
t
h

n
g.
Đ

tính

c
củ
a
hai
đường

th

ng
d
1

v
à
d
2
ta
dùng

l

nh

:
FindAngle(d1,
d
2
);
Ví dụ: X
á
c
đ

nh


c j
giữ
a
hai
đường


th

ng:
1) 5x – y + 7 = 0, 3x + 2y =
0;
2) 3x + 2y – 1 = 0, 5x – 2y + 3 =
0
.
1
)
[>
li
n
e
(D
1
,
5
*x
-
+
7
=
0
,
[
x
,
y
]

)
,
li
n
e
(D
2
,
3
*x
+
2
*
y
=
0
,
[
x
,
y
]
);
D1, D2
[>
Fi
n
d
A
n

g
l
e
(D
1
,
D
2
);
2)
[> li
n
e
(D
1
,
3
*x
+
2
*
y
-
1
=
0
,
[
x
,

y
]
)
,
li
n
e
(D
2
,
5
*x
-
2
*
y
+
3
=
0
,
[
x
,
y
]
);
[>
Fi
n

d
A
n
g
l
e
(D
1
,
D
2
);
D. DƯỜNG TRÒN
1 K
h
a
i

b
áo

ph
ư
ơ
n
g

t
r
ì

n
h

m

t

đ
ư

n
g

t
r
ò
n
N
ế
u

đường

t
r
òn
C,

phương
t

r
ình
x
2
+ y
2
– 2ax – 2by + c =
0
Trong Maple ta
nh

p:
[> circle(C,x^2 + y^2 – 2*a*x – 2*b*y + c = 0,[x,
y
]
);
12
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
3. T
hi
ế
t

l

p

ph
ư
ơ

n
g

t
r
ì
n
h

đ
ư

n
g

t
r
ò
n
Maple cho
ph
é
p

l

p
phương trình
đường


t
r
òn

thỏ
a

một
trong

c Đ. K
s
a
u:
a) Đ
ư

n
g
tr
ò
n
đi qua ba
đ
i

m
A, B, C cho
tr
ư


c

v

i

c
ú

ph
á
p
như sau:
[> ci
r
cl
e
(
t
ê
n

đường

t
r
òn
,
[A, B, C], [x,

y
])
;
VD

:
L

p
phương trình
đường

t
r
òn
đi qua ba
đi

m
A(5; 0), B(0; 1), C(3; 3)
[> point(A,5,0),point(B,0,1),point(C,3,3);
[>
circle(ABC,[A,B,C],[x,y]);
[>
E
q
u
a
t
i

o
n
(
A
B
C
);
[>
c
oo
r
d
i
n
a
t
e
s(
c
e
n
t
e
r(
A
B
C
));
[>
r

a
d
i
u
s(
A
B
C
);
C

h
ú

ý
:
a)
L

nh

coordinates(center(ABC));cho
ta
to


độ
c

a


t
â
m

đường t
r
òn

A
BC
.
b)
L

nh
radius(ABC); cho ta
b
á
n
kính c

a

đường

t
r
òn


A
BC
.
c)
L

nh
Equation(ABC);cho ta phương trình c

a

đường

t
r
òn
ABC. d) N
ế
u

không

dùng
c
á
c
l

nh


n
à
y
,
ta


th

xem chi
ti
ế
t

v


đường t
r
òn
ABC
b

ng

l

nh

d

e
t
a
il
(
A
B
C
);
[>
d
e
t
a
il
(
A
B
C
);
b) Đ
ư

n
g
tr
ò
n

c

ó

t
â
m
A cho
tr
ư

c

v
à bá
n
kính R cho
tr
ư

c
với



ph
á
p
như
s
a
u:

ci
r
cl
e
(
t
ê
n

đường

t
r
òn
,
[A, R], [x,
y
])
;
Ví dụ 1

: V
i
ế
t
phương trình
đường

t
r

òn



t
â
m
A(4; – 8)
v
à

b
á
n
kính
l
à
5.
[
>

point(A,4,-8);
13
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
[>
E
q
u
a
t

i
o
n
(c
i
rc
l
e
(
C
,
[
A
,
5
]
,
[
x
,
y
]
));
Ví dụ 2

: V
i
ế
t
phương trình

đường

t
r
òn



t
â
m
C(1; – 1)
v
à

ti
ế
p


c
với đường

th

ng

5x – 12y + 9 =
0
.

[>
point(C,1,-1),line(D,5*x-12*y+9=0,[x,y]);
C, D
[> R:=
d
i
s
t
a
n
c
e
(
C
,
D
);
R := 2
[> circle(T,[C,R],[x,y]);
T
[>
E
q
u
a
t
i
o
n
(

T
);
x

2
− 2 +
y

2
− 2 x + 2 y =
0
3) Phương tích
củ
a

một

đi

m

đối

với

một

đường

t

r
òn
.
Đ

tính phương tích
củ
a

đi

m
P
đối

với

đường

t
r
òn
C, ta
dùng

l

nh:
powerpc(P,
C

);
V

í
d

: Cho
đường

t
r
òn


phương trình x
2
+ y
2
– 2x + 4y – 8 =
0
v
à


c
đi

m
A(1; – 5), B(6; 1)
v

à
C( – m; m). H
ã
y

x
é
t
xem
đi

m
A,
B
n

m
trong hay
n

m

ngo
à
i

đường

t
r

òn
.
Tìm m
đ

C
thuộ
c
đường

t
r
òn
.
[
>
point(A,1,-5), point(B,6,1),
c
i
rc
l
e
(D
T
R
O
N
,
x
^

2
+
y
^
2
-
2
*x
+
4
*
y
-
8
=
0
,
[
x
,
y
]
)
,
p
o
i
n
t
(

C
,
-
m
,
m
);
A, B, DTRON, C
[>
p
o
w
e
r
p
c(
A
,
D
T
R
O
N
);
-4
[>
p
o
w
e

r
p
c(B
,
D
T
R
O
N
);
21
[>
p
o
w
e
r
p
c(
C
,
D
T
R
O
N
);
( -m - 1 )2 + ( m + 2 )2 - 13
[> simplify((-m-1)^2+(m+2)^2-13);
2 m

2
+ 6 m −
8
[> solve(2*m^2+6*m-8 =0,{m});
{
m =
1
},
{
m =
-4

}
L

ư

u

ý
:
a)
T


đ
á
p

số

ta
th

y:
A

trong
đường

t
r
òn

v
à
B


ngo
à
i

đường

t
r
òn
.
b)



th


dùng

l

nh
IsOnCircle
đ

tìm m
đ

C
thuộ
c
đường

t
r
òn
.
4)
L

nh
intersection : Tìm giao
đi


m

củ
a
hai
đường

th

ng
,

một

đường th

ng

v
à

14
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
một

đường

t
r

òn
,

ho

c hai
đường

t
r
òn
.
(find the intersections between two lines, a line and a circle, or
t
w
o ci
r
cl
e
s
).
C
ú

pháp

:
i
n
t

e
r
s
e
c
t
i
o
n
(
o
b
j
,
f
,
g
);
hay
intersection(ten,f,g,[M,
N
]
);
obj - (một tên ) a name
f, g - (đường thẳng hoặc đường tròn ) the lines or circles
404. Trong các trường hợp sau xác định xem đường thẳng cắt, tiếp xúc
hoặc không có điểm chung với đường tròn :
1) y = 2x – 3, x
2
+ y

2
– 3x + 2y – 3 =
0;
2) ,
3) ,
1) [>
c
i
rc
l
e
(
C
,
x
^
2
+
y
^
2
-
3
*x
+
2
*
y
-
3

=
0
,
[
x
,
y
]
)
,
li
n
e
(D
,
y
=
2
*x
-
3
,
[
x
,
y
]
);
C, D
[>

i
n
t
e
r
s
e
c
t
i
o
n
(
H
,
D
,
C
,
[
M
,
N
]
);
[ M, N ]
[>
c
oo
r

d
i
n
a
t
e
s
(
M
);
[>
c
oo
r
d
i
n
a
t
e
s
(
N
);
Máy báo đường thẳng cắt đường tròn tại 2 điểm M , N
1) [> circle(C,x^2+y^2-8*x+2*y+12=0,[x,y]),line(D,y=1/2*x-1/2,[x,y]);
C, D
[>
A
r

e
T
a
n
g
e
n
t
(
C
,
D
);
true
[>
i
n
t
e
r
s
e
c
t
i
o
n
(
T
X

,
C
,
D
,
[
M
,
N
]
);
TX
[>
c
oo
r
d
i
n
a
t
e
s
(
T
X
);
M
á
y


b
á
o

đường

th

ng

ti
ế
p


c
với

đường

t
r
òn

t

i

đi


m
TX(3;
1
)
2)
[>
c
i
rc
l
e
(
C
,
x
^
2
+
y
^
2
-
1
=
0
,
[
x
,

y
]
)
,
li
n
e
(D
,
y
=
x
+
10
,
[
x
,
y
]
);
C, D
[>
A
r
e
T
a
n
g

e
n
t
(
C
,
D
);
15
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
False
[>
i
n
t
e
r
s
e
c
t
i
o
n
(
H
,
C
,
D

,
[
M
,
N
]
);
intersection: "there is no point of intersection"
M
á
y

b
á
o

đường

th

ng

v
à

đường

t
r
òn


không



đi

m

chung
3.
Tiếp tuyến của đường tròn
Loại 1: Tiếp tuyến tại một điểm thuộc đường tròn.
Để viết phương trình tiếp tuyến của đường tròn C tại điểm P, ta
dùng lệnh
tangentpc(l, P, c );
l - the name of the tangent line
(
t
e
â
n

ti
e
á
p

tuy
e

á
n

).
418. V
i
ế
t
phương trình
ti
ế
p

tuy
ế
n

với

đường

t
r
òn
(x + 2)
2
+ (y – 3)
2
=25 t


i

đi

m
A(–
5;
7
)
[>
p
o
i
n
t
(
A
,
-
5
,
7
)
,
c
i
rc
l
e
(

C
,
(
x
+
2
)
^
2
+
(
y
-
3
)
^
2
=
25
,
[
x
,
y
]
);
A, C
[>
t
a

n
g
e
n
t
p
c(
l
,
A
,
C
);
l
[>
E
q
u
a
t
i
o
n
(
l
);
−43 − 3 x + 4 y =
0
Loại 2:
T

i
ế
p

tuy
ế
n

với

đường

t
r
òn
đi qua
một

đi

m
cho
t
r
ước.
Đ


vi
ế

t
phương trình
ti
ế
p

tuy
ế
n
c

a

đường

t
r
òn
C đi qua
đi

m
P cho
t
r
ướ
c
TangentLine(
TE
Â

N , P, C, [x, y]
)
;
427. V
i
e
á
t
phöông trình c
a
ù
c
ti
e
á
p

tuy
e
á
n


ù
i

ñöô
ø
ng


t
r
o
ø
n
x
2
+ y
2
= 5
k


từ điểm A
[>
p
o
i
n
t
(
A
,
5
/
3
,
-
5
/

3
)
,
c
i
rc
l
e
(
C
,
x
^
2
+
y
^
2
=
5
,
[
x
,
y
]
);
A,
C
[> T

a
n
g
e
n
t
L
i
n
e
(
T
i
e
p
t
u
y
e
n
,
A
,
C
,
[
L
1
,
L

2
]
);
[ L1, L2 ]
[> T
a
n
g
e
n
t
L
i
n
e
(
T
i
e
p
t
u
y
e
n
,
A
,
C
,

[
L
1
,
L
2
]
);
[ L1, L2 ]
[>
E
q
u
a
t
i
o
n
(
L
1
);
16
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
[>
E
q
u
a
t

i
o
n
(
L
2
);
Loại 3: tiếp tuyến của đường tròn song song hoặc vuônggóc với một
đường thẳng cho trước
436. Viết phương trình các tiếp tuyến với đường tròn x
2
+
y
2
+ 10x – 2y + 6 =
0
,
bi
ế
t

ti
ế
p

tuy
ế
n
song song
với


đường

th

ng
2x + y – 7 =
0
.
[>
li
n
e
(D
,
2
*x
+
y
+m=
0
,
[
x
,
y
]
)
,
c

i
rc
l
e
(
C
,
x
^
2
+
y
^
2
+
10
*x
-
2
*
y
+
6
=
0
,
[
x
,
y

]
);
D, C
[>
A
r
e
T
a
n
g
e
n
t
(D
,
C
,
'
c
o
n
d
'
);
AreTangent: "hint: unable to determine if -19-18*m+m^2 is z
e
r
o"
FAIL

[> s
o
l
v
e
(
m^
2
-
18
*
m
-
19
=
0
,
{
m
}
);
{ m 19 }, { m -1 } 
a) Ở
dòng

l

nh
1, ta
gọi


đường

th

ng
song song
với

đường

th

ng

2x
+ y – 7 = 0


d

ng
D : 2x + y + m = 0 ( m
m

7
).
b) Ở
dòng


l

nh
2, ta
dùng

l

nh

AreTangent(D,C,'cond');
đ

tìm đi

u

ki

n

đ

D
ti
ế
p


c

với

đường

t
r
òn
C.
T


đó
,
ta tìm
đượ
c m
.
* Đ
ường

t
r
òn

nội

ti
ế
p
tam

gi
á
c
Đ


vi
ế
t
phương trình
đường

t
r
òn

nội

ti
ế
p
tam
gi
á
c ABC, ta
thự
c
hi

n:

Bướ
c
1: Khai
b
á
o
tam
gi
á
c ABC. G
i


sử
tam
gi
á
c


t
ê
n

l
à

T
.
* Đ

ường

t
r
òn

nội

ti
ế
p
tam
gi
á
c
Đ


vi
ế
t
phương trình
đường

t
r
òn

nội


ti
ế
p
tam
gi
á
c ABC, ta
thự
c
hi

n:
Bướ
c
1: Khai
b
á
o
tam
gi
á
c ABC. G
i


sử
tam
gi
á
c



t
ê
n

l
à

T
.
Bướ
c
2 : D
ùng

l

nh

inci
r
cl
e
(
t
ê
n

đường


t
r
òn
, T);
đ

khai
b
á
o đường

t
r
òn
.
Bướ
c
3 : D
ùng

l

nh

E
qu
a
tion
(

t
ê
n

đường

t
r
òn
)

đ


vi
ế
t
phương t
r
ình

đường

t
r
òn
*


th


xem chi
ti
ế
t

đường

t
r
òn

b

ng

l

nh

d
e
t
a
il
V

í
d


:
V
i
ế
t
phương trình
đường

t
r
òn

nội

ti
ế
p
tam
gi
á
c ABO,
bi
ế
t
A(0; 1), B(1;
0
)

v
à


O(0;
0
)
17
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
[>
p
o
i
n
t
(
A
,
0
,
1
)
,
p
o
i
n
t
(B
,
1
,
0

)
,
p
o
i
n
t
(
O
,
0
,
0
)
,
t
r
i
a
n
g
l
e
(
T
,
[
A
,
B

,
O
]
);
A, B, O, T
[>
i
n
c
i
rc
l
e
(
n
o
i
t
i
e
p
,
T
);
noitiep
[> Equation(noitiep);
enter name of the horizontal axis > x;
enter name of the vertical axis > y;
Để cho đáp số gọn lại, bạn sử dụng lệnh factor(%) như sau:
[> factor(%);

Các phép biến đổi trong hình học phẳng
Ở phần trước, chúng ta đã xét phép đối xứngcủa một điểm qua
một đường thẳng, trong phần này ta xét tất cả các phép biến đổi trong
hình học phẳng.
3.1 Phép tịnh tiến
geometry[translation] - find the translation of a geometric object
w
i
t
h
r
e
s
p
e
c
t
to
a directed s
e
g
m
e
n
t
Calling S
e
qu
e
n

ce
translation(Q, obj,
A
B
)
P
a
r
a
m
e
t
e
r
s
Q - the name of the object to be created: Têncủa đối tượng được tạo
qua phép tịnh tiến.
obj - geometric object: Đối tượng hình học cần lấy qua phép tịnh tiến
AB - directed segment: Hướng của đoạn thẳng AB, ta hiểu chính là phép tịnh tiến theo
vectơ
18
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
3.2 Phép quay
geometry[rotation]- find the rotation of a geometric object with respect to a given point
Calling Sequence rotation(Q, P, g, co, R)
Parameters
Q - the name of the object to be created
P - geometric object
g - the angle of rotation
co - the direction of rotation, either clockwiseor counterclockwise

R - (optional) the center of rotation
3.3 Phép vị từ:
geometry[dilatation]- find the dilatation of a geometric object
geometry[expansion]- find the expansion of a geometric object
geometry[homothety]- find the homothety of a geometric object
geometry[stretch]- find the stretch of a geometric object
Calling Sequence
dilatation(Q, P, k, O)
expansion(Q, P, k, O)
homothety(Q, P, k, O)
stretch(Q, P, k, O)
Parameters
Q - the name of the object to be created
P - geometric object
k - number which is the ratio of the dilatation
O - point which is the center of the dilatation
[>point(A,2,3),point(B,-1,-1),line(d,2*x+3*y-1=0,[x,y]),circle(C,x^2+y^2-2*x+4*y-
4=0,[x,y]);
A, B, d, C
[> coordinates(reflection(P,A,d));
19
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
[> rotation(Q,P,Pi/2,counterclockwise,B);
Q
[> coordinates(Q);
[> dilatation(E,A,1/3,B);
E
[>
c
oo

r
d
i
n
a
t
e
s
(E
);
[> translation(F,E,dsegment(BA,B,A));
F
[> coordinates(F);
[> rotation(C1,C,Pi/3,clockwise,A);
C1
[> Equation(C1);
[> Equation(dilatation(C2,C,1/3,B));
9 x
2
+ 6 x + 8 + 9 y
2
+ 24 y =
0
III – ÁP DỤNG LUẬT GIẢI SUY DIỄN TIẾN ĐỂ GIẢI BÀI TOÁN TAM
GIÁC
20
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
21
PGS.TS: Đỗ Văn Nhơn LẬP TRÌNH SYMBOLIC
KẾT LUẬN

Bài thu hoạch đã hướng dẫn cách giải các bài toán hình học mặt phẳng bằng công
cụ Maple. Đây là bước tiếp cận ban đầu để làm quen về cách lập trình trên Maple. Từ đó,
có thể xây dựng nhiều chương trình phục vụ cho mục đích học tập và nghiên cứu trong
nhiều lĩnh vực khác. Maple còn là một công cụ hổ trợ tích cực trong việc giảng dạy, công
cụ trực quan, và gắn liền với toán phổ thông và đại học. Được nhiều nước trên thế giới
chọn và sử dụng.
Tài liệu thao khảo
[1] Tập tài liệu giảng dạy môn Lập trình Symbolic cho Trí tuệ nhân tạo của thầy PGS.TS
Đỗ Văn Nhơn – Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM.
[2]. Phạm Huy Điển, Tính toán, lập trình và giảng dạy toán học trên Maple, NXB KH và
KT, 2002.
[3]
[4] Các nguồn từ internet
22

×