Tải bản đầy đủ (.pdf) (13 trang)

TÌM HIỂU NGÔN NGỮ lập TRÌNH MAPLE và ỨNG DỤNG GIẢI một số bài TOÁN HÌNH học GIẢI TÍCH

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 (1.07 MB, 13 trang )

CODE MAPLE 13
O restart;
O with linalg :
O TaoVector dproc A, B
return B 1 K A 1 , B 2 KA 2 , B 3 KA 3
end proc:
O Modul dproc v

O
O
O
O

O

O

O

:

return v 1 2 Cv 2 2 Cv 3 2 :
end proc:
TongVector dproc u, v
return u 1 Cv 1 , u 2 Cv 2 , u 3 Cv 3 :
end proc:
TichVoHuong dproc u, v
return v 1 $u 1 Cv 2 $u 2 Cv 3 $u 3 :
end proc:
TichHuuHuong dproc u, v
return u 2 $v 3 Ku 3 $v 2 , u 3 $v 1 Ku 1 $v 3 , u 1 $v 2 Ku 2 $v 1 :


end proc:
CosGoc dproc u, v
TichVoHuong u, v
return
:
Modul u $Modul v
end proc:
SinGoc dproc u, v
Modul TichHuuHuong u, v
return
:
Modul u $Modul v
end proc:
KiemTra2VectorCungPhuong dproc u, v
local T, m, n, p :
print Bài toán kiểm tra 2 vector cùng phương ;
lprint Vector thứ 1 là u 1 , u 2 , u 3 ;
lprint Vector thứ 2 là v 1 , v 2 , v 3 ;
m du 1 *v 2 K 2 *v 1 :
u
n du 2 *v 3 K 3 *v 2 :
u
p du 1 *v 3 K 3 *v 1 :
u
if m = m = p then
lprint Ta có các thành phần của 2 vector bằng nhau ;
lprint Suy ra 2 vector cùng phương ; return 1;
else lprint Ta có các tỉ lệ thành phần của 2 vector không bằng nhau ;
lprint Suy ra 2 vector không cùng phương ;
end if:

end proc:
KiemTra3VectorDongPhang dproc u, v, w
print Bài toán kiểm tra 3 vector dồng phẳng ;
lprint Vector thứ 1 là u 1 , u 2 , u 3 ;
lprint Vector thứ 2 là v 1 , v 2 , v 3 ;
lprint Vector thứ 3 là w 1 , w 2 , w 3 ;
lprint Ta có tích hữu hướng vector thứ 1 và vector thứ 2 là TichHuuHuong u, v 1 ,
TichHuuHuong u, v 2 , TichHuuHuong u, v 3 ;
lprint Ta có tích vô hướng vector hữu hướng và vector thứ 3


O

O

O

O

làTichVoHuong TichHuuHuong u, v , w ;
if TichVoHuong TichHuuHuong u, v , w = 0 then lprint Suy ra 3 vector dồng phẳng ;
else lprint Suy ra 3 vector không dồng phẳng ;
end if:
end proc:
KiemTra3DiemThangHang d proc A, B, C
local T :
print Bài toán kiểm tra 3 diểm thẳng hàng ;
lprint Ta có diểm thứ 1 là A 1 , A 2 , A 3 ; lprint diểm thứ 2 là B 1 , B 2 , B 3 ;
lprint diểm thứ 3 là C 1 , C 2 , C 3 ;
lprint Suy ra VTCP1 tạo từ diểm thứ 1 và thứ 2 là TaoVector A, B 1 , TaoVector A,

B 2 , TaoVector A, B 3 ;
lprint Suy ra VTCP2 tạo từ diểm thứ 1 và thứ 3 là TaoVector A, C 1 , TaoVector A,
C 2 , TaoVector A, C 3 ;
lprint Bài toán trở thành ;
T d KiemTra2VectorCungPhuong TaoVector A, B , TaoVector A, C ;
if T = 1 then lprint 3 diểm thẳng hàng ;
else lprint 3 diểm không thẳng hàng ;
end if:
end proc:
TrungDiem dproc A, B
print Bài tốn tìm trung diểm của doạn thẳng ;
lprint Ta có diểm thứ 1 là A 1 , A 2 , A 3 ;
lprint và diểm thứ 2 là B 1 , B 2 , B 3 ;
A 1 CB 1
A 2 CB 2
lprint Suy ra trung diểm của doạn thẳng là
,
,
2
2
A 3 CB 3
;
2
end proc:
DienTich dproc A, B, C
print Bài tốn tính diện tích tam giác ;
lprint Ta có dỉnh thứ 1 là A 1 , A 2 , A 3 ;
lprint Ta có dỉnh thứ 2 là B 1 , B 2 , B 3 ;
lprint Ta có dỉnh thứ 3 là C 1 , C 2 , C 3 ;
lprint Vector tạo bởi dỉnh thứ 1 và thứ 2 là VT1= TaoVector A, B 1 , TaoVector A,

B 2 , TaoVector A, B 3 ;
lprint Vector tạo bởi dỉnh thứ 1 và thứ 3 làVT2= TaoVector A, C 1 , TaoVector A, C 2 ,
TaoVector A, C 3 ;
lprint Diện tích tam giác là ;
lprint S=0.5*|HữuHướng(Vector 1, Vector 2)|= ;
1
return $Modul TichHuuHuong TaoVector A, B , TaoVector A, C
:
2
end proc:
TheTichTuDien dproc A, B, C, D
print Bài tốn tính thể tích của tứ diện ;
lprint Ta có dỉnh thứ 1 là A 1 , A 2 , A 3 ;
lprint dỉnh thứ 2 là B 1 , B 2 , B 3 ;
lprint dỉnh thứ 3 là C 1 , C 2 , C 3 ;
lprint dỉnh thứ 4 là D 1 , D 2 , D 3 ;
lprint Vector tạo bởi dỉnh thứ 1 và thứ 2 là VT1= TaoVector A, B 1 , TaoVector A,
B 2 , TaoVector A, B 3 ;


lprint Vector tạo bởi dỉnh thứ 1 và thứ 3 là VT2= TaoVector A, C 1 , TaoVector A,
C 2 , TaoVector A, C 3 ;
lprint Vector tạo bởi dỉnh thứ 1 và thứ 4 là VT3= TaoVector A, D 1 , TaoVector A,
D 2 , TaoVector A, D 3 ;
lprint Vector hữu hướng của VT1 và VT2 là TichHuuHuong TaoVector A, B ,
TaoVector A, C 1 , TichHuuHuong TaoVector A, B , TaoVector A, C 2 ,
TichHuuHuong TaoVector A, B , TaoVector A, C 3 ;
lprint Thể tích tứ diện là ;
lprint S=1/6 *VT3*HữuHướng(VT1,VT2)= ;
1

return $ TichVoHuong TaoVector A, D , TichHuuHuong TaoVector A, B , TaoVector
6
A, C
:
end proc:
O DiemTheoTiVector dproc A, B, k
local X :
print Bài tốn tìm diểm X chia 2 vector theo tỉ số k ;
lprint Ta có diểm thứ 1 là A 1 , A 2 , A 3 ;
lprint diểm thứ 2 là B 1 , B 2 , B 3 ;
lprint Gọi diểm cần tìm là X(u,v,w) ;
X d u, v, w :
lprint Ta có vector tạo bởi diểm thứ 1 và X là VT1= TaoVector A, X 1 , TaoVector A,
X 2 , TaoVector A, X 3 ;
lprint Vector tạo bởi diểm thứ 2 và X là VT2= TaoVector B, X 1 , TaoVector B, X 2 ,
TaoVector B, X 3 ;
lprint Ta có VT1=kVT2 ;
lprint hay ta có hệ 3 phương trình sau ;
lprint TaoVector A, X 1 = k$ TaoVector B, X 1 ;
lprint TaoVector A, X 2 = k$ TaoVector B, X 2 ;
lprint TaoVector A, X 2 = k$ TaoVector B, X 3 ;
A 1 Kk$B 1
A 2 K k$B 2
A 3 Kk$B 3
lprint Suy ra diểm cần tìm là
,
,
;
1 Kk
1 Kk

1 Kk
A 1 Kk$B 1
A 2 Kk$B 2
A 3 Kk$B 3
return
,
,
;
1 Kk
1 Kk
1 Kk
end proc:
O TrucTamTamGiac dproc A, B, C
local pt1, pt2, pt3, a, b, c, temp, X, m, n, p :
print Bài tốn tìm trực tâm của tam giác ;
lprint Ta có dỉnh thứ 1 là A 1 , A 2 , A 3 ;
lprint dỉnh thứ 2 là B 1 , B 2 , B 3 ;
lprint dỉnh thứ 3 là C 1 , C 2 , C 3 ;
lprint Gọi diểm cần tìm là X(u,v,w) ;
X d u, v, w :
lprint Ta có vector tạo bởi dỉnh thứ 1 và dỉnh thứ 2 là VT1 = TaoVector A, B 1 ,
TaoVector A, B 2 , TaoVector A, B 3 ;
lprint vector tạo bởi dỉnh thứ 1 và dỉnh thứ 2 là VT2 = TaoVector A, C 1 , TaoVector A,
C 2 , TaoVector A, C 3 ;
lprint vector tạo bởi dỉnh thứ 1 và X là VT3= TaoVector A, X 1 , TaoVector A, X 2 ,
TaoVector A, X 3 ;
lprint vector tạo bởi dỉnh thứ 2 và dỉnh thứ 3 là VT4= TaoVector B, C 1 , TaoVector B,
C 2 , TaoVector B, C 3 ;
lprint vector tạo bởi dỉnh thứ 2 và X là VT5= TaoVector B, X 1 , TaoVector B, X 2 ,



TaoVector B, X 3 ;
lprint Vector tạo bởi dỉnh thứ 2 và dỉnh thứ 3 là VT6= TaoVector A, C 1 , TaoVector A,
C 2 , TaoVector A, C 3 ;
pt1 d C 1 KB 1 $a C C 2 KB 2 $b C C 3 KB 3 $cK C 1 KB 1 $A 1
K C 2 KB 2 $A 2 K C 3 KB 3 $A 3 :
pt2 d C 1 KA 1 $a C C 2 KA 2 $b C C 3 KA 3 $cK C 1 KA 1 $B 1
K C 2 KA 2 $B 2 K C 3 KA 3 $B 3 :
temp d TichHuuHuong TaoVector A, B , TaoVector A, C :
lprint Ta có diểm cần tìm thỏa 3 phương trình sau ;
lprint `VT3*VT4=0` ;
lprint `VT5*VT6=0` ;
lprint Diểm cần tìm và 3 dỉnh tam giác dồng phẳng ;
lprint hay ta có hệ 3 phương trình sau ;
lprint TichVoHuong TaoVector A, X , TaoVector B, C = 0 ;
lprint TichVoHuong TaoVector B, X , TaoVector A, C = 0 ;
lprint TichVoHuong TaoVector A, X , TichHuuHuong TaoVector A, B , TaoVector A,
C
;
pt3 d temp 1 $a Ctemp 2 $b Ctemp 3 $c KA 1 $temp 1 KA 2 $temp 2 KA 3
$temp 3 :
X d solve pt1, pt2, pt3 , a, b, c :
lprint Suy ra diểm cần tìm là simplify rhs X 1 , simplify rhs X 2 ,
simplify rhs X 3
;
return simplify rhs X 1 , simplify rhs X 2 , simplify rhs X 3
:
end proc:
O ChanDuongPhanGiac dproc A, B, C
local X, Y, m, k, l, p :

Y d k, l, p :
print Bài tốn tìm chân đường phân giác trong hạ từ dỉnh thứ 1 ;
lprint Gọi diểm cần tìm là (k,l,p) ;
lprint Ta có dỉnh thứ 1 là A 1 , A 2 , A 3 ;
lprint dỉnh thứ 2 là B 1 , B 2 , B 3 ;
lprint dỉnh thứ 3 là C 1 , C 2 , C 3 ;
lprint Ta có vector tạo bởi dỉnh thứ 1 và dỉnh thứ 2 là VT1 = TaoVector A, B 1 ,
TaoVector A, B 2 , TaoVector A, B 3 ;
lprint `Suy ra |VT1|` = Modul TaoVector A, B ;
lprint vector tạo bởi dỉnh thứ 1 và dỉnh thứ 3 là VT2 = TaoVector A, C 1 , TaoVector A,
C 2 , TaoVector A, C 3 ;
lprint `Suy ra |VT2|` = Modul TaoVector A, C ;
lprint vector tạo bởi chân duong phân giác và dỉnh thứ 2 là VT3= TaoVector B, Y 1 ,
TaoVector B, Y 2 , TaoVector B, Y 3 ;
lprint vector tạo bởi chân duong phân giác và dỉnh thứ 3 là VT4= TaoVector C, Y 1 ,
TaoVector C, Y 2 , TaoVector C, Y 3 ;
lprint Ta có diểm cần tìm thỏa phương trình sau ;
lprint ` VT2 * VT3 =KVT1 * VT4` ;
lprint hay ta có phương trình tương dương ;
lprint `VT3= K (|VT1| /|VT2|)$VT4` ;
Modul TaoVector A, B
m dK
simplify
:
Modul TaoVector A, C
Modul TaoVector A, B
lprint Ta có |VT1| /|VT2| = simplify
;
Modul TaoVector A, C
lprint Bài toán trở thành ;

Y d DiemTheoTiVector B, C, m ;


return simplify Y 1 , simplify Y 2 , simplify Y 3
:
end proc:
O TamNgoaiTuDien dproc A, B, C, D
local a, b, c, m, n, p, pt1, pt2, pt3, X :
print Bài tốn tìm tâm mặt cầu mặt tiếp tứ diện ;
lprint Gọi diểm cần tìm là X(u,v,w) ;
X d u, v, w :
lprint Ta có dỉnh thứ 1 là A 1 , A 2 , A 3 ;
lprint dỉnh thứ 2 là B 1 , B 2 , B 3 ;
lprint dỉnh thứ 3 là C 1 , C 2 , C 3 ;
lprint dỉnh thứ 4 là D 1 , D 2 , D 3 ;
lprint vector tạo bởi dỉnh thứ 1 và X là VT1 = TaoVector A, X 1 , TaoVector A, X 2 ,
TaoVector A, X 3 ;
lprint vector tạo bởi dỉnh thứ 2 và X là VT2 = TaoVector B, X 1 , TaoVector B, X 2 ,
TaoVector B, X 3 ;
lprint vector tạo bởi dỉnh thứ 3 và X là VT3 = TaoVector C, X 1 , TaoVector C, X 2 ,
TaoVector C, X 3 ;
lprint vector tạo bởi dỉnh thứ 4 và X là VT4 = TaoVector D, X 1 , TaoVector D, X 2 ,
TaoVector D, X 3 ;
lprint Diểm cần tìm thỏa 4 phương trình sau ;
lprint `|VT1|=|VT2|` ;
lprint `|VT1|=|VT3|` ;
lprint `|VT1|=|VT4|` ;
lprint hay ta có ;
lprint Modul TaoVector A, X = Modul TaoVector B, X
;

lprint Modul TaoVector A, X = Modul TaoVector C, X ;
lprint Modul TaoVector A, X = Modul TaoVector D, X ;
lprint hay ta có ;
lprint Modul TaoVector A, X 2 = Modul TaoVector B, X 2 ;
lprint Modul TaoVector A, X 2 = Modul TaoVector C, X 2 ;
lprint Modul TaoVector A, X 2 = Modul TaoVector D, X 2 ;
pt1 d A 1 Ka 2 C A 2 Kb 2 C A 3 Kc 2 K B 1 K a 2 K B 2 Kb 2 K B 3
Kc 2 :
2
2
2
2
2
pt2 d A 1 Ka C A 2 Kb C A 3 Kc K C 1 K a K C 2 Kb K C 3
Kc 2 :
pt3 d A 1 Ka 2 C A 2 Kb 2 C A 3 Kc 2 K D 1 K a 2 K D 2 Kb 2 K D 3
Kc 2 :
X d solve pt1, pt2, pt3 , a, b, c :
lprint `Suy ra` ; lprint u = simplify rhs X 1
; lprint v = simplify rhs X 2
; lprint w
= simplify rhs X 3
;
lprint Suy ra diểm cần tìm là simplify rhs X 1 , simplify rhs X 2 ,
simplify rhs X 3
;
return simplify rhs X 1 , simplify rhs X 2 , simplify rhs X 3
end proc:
O TamNoiTamGiac dproc A, B, C
local M, N :

print Bài toán tìm tâm vịng trịn nội tiếp tam giác ;
lprint Ta có dỉnh thứ 1 là A 1 , A 2 , A 3 ;
lprint dỉnh thứ 2 là B 1 , B 2 , B 3 ;


O
O
O
O

O
O

O

O

lprint dỉnh thứ 3 là C 1 , C 2 , C 3 ;
lprint Bước 1:Ta tìm chân duong phân giác hạ từ dỉnh thứ 1 ;
lprint Bước 2:Trong tam giác tạo bởi dỉnh thứ 1 và dỉnh thứ 2 và chân dường phân giác mới
tìm dược ;
lprint Với dỉnh thứ 1 là dỉnh thứ 2, dỉnh thứ 2 là chân dường phân giác mới tìm và dỉnh thứ 3
là dỉnh thứ 1 ;
lprint Ta tìm chân duong phân giác hạ từ dỉnh thứ 1 trong tam giác mới ;
lprint Dó chính là tâm nội cần tìm ;
M d ChanDuongPhanGiac A, B, C :
N d ChanDuongPhanGiac B, A, M :
return simplify N 1 , simplify N 2 , simplify N 3
:
end proc:

LayPhapMP dproc pt
return Vector coeff lhs pt , x, 1 , coeff lhs pt , y, 1 , coeff lhs pt , z, 1 ;
end proc:
LayChiDTTS dproc pt1, pt2, pt3
return Vector coeff rhs pt1 , t, 1 , coeff rhs pt2 , t, 1 , coeff rhs pt3 , t, 1 ;
end proc:
LayChiDTGiao2MP dproc pt1, pt2
return TichHuuHuong LayPhapMP pt1 , LayPhapMP pt2
end proc:
LayDiemDTGiao2MP dproc mp1, mp2
return rhs subs z = 0, solve mp1, mp2 , x, y
1 , rhs subs z = 0, solve mp1,
mp2 , x, y
2 ,0 :
end proc:
LayDiemDTTS dproc pt1, pt2, pt3
return coeff rhs pt1 , t, 0 , coeff rhs pt2 , t, 0 , coeff rhs pt3 , t, 0 :
end proc:
PTMP1Diem1Phap dproc A, n
local ptmp :
print Bài toán PTMP qua 1 diểm và có 1 VTPT ;
lprint Ta có VTPT của mặt phẳng là n 1 , n 2 , n 3 ;
lprint PTMP có dạng: ; print n 1 $x Cn 2 $y C n 3 $z C d = 0 ;
lprint Ta có diểm A 1 , A 2 , A 3 ;
lprint Vì diem thuộc mặt phẳng nên d= K 1 $A 1 Kn 2 $A 2 Kn 3 $A 3 ;
n
lprint Nên PTMP là ;
print n 1 $x Cn 2 $y Cn 3 $zK 1 $A 1 K n 2 $A 2 Kn 3 $A 3 = 0 ;
n
return n 1 $x C n 2 $y Cn 3 $zK 1 $A 1 Kn 2 $A 2 Kn 3 $A 3 = 0 :

n
end proc:
PTMP1Diem2Chi dproc A, n, m
print Bài tốn PTMP qua 1 Diem và có 2 VTCP ;
lprint Ta có VTCP1 là n 1 , n 2 , n 3 ;
lprint VTCP2 là m 1 , m 2 , m 3 ;
lprint Suy ra VTPT của mặt phẳng là TichHuuHuong n, m 1 , TichHuuHuong n, m 2 ,
TichHuuHuong n, m 3 ;
lprint Bài toán trở thành ;
PTMP1Diem1Phap A, TichHuuHuong n, m ;
end proc:
PTMP2Diem1Chi dproc A, B, a
print Bài tốn PTMP qua 2 Diem và có 1 VTCP ;
lprint Ta có diem 1 A 1 , A 2 , A 3 ; lprint `diem 2` B 1 , B 2 , B 3 ;


O

O

O

O

O

lprint Suy ra VTCP2 của mặt phẳng là TaoVector A, B 1 , TaoVector A, B 2 ,
TaoVector A, B 3 ;
lprint Ta có VTCP1 của mặt phẳng là a 1 , a 2 , a 3 ;
lprint Bài toán trở thành ;

PTMP1Diem2Chi A, a, TaoVector A, B ;
end proc:
PTMP3Diem dproc A, B, C
local n :
n d TichHuuHuong TaoVector A, B , TaoVector A, C :
print Bài toán PTMPqua3Diem ;
lprint Ta có diểm thứ 1 là A 1 , A 2 , A 3 ;
lprint và diểm thứ 2 là B 1 , B 2 , B 3 ;
lprint Ta có VTCP1 là TaoVector A, B 1 , TaoVector A, B 2 , TaoVector A, B 3 ;
lprint Ta có diểm thứ 1 là A 1 , A 2 , A 3 ;
lprint và diểm thứ 3 là C 1 , C 2 , C 3 ;
lprint VTCP2 là TaoVector A, C 1 , TaoVector A, C 2 , TaoVector A, C 3 ;
lprint Suy ra VTPT của mặt phẳng là n 1 , n 2 , n 3 ;
lprint Bài toán trở thành ;
PTMP1Diem1Phap A, n ;
end proc:
PTDTTS1Diem1Chi dproc A, a
local t :
print Bài toán viết PTDT qua 1 diem và có 1 VTCP ;
lprint Ta có diem mà duong thang di qua là A 1 , A 2 , A 3 ;
lprint VTCP của duong thang là a 1 , a 2 , a 3 ;
lprint PTDT tham số có dạng ;
print x = A 1 Ca 1 $t ; print và y = A 2 Ca 2 $t ; print và z = A 3 Ca 3 $t ;
print với t in R ;
end proc:
PTDTTS2Diem dproc A, B
print `Bài toán viết PTDT qua 2 diểm` ;
lprint diểm thứ 1 là A 1 , A 2 , A 3 ;
lprint diểm thứ 2 là B 1 , B 2 , B 3 ;
lprint Ta có VTCP của duong thang là TaoVector A, B 1 , TaoVector A, B 2 ,

TaoVector A, B 3 ;
lprint Ta viết ptdt qua 1 diem và có 1 VTCP ;
PTDTTS1Diem1Chi A, TaoVector A, B ;
end proc:
LayDiemThuoc2MP dproc mp1, mp2
lprint Chọn Z(k,l,0) thuộc 2 mặt phẳng. Ta có ;
lprint subs y = l, subs x = k, subs z = 0, mp1
; lprint subs x = k, subs y = l, subs z = 0,
mp2
;
lprint `Suy ra` :
lprint subs x = k, subs z = 0, solve mp1, mp2 , x, y
1
; lprint subs y = l, subs z
= 0, solve mp1, mp2 , x, y
2
;
lprint Vậy diem thuoc 2 mặt phẳng là rhs subs z = 0, solve mp1, mp2 , x, y
1 ,
rhs subs z = 0, solve mp1, mp2 , x, y
2 ,0 ;
return rhs subs z = 0, solve mp1, mp2 , x, y
1 , rhs subs z = 0, solve mp1,
mp2 , x, y
2 ,0 ;
end proc:
PTDTTSGiao2MP dproc mp1, mp2


O

local t, a, b, c, m, n, p, X, Y, T :
print Bài toán viết ptdt là giao của 2 mặt phẳng ;
lprint Ta có pt 2 mặt phẳng là ;
lprint mp1 ; lprint mp2 ;
a d coeff lhs mp1 , x, 1 :
b d coeff lhs mp1 , y, 1 :
c d coeff lhs mp1 , z, 1 :
m d coeff lhs mp2 , x, 1 :
n d coeff lhs mp2 , y, 1 :
p d coeff lhs mp2 , z, 1 :
X d Vector a, b, c :
Y d Vector m, n, p :
lprint Ta có VTPT của mặt phẳng 1 là a, b, c ;
lprint Ta có VTPT của mặt phẳng 2 là m, n, p ;
lprint Suy ra vector hữu hướng là TichHuuHuong X, Y 1 , TichHuuHuong X, Y 2 ,
TichHuuHuong X, Y 3 ;
lprint Suy ra vector hữu VTCP của duong thang là TichHuuHuong X, Y 1 ,
TichHuuHuong X, Y 2 , TichHuuHuong X, Y 3 ;
lprint Bài toán trở thành ;
T d LayDiemThuoc2MP mp1, mp2 :
lprint Bài toán trở thành ;
PTDTTS1Diem1Chi T, TichHuuHuong X, Y ;
end proc:
O PTMPQua1DiemSongSong2DTTS dproc A, pt1, pt2, pt3, d1, d2, d3
print Bài toán viết PTMP song song 2 duong thang ;
lprint Ta có phương trình duong thang thứ 1 là ;
lprint pt1 ; lprint pt2 ; lprint pt3 ;
lprint Suy ra VTCP1 là LayChiDTTS pt1, pt2, pt3 1 , LayChiDTTS pt1, pt2, pt3 2 ,
LayChiDTTS pt1, pt2, pt3 3 ;
lprint Ta có phương trình duong thang thứ 2 là ;

lprint d1 ; lprint d2 ; lprint d3 ;
lprint Suy ra VTCP2 là LayChiDTTS d1, d2, d3 1 , LayChiDTTS d1, d2, d3 2 ,
LayChiDTTS d1, d2, d3 3 ;
lprint VTPT của mặt phẳng là TichHuuHuong LayChiDTTS pt1, pt2, pt3 ,
LayChiDTTS d1, d2, d3
1 , TichHuuHuong LayChiDTTS pt1, pt2, pt3 ,
LayChiDTTS d1, d2, d3
2 , TichHuuHuong LayChiDTTS pt1, pt2, pt3 ,
LayChiDTTS d1, d2, d3
3 ;
lprint Bài toán trở thành ;
PTMP1Diem1Phap A, TichHuuHuong LayChiDTTS pt1, pt2, pt3 , LayChiDTTS d1, d2,
d3
;
end proc:
O PTMPQua2DiemSongSong1DTTS dproc A, B, pt1, pt2, pt3
print Bài toán viết PTMP qua 2 diem và song song 1 duong thang ;
lprint Ta có phương trình duong thang là ;
lprint pt1 ; lprint pt2 ; lprint pt3 ;
lprint Suy ra VTCP1 của duong thang là LayChiDTTS pt1, pt2, pt3 1 , LayChiDTTS pt1,
pt2, pt3 2 , LayChiDTTS pt1, pt2, pt3 3 ;
lprint Ta có VTCP2 của duong thang qua 2 diem là TaoVector A, B 1 , TaoVector A,
B 2 , TaoVector A, B 3 ;
lprint Bài toán trở thành ;
PTMP1Diem2Chi A, LayChiDTTS pt1, pt2, pt3 , TaoVector A, B ;


O

O


O

O

end proc:
PTMPQua1DiemVuong1DTTS dproc A, pt1, pt2, pt3
print Bài toán viết PTMP qua 1 diem và vng góc 1 duong thang ;
lprint Ta có phương trình duong thang là ;
lprint pt1 ; lprint pt2 ; lprint pt3 ;
lprint Suy ra VTPT của duong thang là LayChiDTTS pt1, pt2, pt3 1 , LayChiDTTS pt1,
pt2, pt3 2 , LayChiDTTS pt1, pt2, pt3 3 ;
lprint Bài toán trở thành ;
PTMP1Diem1Phap A, LayChiDTTS pt1, pt2, pt3 ;
end proc:
PTMPQua1DiemSongSongMP dproc A, pt1
print Bài toán viết PTMP qua 1 diem và song song mặt phẳng ;
lprint Ta có phương trình mặt phẳng làpt1 ;
lprint Suy ra VTPT của mặt phẳng là LayPhapMP pt1 1 , LayPhapMP pt1 2 ,
LayPhapMP pt1 3 ;
lprint Bài toán trở thành ;
PTMP1Diem1Phap A, LayPhapMP pt1 ;
end proc:
PTMPChuaDTGiao2MPVuong1MP dproc mp1, mp2, mp3
print Bài toán viết PTMP chứa duong thang là giao tuyến 2 mặt phẳng và vng góc với 1 mặt
phẳng ;
lprint Ta có phương trình duong thang là giao tuyến 2 mặt phẳng ;
lprint mp1 ; lprint mp2 ;
lprint VTPT mặt phẳng thứ 1 là LayPhapMP mp1 1 , LayPhapMP mp1 2 ,
LayPhapMP mp1 3 ;

lprint VTPT mặt phẳng thứ 2 là LayPhapMP mp2 1 , LayPhapMP mp2 2 ,
LayPhapMP mp2 3 ;
lprint Vector hữu hướng 2 mặt phẳng là LayChiDTGiao2MP mp1, mp2 1 ,
LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;
lprint Suy ra VTCP của duong thang là LayChiDTGiao2MP mp1, mp2 1 ,
LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;
lprint Suy ra VTCP1 của mặt phẳng là LayChiDTGiao2MP mp1, mp2 1 ,
LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;
LayDiemThuoc2MP mp1, mp2 ;
lprint Ta có phương trình mặt phẳng vng góc là ; lprint mp3 ;
lprint VTPT tương ứng là LayPhapMP mp3 1 , LayPhapMP mp3 2 ,
LayPhapMP mp3 3 ;
lprint Suy ra VTCP2 của mặt phẳng là LayPhapMP mp3 1 , LayPhapMP mp3 2 ,
LayPhapMP mp3 3 ;
lprint Bài toán trở thành ;
PTMP1Diem2Chi LayDiemThuoc2MP mp1, mp2 , LayChiDTGiao2MP mp1, mp2 ,
LayPhapMP mp3 ;
end proc:
PTMPQua1DiemChua1DTGiao2MP dproc A, mp1, mp2
print Bài toán viết PTMP qua 1 diem và chứa duong thang là giao tuuyến 2 mặt phẳng ;
lprint Ta có phương trình duong thang là giao tuyến 2 mặt phẳng ;
lprint mp1 ; lprint mp2 ;
lprint VTPT mặt phẳng thứ 1 là LayPhapMP mp1 1 , LayPhapMP mp1 2 ,
LayPhapMP mp1 3 ;
lprint VTPT mặt phẳng thứ 2 là LayPhapMP mp2 1 , LayPhapMP mp2 2 ,
LayPhapMP mp2 3 ;


lprint Vector hữu hướng 2 mặt phẳng là LayChiDTGiao2MP mp1, mp2 1 ,
LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;

lprint Suy ra VTCP của duong thang là LayChiDTGiao2MP mp1, mp2 1 ,
LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;
lprint Suy ra VTCP1 của mặt phẳng là LayChiDTGiao2MP mp1, mp2 1 ,
LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;
LayDiemThuoc2MP mp1, mp2 ;
lprint Ta có diem ban dầu là A 1 , A 2 , A 3 ;
lprint Bài toán trở thành ;
PTMP2Diem1Chi A, LayDiemThuoc2MP mp1, mp2 , LayChiDTGiao2MP mp1, mp2 ;
end proc:
O PTMPQua1DiemChuaDTTS dproc A, pt1, pt2, pt3
print Bài toán viết PTMP qua 1diểm chứa 1 duong thang tham số ;
lprint Ta có phương trình duong thang tham số là ;
lprint pt1 ; lprint pt2 ; lprint pt3 ;
lprint `Suy ra duong thang qua diem` LayDiemDTTS pt1, pt2, pt3 1 , LayDiemDTTS pt1,
pt2, pt3 2 , LayDiemDTTS pt1, pt2, pt3 3 ;
lprint Suy ra VTCP của duong thang là LayChiDTTS pt1, pt2, pt3 1 , LayChiDTTS pt1,
pt2, pt3 2 , LayChiDTTS pt1, pt2, pt3 3 ;
lprint Diem ban dầu là A 1 , A 2 , A 3 ;
lprint Bài toán trở thành ;
PTMP2Diem1Chi A, LayDiemDTTS pt1, pt2, pt3 , LayChiDTTS pt1, pt2, pt3 ;
end proc:
O PTMPSongSong1DTTSVuong1MP dproc pt1, pt2, pt3, mp
print Bài toán viết PTMP song song 1 duong thang dạng tham số và vng góc 1 mặt phẳng ;
lprint Phương trình mặt phẳng vng góc là ; lprint mp ;
lprint VTPT của mặt phẳng vuông là LayPhapMP mp 1 , LayPhapMP mp 2 ,
LayPhapMP mp 3 ;
lprint Suy ra VTCP1 của mặt phẳng là LayPhapMP mp 1 , LayPhapMP mp 2 ,
LayPhapMP mp 3 ;
lprint phương trình duong thang là ;
lprint pt1 ; lprint pt2 ; lprint pt3 ;

lprint Suy ra duong thang qua diemlà LayDiemDTTS pt1, pt2, pt3 1 , LayDiemDTTS pt1,
pt2, pt3 2 , LayDiemDTTS pt1, pt2, pt3 3 ;
lprint Suy ra VTCP của duong thang là LayChiDTTS pt1, pt2, pt3 1 , LayChiDTTS pt1,
pt2, pt3 2 , LayChiDTTS pt1, pt2, pt3 3 ;
lprint Suy ra VTCP2 của mặt phẳng là LayChiDTTS pt1, pt2, pt3 1 , LayChiDTTS pt1,
pt2, pt3 2 , LayChiDTTS pt1, pt2, pt3 3 ;
lprint Bài toán trở thành ;
PTMP1Diem2Chi LayDiemDTTS pt1, pt2, pt3 1 , LayDiemDTTS pt1, pt2, pt3 2 ,
LayDiemDTTS pt1, pt2, pt3 3 , LayChiDTTS pt1, pt2, pt3 , LayPhapMP mp ;
end proc:
O PTMPVuong2MP dproc mp1, mp2
print Bài tốn viết PTMP vng góc 2 mặt phẳng ;
lprint Phương trình mặt phẳng vng góc thứ 1 là ; lprint mp1 ;
lprint VTPT của mặt phẳng vuông thứ 1 là LayPhapMP mp1 1 , LayPhapMP mp1 2 ,
LayPhapMP mp1 3 ;
lprint Suy ra VTCP1 của mặt phẳng là LayPhapMP mp1 1 , LayPhapMP mp1 2 ,
LayPhapMP mp1 3 ;
lprint Phương trình mặt phẳng vng góc thứ 2 là ; lprint mp2 ;
lprint VTPT của mặt phẳng vuông thứ 2 là LayPhapMP mp2 1 , LayPhapMP mp2 2 ,
LayPhapMP mp2 3 ;


O

O

O

O


O

lprint Suy ra VTCP2 của mặt phẳng là LayPhapMP mp2 1 , LayPhapMP mp2 2 ,
LayPhapMP mp2 3 ;
lprint Diem ban dầu là A 1 , A 2 , A 3 ;
lprint Bài toán trở thành ;
PTMP1Diem2Chi A, LayPhapMP mp1 , LayPhapMP mp2 ;
end proc:
PTDTTSQua1Diem1Chi dproc A, a
print Bài toán viết PTDT dạng tham số qua 1 diểm và có 1 VTCP ;
PTDTTS1Diem1Chi A, a ;
end proc:
PTDTTSQua1DiemVuong1MP dproc A, mp
print Bài toán viết PTDT dạng tham số qua 1 diểm và vng góc 1 mặt phẳng ;
lprint Phương trình mặt phẳng là ; lprint mp ;
lprint Suy ra VTPT của mặt phẳng là LayPhapMP mp 1 , LayPhapMP mp 2 ,
LayPhapMP mp 3 ;
lprint Suy ra VTCP của duong thang là LayPhapMP mp 1 , LayPhapMP mp 2 ,
LayPhapMP mp 3 ;
lprint Duong thang qua diểm A 1 , A 2 , A 3 ;
lprint Bài toán trở thành ;
PTDTTS1Diem1Chi A, LayPhapMP mp ;
end proc:
PTDTTSQua2Diem dproc A, B
print Bài toán viết PTDT dạng tham số qua 2 diểm ;
PTDTTS2Diem A, B ;
end proc:
PTDTTSQua1DiemSongSong1DTGiao2MP dproc A, mp1, mp2
print Bài toán viết PTDT qua 1 diểm và song song duong thang là giao tuyến của 2 mặt
phẳng ;

lprint Phương trình mặt phẳng thứ 1 là ; lprint mp1 ;
lprint Suy ra VTPT1 là LayPhapMP mp1 1 , LayPhapMP mp1 2 ,
LayPhapMP mp1 3 ;
lprint Phương trình mặt phẳng thứ 2 là ; lprint mp2 ;
lprint Suy ra VTPT2 là LayPhapMP mp2 1 , LayPhapMP mp2 2 ,
LayPhapMP mp2 3 ;
lprint Suy ra vector hữu hướng của VTCP1 và VTCP2
là TichHuuHuong LayPhapMP mp1 , LayPhapMP mp2 1 ,
TichHuuHuong LayPhapMP mp1 , LayPhapMP mp2 2 ,
TichHuuHuong LayPhapMP mp1 , LayPhapMP mp2 3 ;
lprint Suy ra VTCP của duong thang là TichHuuHuong LayPhapMP mp1 ,
LayPhapMP mp2 1 , TichHuuHuong LayPhapMP mp1 , LayPhapMP mp2 2 ,
TichHuuHuong LayPhapMP mp1 , LayPhapMP mp2 3 ;
lprint Ta có diểm mà duong thang qua là A 1 , A 2 , A 3 ;
print Bài toán trở thành ;
PTDTTS1Diem1Chi A, TichHuuHuong LayPhapMP mp1 , LayPhapMP mp2 ;
end proc:
PTDTTSQua1DiemVuongDongPhang1DTGiao2MP dproc A, mp1, mp2
local H, pt1, pt2, pt3, X :
print Bài tốn viết PTDT qua 1 diểm và vng, dồng phẳng với đường thẳng là giao tuyến của
2 mặt phẳng ;
lprint Phương trình mặt phẳng thứ 1 là ; lprint mp1 ;
lprint Suy ra VTPT1 là LayPhapMP mp1 1 , LayPhapMP mp1 2 ,


LayPhapMP mp1 3 ;
lprint Phương trình mặt phẳng thứ 2 là ; lprint mp2 ;
lprint Suy ra VTPT2 là LayPhapMP mp2 1 , LayPhapMP mp2 2 ,
LayPhapMP mp2 3 ;
lprint Suy ra vector hữu hướng của VTCP1 và VTCP2 là LayChiDTGiao2MP mp1,

mp2 1 , LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;
lprint Suy ra VTCP của duong thang thứ 1 là LayChiDTGiao2MP mp1, mp2 1 ,
LayChiDTGiao2MP mp1, mp2 2 , LayChiDTGiao2MP mp1, mp2 3 ;
H d m, n, p :
lprint Gọi H(m,n,p) thỏa MH vng góc, dồng phẳng duong thang thứ 1 trên ;
lprint Ta có hệ 3 phương trình sau ;
lprint H thuộc mp1 ; lprint H thuộc mp2 ;
lprint `Vector(MH).VTCP(Duong thang)=-1` ;
lprint `hay` ;
lprint coeff lhs mp1 , x, 1 $m Ccoeff lhs mp1 , y, 1 $n Ccoeff lhs mp1 , z, 1 $p
Ccoeff coeff coeff lhs mp1 , x, 0 , y, 0 , z, 0 = 0 ;
lprint coeff lhs mp2 , x, 1 $m Ccoeff lhs mp2 , y, 1 $n Ccoeff lhs mp2 , z, 1 $p
Ccoeff coeff coeff lhs mp2 , x, 0 , y, 0 , z, 0 = 0 ;
lprint TichVoHuong TaoVector A, H , LayChiDTGiao2MP mp1, mp2 =K ;
1
lprint `Suy ra` ;
pt1 d coeff lhs mp1 , x, 1 $m Ccoeff lhs mp1 , y, 1 $n Ccoeff lhs mp1 , z, 1 $p
Ccoeff coeff coeff lhs mp1 , x, 0 , y, 0 , z, 0 = 0 :
pt2 d coeff lhs mp2 , x, 1 $m Ccoeff lhs mp2 , y, 1 $n Ccoeff lhs mp2 , z, 1 $p
Ccoeff coeff coeff lhs mp2 , x, 0 , y, 0 , z, 0 = 0 :
pt3 d TichVoHuong TaoVector A, H , LayChiDTGiao2MP mp1, mp2 =K :
1
X d solve pt1, pt2, pt3 , m, n, p :
lprint X 1 , X 2 , X 3 ;
lprint Vậy diểm H là rhs X 1 , rhs X 2 , rhs X 3
;
lprint Ta có duong thang cần tìm qua diem A 1 , A 2 , A 3 ;
lprint và VTCP là LayChiDTGiao2MP mp1, mp2 1 , LayChiDTGiao2MP mp1, mp2 2 ,
LayChiDTGiao2MP mp1, mp2 3 ;
print Bài toán trở thành ;

PTDTTS2Diem A, rhs X 1 , rhs X 2 , rhs X 3
;
end proc:
O PTDTTSQua1DiemVuong1DTTSCat1DTGiao2MP dproc A, pt1, pt2, pt3, mp1, mp2
local P, Q :
print Bài tốn viết PTDT qua 1 diểm, vng góc duong thang dạng tham số ;
print và cắt duong thang (duong thang cắt) là giao tuyến của 2 mặt phẳng ;
lprint Yêu cầu bài tốn suy ra phương trình duong thang can tim là giao của mặt phẳng thứ 1
và mặt phẳng thứ 2 ;
lprint trong dó mặt phẳng thứ 1 và thứ 2 xác dinh như sau ;
lprint Ta lập PTMP thứ 1 qua diểm ban dầu và chứa duong thang cắt ;
P d PTMPQua1DiemChua1DTGiao2MP A, mp1, mp2 :
lprint Ta lập PTMP thứ 2 qua diểm ban dầu và vuông duong thang dạng tham số ;
Q d PTMPQua1DiemVuong1DTTS A, pt1, pt2, pt3 :
lprint Phương trình duong thang cần tìm là giao của 2 mặt phẳng sau ;
print P ; print Q ;
lprint PTDTTSGiao2MP P, Q ;
lprint Thử lại ;
lprint Kiểm tra duong thang tim duoc có cắt duong thang giao tuyến 2 mặt phẳng khơng ;
lprint Ta có hiển nhiên 2 duong thang trên dồng phẳng. ;
lprint Vì vậy ta chỉ cần kiểm tra tính cùng phương của 2 duong thang trên ;


KiemTra2VectorCungPhuong TichHuuHuong LayPhapMP P , LayPhapMP Q ,
TichHuuHuong LayPhapMP mp1 , LayPhapMP mp2 ;
end proc:
O




×