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

SKKN TOAN THPT 56

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 (600.43 KB, 95 trang )

<span class='text_page_counter'>(1)</span>SƠ LƯỢC LÝ LỊCH KHOA HỌC. I.. THÔNG TIN CHUNG CÁ NHÂN 1. Họ và tên TRẦN VĂN TOÀN 2. 3. 4. 5. 6.. Ngày tháng năm sinh: 10 – 09 – 1 972 Giới tính: Nam Địa chỉ: 22 tổ 91, khu phố 13, phường Hố Nai, Biên Hoà, Đồng Nai. Điện thoại: 0917907948 Chức vụ: Giáo viên. 7. Đơn vị công tác: Trường THPT chuyên Lương Thế Vinh, Biên Hoà, Đồng Nai. II.. TRÌNH ĐỘ ĐÀO TẠO. . Trình độ chuyên môn cao nhất: Thạc sĩ Toán..  . Năm nhận bằng: 2007 Chuyên ngành đào tạo: Toán Giải tích. III.   . KINH NGHIỆM KHOA HỌC Lĩnh vực chuyên môn có kinh nghiệm: Phần mềm Toán học Số năm có kinh nghiệm: 14 Các sáng kiến kinh nghiệm đã có trong 5 năm gần đây: Cách giải đơn giản cho bài toán quen thuộc (2007 - 2008); Một số cách giải phương trình, bất phương trình (2008 - 2009); Vài dạng bất phương trình có chứa dấu giá trị tuyệt đối (2009 - 2010); Bài tập Mặt cầu (2010 2011). . 1.

<span class='text_page_counter'>(2)</span> SỞ GD&ĐT ĐỒNG NAI Trường THPT Lương Thế Vinh. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc. PHIẾU NHẬN XÉT, ĐÁNH GIÁ ĐỀ TÀI Năm học 2011 2012 Tên đề tài: HÌNH HỌC GIẢI TRONG KHÔNG GIAN VỚI MAPLE Họ và tên tác giả: TRẦN VĂN TOÀN Lĩnh vực: Quản lý giáo dục. Tổ Toán Phương pháp dạy học bộ môn. Phương pháp giáo dục. Lĩnh vực khác . . . . . . . . . . . . . . . . . .. 1. Tính mới  Có giải pháp hoàn toàn mới . Có cải tiến, đổi mới từ giải pháp đã có. 2. Hiệu quả  Hoàn toàn mới và đã triển khai, áp dụng trong toàn ngành có hiệu quả cao   . Có tính cải tiến hoặc đổi mới từ giải pháp đã có và đã triển khai, áp dụng trong toàn ngành có hiệu quả cao Hoàn toàn mới và đã triển khai, áp dụng tại đơn vị có hiệu quả cao Có tính cải tiến hoặc đổi mới từ giải pháp đã có và đã triển khai, áp dụng tại đơn vị có hiệu quả cao. 3. Khả năng áp dụng  Cung cấp các luận cứ khoa học cho việc hoạch định đường lối, chính sách Tốt . Đạt. Đưa ra các giải pháp khuyến nghị có khả năng ứng dụng thực tiễn, dễ thực hiện và dễ đi vào cuộc sống Tốt. . Khá. Khá. Đạt. Đã được áp dụng trong thực tế đạt hiệu quả hoặc có khả năng áp dụng đạt hiệu quả trong phạm vi rộng Tốt. Khá. Đạt. XÁC NHẬN CỦA TỔ CHUYÊN MÔN Tổ trưởng chuyên môn. THỦ TRƯỞNG ĐƠN VỊ (Ký, ghi rõ họ tên và đóng dấu). 2.

<span class='text_page_counter'>(3)</span> LỜI NÓI ĐẦU Ngày nay, với sự trợ giúp của các phần mềm toán học, người giáo viên đã giảm bớt công việc của mình trong việc soạn hệ thống bài tập. Hình học giải tích, nói chung và Hình giải tích trong không gian, nói riêng ngoài việc suy luận ta cần phải tính toán rất nhiều. Maple là phần mềm Toán hỗ trợ cho môn học này rất tốt. Đề tài này được viết cách nay tám năm, nhưng viết dưới dạng đơn giản. Cách đây ít tháng, tôi có tham gia vào diễn đàn Mapleprimes và học hỏi được rất nhiều từ diễn đàn này. Một bài toán lớn, với nhiều bước tính toán, sau khi được viết mã, thì kết quả của nó sẽ được hiển thị bằng một lần bấm Enter. Hơn thế nữa, ta có thể thay thế giả thiết của bài toán một cách tuỳ ý và dễ dàng nhận được đáp số một cách nhanh chóng. Tác giả của đề tài này đã dùng nó để soạn hệ thống bài tập cho cả cuốn sách và thu được kết quả thật tuyệt vời. Nhờ nó, mà đáp số của từng bài toán được soạn gọn hơn. Maple đã được nhiều tác giả viết sách, nhưng viết cho phần Hình học giải tích thì không thấy có sách nào giới thiệu. Ở một số bài toán, đề toán được trích nguyên văn bằng tiếng Anh mà tôi đặt câu hỏi tại diễn đàn Mapleprimes. Chắc chắn không thể có sai sót. Mong quý thầy cô và các em học sinh sửa chữa cho tôi. Đồng Nai, 2012. Trần Văn Toàn. 3.

<span class='text_page_counter'>(4)</span> HÌNH GIAÛI TÍCH TRONG KHOÂNG GIAN Truớc khi làm việc với hình giải tích trong không gian ta phải bắt đầu bằng lệnh with(geom3d); I. VAØI CAÙCH NHAÄP THOÂNG DUÏNG 1) Nhaäp moät ñieåm. Để nhập điểm M(x; y; z), ta nhập như sau: point(M, x, y, z); 2) Nhaäp maët phaúng Để nhập phương trình mặt phẳng P : Ax + By + Cz + D = 0, ta nhập : Plane(P, A*x + B*y + C*z + D = 0, [x, y, z]); 3) Nhập một đường thẳng . a) Nếu phương trình đường thẳng d có dạng tham số ¿ x=x 0 + ta 1 , y= y 0 + ta 2 , z=z 0 + ta 3 . ¿{{ ¿ Khi nhaäp vaøo maple, ta laøm nhö sau: line(d, [x0 + t*a1, y0 + t*a2 , z0 + t*a3], t ); b) Nếu phương trình đường thẳng d có dạng chính tắc x − x0 y − y0 z − z0 = = a1 a2 a3 Giả sử d đi qua điểm M(x0; y0; z0) và có véctơ chỉ phương là nhaäp nhö sau:. →. a =(a1 ; a2 ; a 3) , khi nhaäp vaøo maple, ta. line(d,[point(M, x0; y0; z0),[a1,a2,a3]],t); c) Nếu phương trình đường thẳng d có dạng tổng quát : ¿ a1 x+ b1 y + c1 z+ d 1=0, a2 x+ b2 y+ c 2 z +d 2=0 . ¿{ ¿ d laø giao tuyeán cuûa hai maët phaúng: P1 : a1x + b1y + c1z + d1 = 0 vaø P2 : a2x + b2y + c2z + d2 = 0 khi nhaäp vaøo maple, ta nhaäp nhö sau: [> plane(P1, [a1*x + b1*y + c1*z + d1 = 0 [x, y, z]): plane(P2, [a2*x + b2*y + c2*z + d2 = 0, [x, y, z]): line(d,[P1, p2]; 4.

<span class='text_page_counter'>(5)</span> 4) Khai báo một vectơ khi biết toạ độ hai điểm ta dùng cú pháp sau: dsegment(AB,[A,B]) . Để nhập vectơ u = (x; y; z), ta nhập : u:=([x, y, z]); 5) Tích vô hướng và tích có hướng của hai vectơ. . . Để tính tích vô hướng và tích có hướng của hai vectơ u và v . Trước hết, ta phải mở gói [> with(linalg); Sau đó, ta dùng lệnh : crossprod(u,v); để tính tích có hướng và lệnh dotprod(u,v); để tính tích vô hướng. . . Ví duï : Cho caùc vectô u = (1; 2; 3) vaø v = (3; 5; 7). . Tìm u .. →. v. →. →. vaø [ u , v ]. [> u:=([1,2,3]),v:=([3,5,7]); u := [ 1, 2, 3 ] v := [ 3, 5, 7 ]. [> with(linalg); [> crossprod(u,v); [ -1, 2, -1 ]. [> dotprod(u,v); 34. 6) Moät soá leänh kieåm tra Teân leänh. Cuù phaùp. Chức năng. AreCollinear. AreCollinear(P, Q, R, cond). Kieåm tra tính thaúng haøng cuûa ba ñieåm P, Q, R.. AreConcurrent. AreConcurrent(l1, l2, l3, cond ). Kiểm tra tính đồng quy của ba đường thaúng l1, l2, l3.. *AreCoplanar(A, B, C, D). * Kiểm tra tính đồng phẳng của bốn điểm A, B, C, D.. AreCoplanar. * Kiểm tra tính đồng phẳng của hai đường thaúng l1 vaø l2. *AreCoplanar(l1, l2 ). * AreParallel(l1, l2, cond) * Kiểm tra tính song song của hai đường thaúng l1, l2. * Kiểm tra tính song song của đường thaúng l1 vaø maët phaúng P1.. * AreParallel(l1, p1, cond) 5.

<span class='text_page_counter'>(6)</span> Kieåm tra tính song song cuûa hai maët phaúng p1 vaø p2. *. AreParallel. * AreParallel(p1, p2, cond). * ArePerpendicular(l1, l2, cond). ArePerpendicular. * Kiểm tra tính vuông góc của hai đường thaúng l1, l2. * Kiểm tra tính vuông góc của đường thaúng l1 vaø maët phaúng p1. *ArePerpendicular(l1, p1, cond). * Kieåm tra tính vuoâng goùc cuûa hai maët phaúng p1 vaø p2 .. * ArePerpendicular(p1, p2, cond). IsEquilateral. IsEquilateral(ABC, cond ). IsOnObject(f, obj, cond). Kiểm tra xem điểm hoặc tập hợp điểm f có thuộc obj hay không ? Trong đó, obj có thể là đường thẳng, mặt phẳng hay mặt caàu.. IsRightTriangle(ABC, cond ). Kieåm tra tính vuoâng goùc cuûa tam giaùc ABC.. IsOnObject IsRightTriangle. Xét xem tam giác ABC có đều hay khoâng ?. MAËT PHAÚNG plane(p, [A, dseg1]) plane(p, [dseg1, dseg2]) Một mặt phẳng trong Maple có thể được khai báo với cú pháp và chức năng như sau: Cuù phaùp plane(P, [A, v] ) plane(p, [A, dseg1]). Chức năng Khai baùo P laø maët phaúng ñi qua ñieåm A vaø coù phaùp vectô laø v. Khai báo P là mặt phẳng đi qua điểm A và có đoạn thẳng định hướng 1. 6.

<span class='text_page_counter'>(7)</span> plane(p, [dseg1, dseg2]) plane(P, [l1, l2] ). Khai báo P là mặt phẳng đi qua điểm A và có hai đoạn thẳng định hướng dseg1 và dseg2 Khai báo P là mặt phẳng đi qua hai đường thẳng l1 và l2.. plane(P, [A, B, C] ). Khai baùo P laø maët phaúng ñi qua ba ñieåm A, B, C.. plane(P, [A, l1, l2] ). Khai báo P là mặt phẳng đi qua điểm A và song song với hai đường thẳng l1 và l2.. Plane(P,a*x + b*y +c*z + d = 0,[x, y, z]. Khai baùo P laø maët phaúng coù phöông trình a*x + b*y +c*z + d = 0.. Parallel(P, M, alpha). Khai báo P là mặt phẳng đi qua điểm M và song song với mặt phaúng alpha.. Parallel(P, M, l). Khai báo P là mặt phẳng đi qua điểm M và song song với đường thaúng l.. Parallel(P, l1, l2). Khai báo P là mặt phẳng chứa đường thẳng l1 và song song với đường thẳng l2.. parallel(w, u, v) Parameters w - name of the object to be created u - point or a line v - line or plane; v can be a plane only if u is a point Description  If u is a point and v is a line (or plane), the parallel(w, u, v) function defines w as the line (or plane) that passes through u and is parallel to v.  If u is a line, and v is a line, the parallel(w, u, v) function defines w as the plane that contains u and is parallel to v. Moät vaøi caùch xaùc ñònh vector phaùp tuyeán cuûa maët phaúng: 1. Cho maët phaúng (P) coù phöông trình ax + by + cz + d = 0. vector phaùp tuyeán cuûa (P) xaùc ñònh baèng leänh > NormalVector(P); 2. Mặt phẳng (P) vuông góc với đường thẳng đi qua hai điểm A, B. Thì vector pháp tuyến của (P) là vector chỉ phương của đường thẳng AB. Để xác định vector chỉ phương của đường thẳng có teân laø AB, ta duøng leänh > ParallelVector(AB); Ví du 1. Viết phương trình tham số của đường thẳng AB và phương trình của mặt phẳng đi qua điểm A vaø nhaän vector AB laøm vector phaùp tuyeán. > point(A,1,2,3); 7.

<span class='text_page_counter'>(8)</span> A. > point(B,4,5,6); B. > v:=dsegment(AB,[A,B]); v := AB. > line(Delta,[A,v],t); . > Equation(Delta); [ 1 3 t, 2 3 t, 3 3 t]. > plane(P,[A,v]); P. > Equation(P,[x,y,z]);  18 3 x 3 y 3 z 0. Ví dụ 2. Viết phương trình của mặt phẳng đi qua điểm M0(1; – 2; 1) và vuông góc với đường thẳng ¿ x − 2 y + z −3=0, x + y − z +2=0 . ¿{ ¿ Chú ý rằng vector chỉ phương của đường thẳng là vector pháp tuyến của mặt phẳng. Lệnh [>ParallelVector(D); để xác định vectơ chỉ phương của đường thẳng D. [> plane(P1, x-2*y + z - 3 = 0, [x, y, z]); [> plane(P2, x + y – z + 2 = 0, [x, y, z]), point(M0,1,-2,1); P1, P2, M0 [> line(D, [P1, P2]); D. [> v:=ParallelVector(D); v := [ 1, 2, 3 ]. [> Equation(plane(P, [M0, v], [x, y, z])); x 2 y 3 z 0. Ví duï 3: Vieát phöông trình cuûa maët phaúng ñi qua ba ñieåm A(3; – 1; 2), B(4; – 1; – 1) vaø C(2; 0; 2). [> point(A, 3, -1, 2), point(B, 4, -1, -1), point(C, 2, 0, 2); 8.

<span class='text_page_counter'>(9)</span> A, B, C. [> plane(ABC,[A,B,C],[x,y,z]); ABC. [> Equation(ABC);  8 3 x 3 y z 0. Ví dụ 4 :Viết phương trình của mặt phẳng đi qua đường thẳng. và song song với đường thẳng. ¿ x=3t +1, y=2 t+ 3, z=− t −2 ¿{{ ¿. ¿ 2 x − y + z − 3=0, x+ 2 y − z −5=0. ¿{ ¿ ÑS. 13x – 14y + 11z + 51 = 0.. [> line(L1,[3*t+1,2*t+3,-t-2],t): plane(P1,2*x-y+z-3=0,[x,y,z]): plane(P2,x+2*y-z-5=0,[x,y,z]): line(L2,[P1,P2]): parallel(P,L1,L2): Equation(P); Ví dụ 5. Viết phương trình của mặt phẳng đi qua điểm M1(1; 2; – 3) và song song với các đường thaúng. x −1 y+ 1 z −7 x+ 5 y −2 z +3 = = , = = 2 −3 3 3 −2 −1 ÑS. 9x + 11y + 5z – 16 = 0.. [> line(D1, [point(A, 1, -1, 7), [2,-3,3]]); [> line(D2, [point(B, -5, 2, -3), [3,-2,-1]]); [> point(M1, 1, 2, -3); D1, D2, M1. [> plane(P, [M1, D1, D2]); P. [> Equation(P, x, y, z]);  16 9 x 11 y 5 z 0. 9.

<span class='text_page_counter'>(10)</span> Ví dụ 6: Chứng minh rằng bốn điểm A(1; 2; – 1), B(0; 1; 5), C(–1; 2 ; 1), D(2; 1; 3) nằm trên cùng maët phaúng. Prove that the four points A(1; 2; – 1), B(0; 1; 5), C(–1; 2 ; 1), D(2; 1; 3) lies in the same plane. * Caùch 1: [> point(A, 1, 2, -1), point(B, 0, 1, 5), point(C, -1, 2, 1), point(D, 2, 1, 3); A, B, C, D [> AreCoplanar(A,B,C,D); true. * Caùch 2: [> point(A,1,2,-1), point(B,0,1,5), point(C,-1,2,1), point(D,2,1,3); A, B, C, D [> plane(P,[A,B,C],[x,y,z]); P. [> Equation(P); 202 x10 y2 z 0. [> IsOnObject(D,P); true. Lệnh IsOnObject(D, P) ; để kiểm tra xem điểm P có nằm trên mặt phẳng P hay không ? Ví duï 7 : Xaùc ñònh caùc giaù trò cuûa l vaø m deå hai maët phaúng coù phöông trình sau laø song song nhau: mx + 3y – 2z – 1 = 0,. 2x – 5y – lz = 0.. [> plane(P1,m*x+3*y-2*z-1=0,[x,y,z]),plane(P2,2*x-5*y-l*z=0,[x,y,z]); P1 , P2 [> AreParallel(P1,P2,'cond'); FAIL. [> cond; &and (  3 l10 0,  4 m l 0,  5 m6 0). [> solve({-3*l-10 = 0,-4+m*l = 0,-5*m-6 = 0},{m,l}); -6 -10 { m , l } 5 3 Ví dụ 8. Viết phương trình mặt phẳng đi qua điểm A(1,2,3) và vuông góc với hai mặt phẳng (P1): x+ y + z – 1 = 0 vaø (P2): 2x + 3y + 4z - 1 = 0 1.

<span class='text_page_counter'>(11)</span> [> point(A, 1, 2, 3 ); A. [> plane(P1, x+ y + z - 1 = 0, [x, y, z]); P1. [> plane(P2, 2*x + 3*y + 4*z - 1 = 0,[x,y,z]); P2. [> v1:= NormalVector(P1); v1 := [ 1, 1, 1 ]. [> v2:= NormalVector(P2); v2 := [ 2, 3, 4 ]. [> with(linalg); [> v:=crossprod(v1,v2); v := [ 1, -2, 1 ]. [> plane(P,[A,v],[x,y,z]); P. [> Equation(P); x2 y z 0. Ví dụ 9. Viết phương trình mặt phẳng đi qua hai điểm A(1, 2, 3), B(-2,5,6) và vuông góc với mặt phaúng alpha: x - y + z - 1 = 0. > restart; with(geom3d); > point(A, 1, 2, 3); A. > point(B,-2,5,6); B. > line(AB, [A,B],t); AB. > a:=ParallelVector(AB); a := [ -3, 3, 3 ]. > plane(alpha, x - y + z - 1 = 0,[x,y,z]);  1.

<span class='text_page_counter'>(12)</span> > n:=NormalVector(alpha); n := [ 1, -1, 1 ]. > with(linalg); > v:=crossprod(a,n); v := [ 6, 6, 0 ]. > plane(P,[A,v],[x,y,z]); P. > Equation(P);  186 x 6 y 0. ĐƯỜNG THẲNG Maple cho phép khai báo đường thẳng theo các cách sau: Cuù phaùp. Chức năng. line(l, [A, B] ). Khai báo đường thẳng l đi qua hai điểm A và B.. line(l, [A, u] ). Khai báo đường thẳng l đi qua điểm A và có VTCP là u .. line(l, [A, p1] ). Khai báo đường thẳng l đi qua điểm A và vuông góc với mặt phẳng p1.. line(l, [p1, p2] ). Khai baùo l laø giao tuyeán cuûa hai maët phaúng p1 vaø p2.. →. line(l, [a1+b1*t, a2+b2*t, a3+b3*t ], t). Khai báo đường thẳng l là đường thẳng có phương trình tham số x = a1+b1*t, y = a2+b2*t, z = a3+b3*t. parallel(l, A, d). Khai báo đường thẳng l đi qua điểm A song song với đường thẳng d.. Ví dụ 1 : Viết phương trình đường thẳng đi qua hai điểm A(3; – 1; 2) và B(4; – 1; –1). [> point(A,3,-1,2),point(B,4,-1,-1),line(l,[A,B]); A, B, l [> Equation(l,t); [ 3 t, -1, 23 t ]. 1.

<span class='text_page_counter'>(13)</span> Chú ý: Đáp số cho phương trình tham số của đường thẳng l là. ¿ x =3+t , y=− 1, z=2 −3 t . ¿{{ ¿. Ví dụ 2: Viết phương trình đường thẳng đi qua M(5; – 2; 3) và vuông góc với mặt phẳng 2x – 3y + z – 1=0 [> point(M,5,-2,3),plane(P,2*x-3*y+z-1=0,[x,y,z]); M, P [> Equation(line(l, [M,P])); enter name of the independent variable > t; [ 5 2 t,  23 t, 3 t] Ví dụ 3: Viết phương trình chính tắc của đường thẳng : 2 x  3y  4 z  5 0,  5 x  4 y  4 z  5 0. [> plane(P1,2*x-3*y+4*z-5=0, [x,y,z]), plane(P2,5*x+4*y-4*z+5=0,[x,y,z]), line(D,[P1,P2]); P1, P2, D [> Equation(D); enter name of the independent variable > t;  5 4 t,  35 28 t, 23 t   23 23   [> FixedPoint(M,D); M. [> coordinates(M);  5 , -35, 0     23 23 . Chú ý: Lệnh FixedPoint(M,D); cho ta một điểm M cố định thuộc đường thẳng đã cho. Ví dụ 4 : Viết phương trình đường cao AH của tam giác ABC với A(2; – 3; 4), B(3; 2; 7) và C( – 2; 5; 5). [> with(geom3d); [> triangle(ABC,[point(A,2,-3,4),point(B,3,2,7), point(C,-2,5,5)]), altitude(AH,A,ABC); ABC, AH [> Equation(AH,t); 1.

<span class='text_page_counter'>(14)</span> 29 89 61  2 t,  3 t, 4 t   19 19 19  . KHOẢNG CÁCH Trong Maple cho phép tính các khoảng cách sau:. Cuù phaùp. Chức năng. distance(A, B). Tính khoảng cách giữa hai điểm A và B.. distance(l1, l2). Tính khoảng cách giữa hai đường thẳng l1 và l2.. distance(p1, p2). Tính khoảng cách giữa hai mặt phẳng p1 và p2.. distance(A, p1). Tính khoảng cách từ điểm A đến mặt phẳng p1.. distance(A, l1). Tính khoảng cách từ điểm A đến đường thẳng l1.. distance(l1, p1). Tính khoảng cách giữa đường thẳng l1 và mặt phaúng p1.. Ví duï : Cho caùc ñieåm A(1; 2; 3), B( – 1; 4; -7); caùc maët phaúng P : 2x + 3y – 9z + 1 = 0 vaø Q : 2x + 3y – 9z + 9 = 0. và đường thẳng l :.  x 3t  1,   y 4t  6,  z  t. . Tính : 1) Khoảng cách giữa hai điểm A và B. 2) Khoảng cách từ điểm A đến mặt phẳng P. 3) Khoảng cách từ điểm B đến đường thẳng l. 4) Khoảng cách giữa hai đường thẳng AB và l. 5) Khoảng cách giữa hai mặt phẳng P và Q. 6) Khoảng cách giữa đường thẳng AB và mặt phẳng Q. 1.

<span class='text_page_counter'>(15)</span> [> point(A,1,2,3), point(B,-1,4,-7),plane(P,2*x+3*y-9*z+1=0,[x,y,z]),line(l,[3*t-1,4*t+6,t],t),plane(Q,2*x+3*y-9*z+9=0,[x,y,z]); A, B, P, l, Q [> distance(A,B); 6 3 [> distance(A,P); 9 94 47 [> distance(B,l); 9 17 26. 26. [> line(AB,[A,B]); AB. [> Equation(AB,t); [ 12 t, 2 2 t, 310 t ]. [> distance(AB,l); 27 74 74 [> distance(P,Q); 4 94 47. [> distance(AB, Q); Error,(in geom3d/distancelp)the line and plane intersect Lưu ý : Đường thẳng AB và mặt phẳng Q cắt nhau. HÌNH CHIẾU VAØ ĐỐI XỨNG. Vấn đề. HÌNH CHIEÁU. Cuù phaùp. Chức năng. projection(Q, A, l ). Tìm hình chiếu Q của điểm A lên đường thẳng l.. projection(Q, A, P). Tìm hình chieáu Q cuûa ñieåm A leân maët phaúng P. projection(Q, l, P). Tìm hình chiếu Q của đường thẳng l lên mặt phẳng P.. 1.

<span class='text_page_counter'>(16)</span> Q - the name of the object to be created P - a geometric object ĐỐI XỨNG. reflection(Q, P, c ). c - a point, a line, or a plane. Ví dụ 1 : Tìm hình chiếu Q của điểm P(2; –1; 3) lên đường thẳng ¿ x=3 t , y=− 7+5 t , D: z=t . ¿{{ ¿ [> with(geom3d); [> point(P,2,-1,3),line(D,[3*t,-7+5*t,2+2*t],t); P, D. [> projection(Q,P,D); Q. [> coordinates(Q); [ 3, -2, 4 ]. Ví duï 2 .Tìm hình chieáu H cuûa ñieåm P(5; 2; –1) leân maët phaúng Q: 2x – y + 3z + 23 = 0 [> with(geom3d); [> point(P,5,2,-1), plane(Q,2*x- y+3*z+23=0,[x,y,z]); P, Q [> projection(H,P,Q); H. [> coordinates(H); [ 1, 4, -7 ]. Ví dụ 3 . Tìm hình chiếu của điểm C(3; – 4; – 2) trên mặt phẳng đi qua hai đường thẳng song song x −5 y − 6 z+ 3 x −2 y − 3 z+3 = = , = = 13 1 −4 13 1 −4 [> point(C,3,-4,-2),line(D1,[point(M,5,6,-3),[13,1,-4]]),line(D2,[point(N,2,3,-3),[13,1,-4]]),plane(P, [D1,D2],[x,y,z]); C, D1, D2, P 1.

<span class='text_page_counter'>(17)</span> [> Equation(P); 120 12 x12 y 36 z 0. [> projection(H,C,P); H. [> coordinates(H); [ 2, -3, -5 ]. ¿ 5 x − 4 y −2 z −5=0, x +2 z − 2=0 Ví dụ 4 . Tìm hình chiếu của đường thẳng ¿{ ¿ leân maët phaúng 2x – y + z – 1 = 0. Giaûi : [> plane(p1,5*x-4*y-2*z-5=0,[x,y,z]), plane(p2,x+2*z-2=0,[x,y,z]),line(l,[p1,p2]); p1, p2, l [> plane(Q,2*x-y+z-1=0,[x,y,z]); Q. [> projection(R,l,Q); R. [> Equation(R,t);  178 t, 3712 t,  7  4 t   12 24 24  Ví dụ 5 .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). Giaûi [> point(M2,8,-9),point(A,3,-4),point(B,-1,-2); M2, A, B [> line(AB,[A,B],[x,y]); AB. [> Equation(AB);  102 x4 y 0. [> reflection(M1,M2,AB); M1. [> coordinates(M1); 1.

<span class='text_page_counter'>(18)</span> [ 10, -5 ]. Ví dụ 6 .Tìm điểm Q đối xứng với điểm P( 4; 1; 6) qua đường thẳng ¿ x − y − 4 z +12=0, 2 x+ y −2 z +3=0. ¿{ ¿ [> with(geom3d); [>point(P,4,1,6),plane(P1,x-y-4*z+12=0,[x,y,z]),plane(P2,2*x+y-2*z+3=0,[x,y,z]); P, P1, P2 [> line(l,[P1,P2]); l. [> reflection(Q,P,l); Q. [> coordinates(Q); [ 2, -3, 2 ]. Ví dụ 7. Tìm điểm Q đối xứng với điểm P( 2; –5; 7) qua đường thẳng đi qua hai điểm M1( 5; 4; 6) và M2( – 2; – 17; – 8). [>point(P,2,-5,7),point(M1,5,4,6),point(M2,-2,-17,-8),line(M1M2,[M1,M2]); P, M1, M2, M1M2 [> reflection(Q,P,l); Q. [> coordinates(Q); [ 8, -1, 3 ]. Ví dụ 8. Tìm điểm Q đối xứng với điểm P(1; 3; –4) qua mặt phẳng 3x + y – 2z = 0. [> point(P,1,3,-4),plane(anpha,3*x+y-2*z=0,[x,y,z]); P, anpha [> reflection(Q,P,anpha); Q. [> coordinates(Q); [ -5, 1, 0 ]. 1.

<span class='text_page_counter'>(19)</span> Ví dụ 9. Tìm điểm Q đối xứng với điểm P(3; –4; –6) qua mặt phẳng đi qua các điểm M1( –6; 1; –5), M2(7; –2; –1), M3(10; –7; 1). [> point(P,3,-4,-6), point(M1,-6,1,-5), point(M2,7,-2,-1), point(M3,10,-7,1), plane(anpha, [M1, M2, M3], [x,y,z]); P, M1, M2, M3, anpha. [> reflection(Q,P,anpha); Q. [> coordinates(Q); [ 1, -2, 2 ]. [> detail(anpha); name of the object: anpha form of the object: plane3d equation of the plane: -182+14*x-14*y-56*z = 0 Ví dụ10 . Tìm điểm Q đối xứng với điểm P(–3; 2 ; 5) qua mặt phẳng đi qua các đường thẳng ¿ x − 2 y+3 z −5=0, x − 2 y − 4 z +3=0 ; ¿ 3 x+ y+ 3 z +7=0, 5 x −3 y +2 z+ 5=0 . ¿{ ¿ [> point(P,-3,2,5), plane(P1,x-2*y+3*z-5=0, [x,y,z]), plane(P2,x-2*y-4*z+3=0, [x,y,z]), plane(P3,3*x+y+3*z+7=0, [x,y,z]), plane(P4, 5*x-3*y+2*z+5=0, [x,y,z]), line(L1, [P1, P2]), line(L2, [P3,P4]); P, P1 , P2 , P3, P4 , L1, L2 [> plane(anpha,[L1,L2],[x,y,z]); anpha. [> Equation(anpha); 9898 x 196 y 49 z 0. [> reflection(Q,P,anpha); Q. [> coordinates(Q); [ 1, -6, 3 ]. 1.

<span class='text_page_counter'>(20)</span> GOÙC. Cuù phaùp. Chức năng. FindAngle(l1, l2). Tìm góc của hai đường thẳng l1 và l2.. FindAngle(p1, p2). Tìm goùc cuûa hai maët phaúng p1 vaø p2.. FindAngle(l1, p1). Tìm góc của đường thẳng l1 và mặt phẳng p1.. FindAngle(A, T). Tìm số đo góc trong ở đỉnh A của tam giác T.. > assume(a<>0, b<>0, c<>0); > point(P, [a, b, c]): > point(o, 0, 0, 0), point(X, 1, 0, 0), point(Y, 0, 1, 0), point(Z, 0, 0, 1): > plane(oxz, [o, X, Z]), plane(oxy, [o, X, Y]): > projection(M, P, oxz): projection(N,P,oxy): > plane(p,[o,M,N]); > Equation(p,[x,y,z]);. > line(OP, [o,P]): > FindAngle(OP,p); Ví dụ 1 : Tìm góc tạo bởi hai đường thẳng: ( Find the acute angle between the lines: ) x −3 y +2 z x+ 2 y −3 z +5 = = , = = . 1 − 1 √2 1 1 √2 [> with(geom3d); [> line(D1, [point(M,3,-2,0), [1,-1,sqrt(2)]]); D1. [> line(D2, [point(N,-2,3,-5),[1,1,sqrt(2)]]); D2. [> FindAngle(D1,D2); 1  3 Ví dụ 2 : Xác định cosin của góc giữa các đường thẳng: 2. (ÑS. 600).

<span class='text_page_counter'>(21)</span> ¿ x − y − 4 z −5=0, 2 x+ y −2 z − 4=0 ; ¿ x − 6 y − 6 z+2=0, 2 x +2 y +9 z − 1=0 . ¿{ ¿ (ÑS. cos ϕ=. 4 ) 21. [> plane(p1,x-y-4*z-5=0,[x,y,z]),plane(p2,2*x+y-2*z-4=0,[x,y,z]),line(L1,[p1,p2]); p1, p2, L1 [> plane(p3,x-6*y-6*z+2=0, [x,y,z]),plane(p4,2*x+2*y+9*z-1=0,[x,y,z]),line(L2,[p3,p4]); p3, p4, L2 [> FindAngle(L1, L2); 4 arccos    21 . Ví dụ 3 : Tính góc tạo bởi đường thẳng D.  x 2t  1,   y 3t  2,  z  t  5. . vaø maët phaúng P : 4x + y – 7z – 1 = 0. [> line(D,[2*t - 1,3*t+2,-t+5],t),plane(P,4*x+y-7*z-1=0,[x,y,z]); D, P [> FindAngle(D,P); 3 arcsin 231  77  . Ví dụ 4 . Cho tam giác ABC với A(1; 2; – 4), B( – 3; – 4; 0), C( – 7; 6; 3). Tính số đo góc trong của goùc A. [>point(A,1,2,-4), point(B,-3,-4,0), point(C,-7,6,3), triangle(ABC,[A,B,C]); A, B, C, ABC [> FindAngle(A, ABC); 6 arccos  17  731. 129  . DIỆN TÍCH CỦA TAM GIÁC – THỂ TÍCH TỨ DIỆN. Cuù phaùp. Chức năng. Chuù yù. area(ABC). Tính dieän tích cuûa tam giaùc ABC.. Trước hết phải khai báo tam giác ABC bằng. 2.

<span class='text_page_counter'>(22)</span> leänh: triangle (ABC, [A, B, C]) volume(ABCD). Tính thể tích tứ diện ABCD.. Trước hết phải khai báo tứ diện ABCD bằng leänh : gtetrahedron(ABCD, [A, B, C, D]). Ví duï 1: Cho caùc ñieåm : A( – 2; 4; 5), B(0; 1; – 1), C(1; 3; – 6), vaø D(0; – 1; 4). a) Tính dieän tích cuûa tam giaùc ABC; b) Tính thể tích tứ diện ABCD.. a) [> point(A,-2,4,5),point(B,0,1,-1),point(C,1,3,-6),point(D,0,-1,4),triangle(ABC,[A,B,C]); A, B, C, D, ABC [> area(ABC); 1 794 2 b) [> gtetrahedron(ABCD,[A,B,C,D]); ABCD. [> volume(ABCD); 9 2 VD 2. Một tứ diện có thể tích là v = 5, có ba đỉnh là các điểm A(2; 1; – 1), B(3; 0 ; 1), C(2; – 1; 3); đỉnh thứ tư D nằm trên trục Oy. Tìm toạ độ đỉnh D. [> point(A,2,1,-1), point(B,3,0,1), point(C,2,-1,3), point(D,0,m,0); A, B, C, D [> AreCoplanar(A,B,C,D); FAIL. [> plane(P,[A,B,C],[x,y,z]); P. [> IsOnObject(D,P,'cond'); geom3d/onobjps: "hint: unable to determine if 2-4*m is zero" FAIL [> cond; 24 m 0 2.

<span class='text_page_counter'>(23)</span> [> solve(2-4*m = 0,{m}); 1 { m} 2. [> assume(m<>1/2):gtetrahedron(ABCD, [A,B,C,D]); ABCD [> v:=volume(ABCD); 1 2 v :=   m~ 3 3. [> solve(abs(-1/3+2/3*m)=5,{m}); { m~ 8 }, { m~ -7 }. * Löu yù: a) Nếu ta gọi D(0, m, 0) là toạ độ của điểm D, thì trước hết, ta phải tìm điều kiện để cho bốn điểm A, B, C, D là bốn đỉnh của một tứ diện. b) Lệnh AreCoplanar(A,B,C,D);không kiểm tra được tính đồng phẳng của bốn điểm A, B, C, D.. MAËT CAÀU I) Caùch khai baùo maët caàu trong Maple 1) Neáu phöông trình maët caàu S, taâm I(a; b; c) coù daïng : x2 + y2 + z2 – 2ax – 2by – 2cz + d = 0 thì ta khai baùo: [>sphere(S, x^2 + y^2 + z^2 – 2*a*x – 2*b*y – 2*c*z + d = 0, [x, y, z], ‘centername’= I); 2) Neáu phöông trình maët caàu S, taâm I coù daïng : (x – a)2 + ( y – b)2 + ( z – c)2 = R2 thì ta khai baùo: [>sphere(S, (x – a)^2 + ( y – b)^ 2 + (z - c)^2 = R^2, [x, y, z], ‘centername’= I);. II) Lập phương trình mặt cầu thỏa điều kiện cho trước. Maple cho pheùp laäp phöông trình maët caàu thoûa moät trong caùc ñieàu kieän sau:. Cuù phaùp. Chức năng 2.

<span class='text_page_counter'>(24)</span> sphere(S, [A, B, C, D], [x, y, z], Khai baùo S laø maët caàu ñi qua boán ñieåm A, B, C, D coù taâm m. 'centername'= m ) sphere(S, [A, B], 'centername' = m). [x,. y,. z], Khai báo S là mặt cầu nhận AB làm đường kính với tâm m.. sphere(S, [A, R], [x, y, z]);. Khai baùo S laø maët caàu taâm A, baùn kính R.. sphere(S, [A, P], [x, y, z]);. Khai báo S là mặt cầu tâm A tiếp xúc với mặt phẳng P.. Sphere(S, phuongtrinh S, [x ,y, z]);. Khai báo S là mặt cầu tâm cầu có phuongtrinh cho trước.. Chuù yù: Sau khi khai baùo S,  Để viết phương trình của S, ta dùng lệnh Equation(S);  Để tìm toạ độ tâm m của S, ta dùng lệnh coordinates(m);  Để tìm bán kính của S, ta dùng lệnh radius(S);  Ta cuõng coù theå xem chi tieát veà S baèng caùch duøng leänh detail(S);  Nếu không cần để ý tới tâm m thì ta có thể bỏ 'centername'= m khi khai báo.  Ta cuõng coù theå loàng leänh Equation trong khi khai baùo, chaúng haïn : Equation(sphere(S, [A, B, C, D], [x, y, z] , 'centername'= m ); Khi đó, Maple sẽ viết phương trình mặt cầu đi qua bốn điểm A, B, C, D có tâm m. Ví duï : Cho boán ñieåm A(3; – 2; – 2), B(3; 2; 0), C(0; 2; 1), D( – 1; 1; 2). Vieát phöông trình maët caàu : a) Ñi qua boán ñieåm A, B, C, D; b) Tâm A và tiếp xúcvới mặt phẳng (BCD); c) Đường kính AB; d) Tâm D và tiếp xúc với đường thẳng BC. a)[>point(A,3,-2,-2), point(B,3,2,0), point(C,0,2,1), point(D,-1,1,2); A, B, C, D [> Equation(sphere(S, [A,B,C,D], [x,y,z])); 24 15 16 x 2 y 2 z27 x y z 0 7 7 7. b) [> plane(BCD, [B,C,D],[x,y,z]); BCD. [> Equation(sphere(S, [A, BCD], [x, y, z])); 2.

<span class='text_page_counter'>(25)</span> x 2 y 2 z 2 3 6 x 4 y 4 z 0. c) [> Equation(sphere(S, [A,B], [x, y, z])); x 2 y 2 z2 5 6 x 2 z 0. d) [> line(BC, [B,C]); BC. [> R:=distance(D, BC); R :=. 1 14 10. 10. [> Equation(sphere(S, [D, R],[x, y, z])); 23 x 2 y 2 z2  2 x2 y4 z 0 5. Chuù yù: Trong caâu d)  Ở dòng lệnh thứ nhất, ta khai báo BC là đường thẳng qua hai điểm B và C.  Ở dòng lệnh thứ hai, ta gán R là khoảng cách từ điểm D đến đường thẳng BC. Viết phương trình mặt cầu đi qua bốn điểm A, B, C, D. > assume(a,real,a<>0,b,real,b<>0,c,real,c<>0): point(o,0,0,0), point(A,a,0,0), point(B,0,b,0), point(C,0,0,c): sphere(s,[o,A,B,C]); III. Phương tích của một điểm đối với mặt cầu. Để tính phương tích của điểm P đối với mặt cầu S (The power of point P with respect to sphere S), ta duøng leänh : Powerps(P, S); Ví duï: Cho maët caàu S : x2 + y2 + z2 – 2x – 4y + 6z – 25 = 0 vaø caùc ñieåm : A(1; 2; 0), B(n; n – 3; – 4), C(– m; 2; 4) a) Tìm phương tích của điểm A đối với mặt cầu S; b) Tìm n để điểm B ở trong mặt cầu S; c) Chứng minh rằng điểm C luôn ở ngoài mặt cầu  m  R. a [> powerps(A,S); -30. b) [> point(B,n, n-3,-4); 2.

<span class='text_page_counter'>(26)</span> B. [> powerps(B,S);  1212 n 2 n2. [> solve(-12-12*n+2*n^2<0,{n}); { 3 15  n, n 3 15 } c) [> powerps(C,S); 11 2 m m2. Do m2 + 2m + 11 = (m + 1)2 + 10 > 0,  m neân coù ÑPCM IV. Tieáp dieän cuûa maët caàu * Loại 1: Tiếp diện tại một điểm thuộc mặt cầu Để khai báo tiếp diện của mặt cầu S tại điểm P, ta nhập : TangentPlane( teân tieáp dieän, P, S); Ví duï1: Vieát phöông trình tieáp dieän cuûa maët caàu x2 + y2 + z2 = 49 taïi ñieåm M(6; – 3; – 2). [>sphere(S, x^2 + y^2 + z^2 = 49,[x, y, z]), point(M, 6, -3, -2); S, M [> TangentPlane(P,M,S); P. [> Equation(P,[x,y,z]); 496 x 3 y 2 z 0. Ví dụ 2: Tìm phương trình của mặt phẳng tiếp xúc với mặt cầu (x – 3)2 + (y – 1)2 + ( z + 2)2 = 24 taïi ñieåm M1( – 1; 3; 0). Find the equation of the tangent plane to the sphere (x – 3)2 + (y – 1)2 + ( z + 2)2 = 24 at the point M1( – 1; 3; 0). ( ÑS. 2x – y – z + 5 = 0 ). [> sphere(S, (x-3)^2 + (y-1)^2 + (z+2)^2 = 24, [x, y, z]), point(M1, -1, 3, 0); S, M1 [> TangentPlane(P, M1, S); P. [> Equation(P,[x, y, z]); 10 4 x2 y2 z 0 2.

<span class='text_page_counter'>(27)</span> * Loại 2 : Tiếp diện song song hoặc vuông góc với một mặt phẳng cho trước 1116. Viết phương trình của các mặt phẳng tiếp xúc với mặt cầu (x – 3)2 + (y+ 2)2 + ( z – 1)2 = 25 và song song với mặt phẳng 4x + 3z – 17 = 0. [> plane(P, 4*x + 3*z – 17 = 0, [x, y, z]), sphere(S,(x-3)^2+(y+2)^2+(z-1)^2=25,[x,y,z]); P, S [> assume( m <>-17); [> plane(P1, 4*x + 3*z + m = 0,[x,y,z]); P1. [> IsTangent(P1,S,'cond'); IsTangent: "unable to determine if 5-1/5*abs(15+m) is zero" FAIL [> solve(5-1/5*abs(15+m)=0,{m}); { m~ 10 }, { m~ -40 }. 1117. Viết phương trình của các mặt phẳng tiếp xúc với mặt cầu x2 + y2 + z2 – 10x + 2y + 26z – 113 = 0 và song song với các đường thẳng x +5 y − 1 z +13 x +7 y+ 1 z −8 = = , = = . 2 −3 2 3 −2 0 ÑS. 4x + 6y + 5z – 103 = 0, 4x + 6y + 5z + 205 = 0. [> line(L1, [point(M1,-5,1,-13),[2,-3,2]]), line(L2,[point(M2,-7,-1,8),[3,-2,0]]); L1, L2 [> sphere(S,x^2+y^2+z^2-10*x+2*y+26*z-113,[x,y,z]); S [> plane(P,[L1, L2]); P. [> Equation(P); 79 4 x 6 y 5 z 0. [> plane(Q,4*x+6*y+5*z+m=0,[x,y,z]); Q. [> IsTangent(Q,S,'cond'); 2.

<span class='text_page_counter'>(28)</span> IsTangent: "unable to determine if 2*77^(1/2)-1/77*abs(-51+m)*77^(1/2) is zero" FAIL [> solve(2*77^(1/2)-1/77*abs(-51+m)*77^(1/2)=0,{m}); { m~ 205 }, { m~ -103 } leänh intersection. Cuù phaùp. Chức năng. intersection(obj, l1, l2). Tìm toạ độ giao điểm của hai đường thẳng l1 và l2.. intersection(obj, l1, p1). Tìm toạ độ giao điểm của đường thẳng l1 và mặt phẳng P1.. intersection(obj, l1, S). Tìm toạ độ giao điểm của đường thẳng l1 và mặt cầu S.. intersection(obj, p1, p2). intersection(obj, p1, p2, p3 ). Tìm giao tuyeán cuûa hai maët phaúng p1 vaø p2.. Tìm toạ độ giao điểm của ba mặt phẳng p1, p2, p3.. Ví dụ : Cho hai đường thẳng :. l1 :.  x t  5,   y  4t  1,  z t  4. . l2 :.  x t  5,   y  4t  1,  z t  4. . Cho maët phaúng P : 2x + 4y – 2 = 0 vaø maët caàu S : x2 + y2 + z2 = 25. Tìm toạ độ giao điểm của: a) l1 vaø l2; b) l1 vaø P; c) l1 vaø S. [> line(l1,[2*t-3,3*t-2,-4*t+6],t),line(l2,[t+5,-4*t-1,t-4],t); l1, l2 [> intersection(gd1,l1,l2); gd1. [> coordinates(gd1); [ 3, 7, -6 ] 2.

<span class='text_page_counter'>(29)</span> [> plane(P,2*x + 4*y - 2 = 0,[x,y,z]); P. [> coordinates(intersection(gd2,l1,P)); [ -1, 1, 2 ]. [> sphere(S,x^2+y^2+z^2-3*z=25,[x,y,z]); S. [> intersection(gd3,l1,S); Error, (in intersection) wrong number/type of arguments [> detail(gd3); [ name of the object: l1_intersect1_S form of the object: point3d coordinates of the point: [-25/29, 35/29, 50/29] , name of the object: l1_intersec \ t2_S form of the object: point3d coordinates of the point: [-1, 1, 2] ]. Qua detail(gd3) ta coù hai giao ñieåm cuûa l1 vaø S laø : ( – 25/ 29; 35/29 ; 50/ 29)vaø ( – 1; 1; 2). MỘT SỐ ỨNG DỤNG KHÁC Đoạn mã lệnh này rất hay. Ví dụ 1. Tìm các điểm trên đường thẳng x = t, y = t, z = t cách mặt phẳng 2x + y -2z = 5 một đoạn baèng 7. restart with(geom3d): point(o,t,1/2*t,-2+t/3): plane(p,2*x+y-2*z=5,[x,y,z]): d :=distance(o,p): ans := [solve(d=7,t)]: for i to nops(ans) do ans := subsop(i=subs(t=op(i,ans),coordinates(o)),ans); end do: ans;  [ 12, 6, 2 ],  -120, -60, -62         11 11 11   Ví dụ 2. Tìm các điểm trên đường thẳng x = t, y = t, x = t cách đều hai mặt phẳng 2.

<span class='text_page_counter'>(30)</span> P: 2x + y -2z = 5 vaø Q: x + 2y -2z + 1 = 0. > point(o,t,t,t): plane(p,2*x+y-2*z=5,[x,y,z]): plane(Q,x + 2*y -2*z + 1 = 0,[x,y,z]): ans := [solve(distance(o,p) = distance(o,Q),t)]: for i to nops(ans) do ans := subsop(i=subs(t=op(i,ans),coordinates(o)),ans); end do: ans; [ [ 2, 2, 2 ] ]. Ví dụ 3. Tìm các điểm M thuộc đường thẳng A(1; 1; 3).. sao cho tam giác MOA cân tại đỉnh O với. restart with(geom3d): point(M,t,-t,2*t+1): point(A,1,1,3): point(o,0,0,0): ans := [solve(distance(B,A) = distance(B,M),t)]: for i to nops(ans) do ans := subsop(i=subs(t=op(i,ans),coordinates(M)),ans); end do: ans;  [ 1, -1, 3 ],  -5, 5, -7         3 3 3. Ví dụ 4. Tìm các điểm trên đường thẳng x = t + 3, y = t-2, x = 2t + 1 cách đều hai mặt phẳng P: 3x - 4y + 7 = 0 vaø Q: 2x - y - 2z + 3 = 0. restart with(geom3d): point(M,t+3,t-2,2*t+1): plane(P, 3*x -4*y + 7 = 0,[x,y,z]): plane(Q, 2*x -y - 2*z + 3 = 0,[x,y,z]): ans := [solve(distance(M,P) = distance(M,Q),t)]: for i to nops(ans) do 3.

<span class='text_page_counter'>(31)</span> ans := subsop(i=subs(t=op(i,ans),coordinates(M)),ans); end do: ans; Ví dụ 6. Find the two points on the line x=2*y=3*z+6 at a distance of 7 units from the plane 2*x+y2*z=5. > point(o, t, 1/2*t, -2+t/3): > plane(p, 2*x+y-2*z=5,[x,y,z]): > d :=distance(o,p): > ans := [solve(d=7,t)]: > for i to nops(ans) do ans := subsop(i=subs(t=op(i,ans),coordinates(o)),ans); end do: coordinates of the two points are > ans;. Ví dụ 8. Viết phương trình mặt phẳng (P) qua hai điểm C và D sao cho khoảng cách từ A đến (P) bằng hai lần khoảng cách từ B đến (P) > point(A,1,-2,-1); A. > point(B,2,4,3); > B. > OnSegment(C, A, B, 2); C. > coordinates(C);  5, 2, 5    3  3 > point(E,2,1,0); E. > point(F,1,2,1); F. > Equation(plane(alpha,[C,E,F],[x,y,z])); 2x 4y 2z 8     0 3 3 3 3 3.

<span class='text_page_counter'>(32)</span> > 3/2*sort(Equation(alpha),[x,y,z]); x 2 yz4 0. > distance(A,alpha); 6 > distance(B,alpha); 6 2. > OnSegment(T, A, B, 3/2); coordinates(T); T.  8, 8, 7     5 5 5 > Equation(plane(beta,[T,E,F],[x,y,z])); 4x z 13  y   0 5 5 5 > 5*sort(Equation(beta),[x,y,z]); 4 x 5 yz13 0. > distance(A,alpha); 6 > distance(B,alpha); 6 2. > AreCoplanar(A,B,E,F); Chú ý. Lệnh OnSegment(C, A, B, k); khai báo điểm C trên đoạn đường thẳng AB sao cho AC = kCB. MỘT SỐ BÀI TOÁN THAM GIA TẠI DIỄN ĐÀN MAPLEPRIMES Bài toán 1. Xác định tâm đường tròn ngoại tiếp tam giác ABC. > restart; with(geom3d): point(A, 4,-1,-2): point(B,0,2,3): point(C,2,0,1): Equation(plane(ABC,[A,B,C],[a,b,c])): point(M,a,b,c): pt1:=distance(A,M) = distance(B,M): pt2:=distance(A,M) = distance(C,M): pt3:= Equation(ABC): 3.

<span class='text_page_counter'>(33)</span> hpt:=solve([pt1,pt2,pt3],[a,b,c]): subs(hpt[1],coordinates(M)): triangle(ABC,[A,B,C]): coordinates(point(M,eval(coordinates(M), op(hpt))));  1, 15, -9     2 2 Cách khác trên diễn đàn Mapleprimes. > restart: with(LinearAlgebra): A:=<1,-3,0>: B:=<-2,1,1>: C:=<3,1,2>: M:=x*A+y*B+z*C: {DotProduct(B-A,C-M)=0, DotProduct(C-A,B-M)=0, x+y+z = 1}: solve({DotProduct(B-A,C-M)=0, DotProduct(C-A,B-M)=0, x+y+z = 1}): assign(%): M: 'M'=[seq(M[i],i=1..3)];  4, -2, 1  M    5 5  Bài toán 2. Xác định trực tâm của tam giác khi biết toạ độ ba đỉnh có nó. > point(A,1,-3,2); A. > point(B,-2,1,1); B. > point(C,3,1,0); C. > triangle(ABC,[A,B,C]); ABC. > IsRegular(ABC); false. > IsRightTriangle(ABC); > false. > line(AB,[A,B],t); AB. > line(BC,[B,C],t); BC 3.

<span class='text_page_counter'>(34)</span> > ab:=ParallelVector(AB); ab := [ -3, 4, -1 ]. > bc:=ParallelVector(BC); bc := [ 5, 0, -1 ]. > eq1:=Equation(plane(P,[C,ab],[x,y,z])); eq1 := 53 x 4 yz 0. > eq2:=Equation(plane(Q,[A,bc],[x,y,z])); eq2 :=  35 xz 0. > eq3:=Equation(plane(ABC,[A,B,C],[x,y,z])); eq3 := 204 x8 y20 z 0. > solve([eq1,eq2,eq3],[x,y,z]); 4 -2   x , y , z 1     5 5   Trực tâm của tam giác được viết bởi MaplePrimes > restart: with(LinearAlgebra): A:=<1,-3,-2>: B:=<-2,1,-1>: C:=<-3,2,-1>: M:=x*A+y*B+z*C: DotProduct(B-A,C-M)=0, DotProduct(C-A,B-M)=0, x+y+z = 1}: solve({DotProduct(B-A,C-M)=0, DotProduct(C-A,B-M)=0, x+y+z = 1}): assign(%): M: 'M'=[seq(M[i],i=1..3)]; M  [ 12, 8, 20 ]. Chú ý. If three points A, B and C are collinear, they define a single plane, and each point M of this plane isgiven by the formula M = xA + yB + zC, where x + y + z = 1. The numbers x, y, z are called the barycentric coordinates of the point M. Bài toán 3. Viết Phương trình đường vuông góc chung của hai đường thẳng chéo nhau viết bởi MaplePrime. > ComPerp:=proc(a::list,b::list) local a1,b1,t,s,V1,V2,V,A,B,sol,L,d1,d2; a1:=subsindets(a,'symbol',x->t); b1:=subsindets(b,'symbol',x->s); V1:=<seq(coeff(a1[i],t),i=1..3)>; V2:=<seq(coeff(b1[i],s),i=1..3)>; 3.

<span class='text_page_counter'>(35)</span> V:=<seq(a1[i]-b1[i],i=1..3)>; sol:=solve({add(V1[i]*V[i],i=1..3)=0,add(V2[i]*V[i],i=1..3)=0},{t,s}); assign(sol); A:=eval(a1,'t'=t); B:=eval(b1,'s'=s); L:=[x,y,z]; d1:=ilcm(seq(denom(A[i]-B[i]),i=1..3)); d2:=igcd(seq(numer(A[i]B[i]),i=1..3)); print(`Equation of the common perpendicular`); {seq(L[i]=A[i]+(A[i]-B[i])*d1/d2*'t',i=1..3)}; end proc: > a := [t-3, -3*t+4, t+4]: b := [m+1, 2*m-9, -m-12]: ComPerp(a,b); Equation of the common perpendicular. 6 43 41 { x t, y  2 t, z  5 t} 5 5 5 Phương trình đường vuông góc chung của hai đường thẳng chéo nhau > with(geom3d): > a := [3*t-7, -2*t+4, 3*t+4]: > b := [m+1, 2*m-9, -m-12]: >line(d, a, t); d >line(l, b, m); l >sol := minimize(sum((a[j]-b[j])^2, j = 1 .. nops(a)), 'location'); # parameters corresponding to minimal distance between lines d and l 14161/29, {[{m = 9/29, t = 1/29}, 14161/29]} >point(A, op(eval(a, [op(op(sol[2])[1])]))); #the nearest point on line d A >point(B, op(eval(b, [op(op(sol[2])[1])]))):# the nearest point on line l B >line(p, [A, B],s);#line passing through A and B p >detail(p) > with(geom3d): > a := [3*t-7, -2*t+4, 3*t+4]: > b := [m+1, 2*m-9, -m-12]: >line(d, a, t); d >line(l, b, m); l >sol := minimize(sum((a[j]-b[j])^2, j = 1 .. nops(a)), 'location'); # parameters corresponding to minimal distance between lines d and l 14161/29, {[{m = 9/29, t = 1/29}, 14161/29]} 3.

<span class='text_page_counter'>(36)</span> >point(A, op(eval(a, [op(op(sol[2])[1])]))); #the nearest point on line d A >point(B, op(eval(b, [op(op(sol[2])[1])]))):# the nearest point on line l B >line(p, [A, B],s);#line passing through A and B p >detail(p) > restart;with(geom3d): > a := [3*t-7, -2*t+4, 3*t+4]: > b := [m+1, 2*m-9, -m-12]: > line(d, a, t); line(l, b, m); d. l. > sol := minimize(sum((a[j]-b[j])^2, j = 1 .. nops(a)), 'location'); > sol :=. 14161  9 1 14161 , {  { m  , t }, } 29 29 29 29  . > point(A, op(eval(a, [op(op(sol[2])[1])]))); A. > point(B, op(eval(b, [op(op(sol[2])[1])]))); B. > line(p, [A, B],s); p. > Equation(p);   200238 s , 114357 s , 119476 s    29 29 29 29 29   29 > u := convert(ParallelVector(d), Vector);  3   u :=  -2  3  . > v := convert(ParallelVector(l), Vector);. 3.

<span class='text_page_counter'>(37)</span>  1   v :=  2  -1  . > w := convert(ParallelVector(p), Vector);.       w :=        . 238 29 -357 29 -476 29.              . > with(LinearAlgebra): > DotProduct(u, w); 0. > DotProduct(v, w); 0. > coordinates(A);  -200, 114, 119     29 29 29  > coordinates(B);  38, -243, -357     29 29 29  Cách này do tôi viết (Mồng Ba tết Nhâm Thìn) restart: with(geom3d): line(d1,[1+t, -2-t,t],t): line(d2,[1 -m, 3-2*m,m - 1],m): a:=convert(ParallelVector(d1), Vector): b:=convert(ParallelVector(d2), Vector): with(LinearAlgebra): A:=<1+t, -2-t,t>: B:=<1 -m, 3-2*m,m - 1>: sys:=solve([DotProduct(A-B, a,conjugate=false) = 0, DotProduct(A-B, b,conjugate=false) = 0],[t,m]): assign(%): 3.

<span class='text_page_counter'>(38)</span> 'A'=A: 'B'=B: w:=A-B: M:=<x,y,z>: [seq(M[i]=(A + w*n)[i],i=1..3)]; Bài toán 4. Tìm toạ độ điểm M, N lần lượt thuộc hai đường thẳng cho trước sao cho ba điểm A, M, N thẳng hàng. Đây là đoạn mã giải đề khối B, 2006. > restart: A:=<0,1,2>:. M:=<2*t,1 + t,-1 - t>: N:=<1+m, -1 -2*m,2+m>:. u:=A - M: v:=A - N: w:=LinearAlgebra[CrossProduct](u,v): solve([seq(w[i]=0,i=1..3)]): assign(%): 'M'=M; 'N'=N; > restart: with(LinearAlgebra); A:=<-1,3,6>; B:=<2,2,-0>: N:=<x,y,z>; o:=<1,-1,7>: {Norm(o-N,2)=3, DotProduct(N - o, N-A) = 0,DotProduct(N - o, N-B) = 0}: solve({Norm(o-N,2)=3, DotProduct(N - o, N-A) = 0,DotProduct(N - o, NB) = 0}): assign(%): N: 'N'=[seq(N[i],i=1..3)]; Bài toán 5. Viết phương trình mặt phẳng đi qua hai điểm A(-1; 3; -6), B(2;2;-10) và tiếp xúc với mặt cầu (x-1)^2 + (y + 1)^2 + (z – 7)^2 = 9. Diễn đàn MaplePrime giải như sau: Gọi N là tiếp điểm, ta có     ON  AN , ON  BN ON^2 = 9, > restart: with(LinearAlgebra): A:=<-1,3,-6>: B:=<2,2,-10>: N:=<x,y,z>: o:=<1,-1,7>: Sys:={Norm(o-N,2)^2=9, DotProduct(N - o,N-A,conjugate=false) = 0, DotProduct(N - o, N-B,conjugate=false) = 0}: Sol:=[solve(Sys)]: N1:=[seq(rhs(Sol[1,i]),i=1..3)]; N2:=[seq(rhs(Sol[2,i]),i=1..3)]; 347 321 246  N1 :=  , ,   175 175 35  N2 := [ -1, -3, 6 ] 3.

<span class='text_page_counter'>(39)</span> > N1:=convert(N1,Vector): n1:=o-N1:. e:=n1/simplify(Norm(n1,2)):. T:=<x,y,z>-N1: collect(expand(DotProduct(e,T,conjugate=false)),[x,y,z])=0; # Equation of the plane P . 172 x 1286 496 y z     0 525 525 525 105. > N2:=convert(N2,Vector): n2:=o-N2:. e:=n2/simplify(Norm(n2,2)):. T:=<x,y,z>-N2: collect(expand(DotProduct(e,T,conjugate=false)),[x,y,z])=0; # Equation of the plane P 2x 2 2y z    0 3 3 3 3 Bài toán 6. Phương trình đường phân giác trong và phân giác ngoài của một tam giác. > restart; with(LinearAlgebra): A:=<1,2,-7>: B:=<3,-1,-1>: C:=<-5,14,-3>: M:=<x,y,z>: > v:=1/Norm(A-B,2)*(A - B) + 1/Norm(A-C,2)*(A - C): v*t)[i],i=1..3)];. [seq(M[i]=(A +. t 3t 8t  x 1 , y 2 , z  7   7 7 7   > u:= 1/Norm(A-B,2)*(A - B) - 1/Norm(A-C,2)*(A - C): u*t)[i],i=1..3)]);. op([seq(M[i]=(A +. 5t 9t 4t x 1 , y 2 , z  7 7 7 7. Bài toán 7. Viết phương trình mặt phẳng đi qua hai điểm A(2;-2;3), B(4;-5;6) và cách điểm M(1;2;3) một khoảng bằng 2*sqrt(2). Problem. Let A(2;-2;3), B(4;-5;6) and (M(1;2;3) be three points. Write the equation of the plane (P) passing through two points A and B and the distance from point M to (P) equal to 2*sqrt(2).. Mồng 3 Tết Nhâm Thìn (25/01/2012) > restart: P:=proc(A,B,M,d) local P,Sol,L,f,L1; uses RealDomain, LinearAlgebra, ListTools; 3.

<span class='text_page_counter'>(40)</span> if Equal(simplify(CrossProduct(convert(B,Vector)convert(A,Vector),convert(M,Vector)convert(A,Vector))),<0,0,0>) then error `Points A, B, M should not be collinear`; fi; P:=a*(x-A[1])+b*(y-A[2])+c*(z-A[3]); Sol:=[solve({subs(x=B[1],y=B[2],z=B[3],P)=0,a^2+b^2+c^2=1, abs(subs(x=M[1],y=M[2],z=M[3],P))=d},{a,b,c})]; L:=[seq(<rhs(Sol[i,1]),rhs(Sol[i,2]),rhs(Sol[i,3])>,i=1..nops(Sol))]; f:=(x,y)->Equal(simplify(CrossProduct(x,y)),<0,0,0>); L1:=[Categorize(f, L)]; if nops(L1)=0 then print(`The problem has no solutions`); fi; if nops(L1)=1 then print(`The problem has 1 solution`); print(collect(subs(a=L1[1][1][1],b=L1[1][1][2],c=L1[1][1][3],P), [x,y,z])=0); fi; if nops(L1)=2 then print(`The problem has 2 solutions`); print(collect(subs(a=L1[1][1][1],b=L1[1][1][2],c=L1[1][1][3],P), [x,y,z])=0); print(collect(subs(a=L1[2][1][1],b=L1[2][1][2],c=L1[2][1] [3],P),[x,y,z])=0); fi; end proc; P := proc (A, B , M, d ) local P , Sol, L, f, L1 ; if LinearAlgebra :-Equal ( RealDomain :-simplify ( LinearAlgebra :-CrossProduct( convert( B , Vector )convert( A, Vector ),. convert ( M , Vector )convert ( A, Vector ) ) ),  0, 0, 0  ) then error `Points A, B, M should not be collinear` end if ; P := a ( xA[ 1 ] )b ( yA[ 2 ] )c( zA[ 3 ] ) ;. Sol := [ RealDomain :-solve( { RealDomain :-`^`( a , 2 ) RealDomain :-`^`( b , 2 ) RealDomain :-`^`( c, 2 )  1, abs ( subs ( x M[ 1 ], y M[ 2 ], z M[ 3 ], P ) ) d, subs ( x B [ 1 ], y B [ 2 ], z B [ 3 ], P ) 0 }, { a , b , c } ) ];. L := [ seq (  rhs( Sol[ i, 1 ] ), rhs( Sol[ i, 2 ] ), rhs( Sol[ i, 3 ] ) , i 1 .. nops ( Sol ) ) ] ; f := ( x, y )LinearAlgebra :-Equal ( RealDomain :-simplify( LinearAlgebra :-CrossProduct( x, y ) ),  0, 0, 0  ); L1 := [ ListTools:-Categorize( f, L ) ] ;. 4.

<span class='text_page_counter'>(41)</span> if nops ( L1 ) 0 then print( `The problem has no solutions` ) end if ; if nops ( L1 ) 1 then print( `The problem has 1 solution` ) ; print( collect(. subs ( a  L1 [ 1 ][ 1 ][ 1 ], b  L1 [ 1 ][ 1 ][ 2 ], c L1 [ 1 ][ 1 ][ 3 ], P ), [ x, y, z ] )) 0 end if ; if nops ( L1 ) 2 then. print( `The problem has 2 solutions` ) ; print( collect( subs ( a  L1 [ 1 ][ 1 ][ 1 ], b  L1 [ 1 ][ 1 ][ 2 ], c L1 [ 1 ][ 1 ][ 3 ], P ), [ x, y, z ] )); 0. print( collect( subs ( a  L1 [ 2 ][ 1 ][ 1 ], b  L1 [ 2 ][ 1 ][ 2 ], c L1 [ 2 ][ 1 ][ 3 ], P ), [ x, y, z ] )) 0 end if end proc. > P([2,-2,3],[4,-5,6],[1,2,3],2*sqrt(2)); The problem has 2 solutions. . . 2y 2z 2    0 2 2 2. 12 2 x 95 2 y 79 2 z 95 2     0 89 178 178 178. Sau cùng tôi làm thế này có vẻ đơn giản hơn cả. > restart;f:=(x,y,z)->a*x + b*y +c*z + d: A:=f(2,-2,3): B:=f(4,-5,6): M:=f(1,2,3): sol:=solve([A = 0, B=0,abs(M) = 2*sqrt(2),a^2 + b^2 + c^2 = 1,b > 0 ], [a, b, c, d]): for i to nops(sol) do subs(sol[i],f(x,y,z)=0) end do; 2y 2z 2    0 2 2 2 4.

<span class='text_page_counter'>(42)</span> 12 2 x 95 2 y 79 2 z 95 2     0 89 178 178 178. Nếu không giả sử b > 0, ta được bốn phương trình > restart;f:=(x,y,z)->a*x + b*y +c*z + d: A:=f(2,-2,3): B:=f(4,-5,6): M:=f(1,2,3): sol:=solve([A = 0, B=0,abs(M) = 2*sqrt(2),a^2 + b^2 + c^2 = 1 ],[a, b, c, d]): for i to nops(sol) do subs(sol[i],f(x,y,z)=0) end do;. . . 2y 2z 2    0 2 2 2. 12 2 x 95 2 y 79 2 z 95 2     0 89 178 178 178 2y 2z 2    0 2 2 2 12 2 x 95 2 y 79 2 z 95 2     0 89 178 178 178. Bài toán 8. Viết phương trình mặt phẳng chứa đường thẳng (x+1)/(-1) = (y-3)/1 = (z-2)/2 cắt các trục Ox, Oy tại các điểm A, B khác gốc toạ độ sao cho OA = 2OB. This is my code. > restart: f:=(x,y,z)->a*x+b*y+c*z+d: A:=f(m,0,0): B:=f(0,n,0): C:=f(-1,3,2): v:=-a+b+2*c: sol:=solve([A=0,B=0,C=0,v=0,abs(m) = 2*abs(n),a^2+b^2+c^2=1,a>0], [a,b,c,d,m,n]): for i to nops(sol) do subs(sol[i],f(x,y,z)=0) end do; 2 5x 5z   0 5 5 2 21 x 4 21 y 21 z 8 21     0 21 21 21 21. 4.

<span class='text_page_counter'>(43)</span> 2 29 x 4 29 y 3 29 z 8 29     0 29 29 29 29. Trong đoạn mã này, Maple thêm a > 0. Đoạn mã này sai. Phải có điều kiện d < > 0 nữa.. Viết phương trình của đường thẳng song song với hai mặt phẳng và cắt cả hai đường thẳng with(geom3d): plane(P,3*x+12*y-3*z-5=0,[x,y,z]): plane(Q,3*x - 4*y. + 9*z + 7=0,[x,y,z]):. line(d1, [2*t -5, -4*t+3, 3*t -1],t); line(d2, [-2*m + 3, 3*m - 1, 4*m + 2],m): intersection(Delta,P,Q): p:=NormalVector(P): q:=NormalVector(Q): delta:=ParallelVector(Delta): a:=ParallelVector(d1): with(linalg): n1:= crossprod(delta,a): plane(P1,[point(A,-5,3,-1),n1],[x,y,z]): coordinates(intersection(M,d2,P1)): line(d,[M,delta],t): Equation(d): AreParallel(d,d1); AreParallel(d,d2); Đoạn mã thứ hai restart;with(geom3d): plane(P,3*x+12*y-3*z-5=0,[x,y,z]): plane(Q,3*x - 4*y. + 9*z + 7=0,[x,y,z]):. line(d1, [2*t -5, -4*t+3, 3*t -1],t): line(d2, [-2*m + 3, 3*m - 1, 4*m + 2],m): with(LinearAlgebra): a:=convert(NormalVector(P),Vector): b:=convert(NormalVector(Q),Vector): v:=CrossProduct(a,b): A:=<2*t -5, -4*t+3, 3*t -1>: B:=<-2*m+3, 3*m - 1, 4*m + 2>: 4.

<span class='text_page_counter'>(44)</span> u:=A - B: w:=LinearAlgebra[CrossProduct](v,u): solve([seq(w[i]=0,i=1..3)]): assign(%): 'A'=A: 'B'=B: M:=<x,y,z>: [seq(M[i]=(A + v*n)[i],i=1..3)];. Đề dự bị khối D, 2007 > restart; with(geom3d): line(d,[2*t + 3, t-2, -t-1],t): plane(P,x + y + z + 2 = 0,[x,y,z]): coordinates(intersection(M,d,P)): with(LinearAlgebra): H:=<x,y,z>: a:=convert(ParallelVector(d),Vector): n:=convert(NormalVector(P),Vector): v:=CrossProduct(a,n): m:=convert(coordinates(M),Vector): Sol:=solve([x + y + z + 2 = 0, DotProduct(m - H, v,conjugate=false)=0, Norm(m - H,2)^2 = 42]): H1:=[seq(rhs(Sol[1,i]),i=1..3)]: H2:=[seq(rhs(Sol[2,i]),i=1..3)]: b:=convert(H1,Vector): c:=convert(H2,Vector): A:=<x,y,z>: [seq(A[i]=(b + v*t)[i],i=1..3)]; [seq(A[i]=(c + v*t)[i],i=1..3)]; [ x 5 2 t, y  23 t, z  5 t]. [ x  3 2 t, y  43 t, z 5 t]. Coordinates of a point. Bài toán. Cho ba điểm A, B, C. Tìm điểm T thuộc mặt phẳng 2*x - y +z uuuu r uuur uuur AM + 2 BM + 3 CM lớn của vectơ nhỏ nhất. > restart: with(geom3d): A:=<-1,8,2>:. B:=<6,0,2>:. C:=<2,-3,-4>: 4. + 1 = 0 sao cho độ.

<span class='text_page_counter'>(45)</span> M:=<x,y,z>: o:=<0,0,0>: eq:=solve([seq(o[i] = (A-M + 2*(B-M) + 3*(C-M))[i], i=1..3)]); point(T, -1/6, 7/3, -47/6); # put T by my hand plane(P,2*x - y +z. + 1 = 0,[x,y,z]):. coordinates(projection(H,T,P));. Đã sửa lại như sau: >restart: with(geom3d): A:=<-1,3,1>:. B:=<3, 7,1>:. C:=<2,1,5>:M:=<x,y,z>: o:=<0,0,0>:. solve([seq(o[i] = (A-M - 2*(B-M) - 3*(C-M))[i], i=1..3)]): assign(%); point(T, x, y, z)=[x,y,z]; plane(P,2*'x' - 'y' +'z'. - 1 = 0,['x','y','z']):. 'H'=coordinates(projection(H,T,P));  13, 7, 4  T     4 2   5, 9, 3  H    4 2  This is my code > restart: with(geom3d): A:=<-1,3,3>:. B:=<3,-5,3>:. C:=<2,1,-1>:M:=<x,y,z>: o:=<0,0,0>:. sol:=solve([seq(o[i] = (A-M - 2*(B-M) - 3*(C-M))[i], i=1..3)]): point(T,op(2,op(1,sol)), op(2,op(2,sol)), op(2,op(3,sol))): # I did by myselft. plane(P,2*x - y +z. - 1 = 0,[x,y,z]):. coordinates(projection(H,T,P));  7 , -7, -4     12 6 3  Bài toán. Viết phương trình mặt phằng qua H(2; 1; 1), cắt ba trục Ox, Oy, Oz sao cho H là trực tâm của tam giác ABC. > restart: with(geom3d): with(LinearAlgebra): A:= <a,0,0>: B:=<0,b,0>: C:=<0,0,c>: 4.

<span class='text_page_counter'>(46)</span> H:=<2,1,1>: f:=(x,y,z)->x/a + y/b +z/c-1: eq:=solve([f(H[1],H[2],H[3]) = 0,DotProduct(B-C, A-H, conjugate = false) = 0,DotProduct(A-C, B-H, conjugate = false) = 0],{a,b,c}): assign(%): sort(Equation(plane(P,x/'a' + y/'b' +z/'c'. - 1 = 0,[x,y,z])));. > point(o,0,0,0); o. > point(H,2,1,1); H. > n:=dsegment(oH,o,H); n := oH. > plane(P,[H,n]); P. > Equation(P,[x,y,z]);  6 2 x y z 0. x y z   1 0 3 6 6 Bài toán. Mặt phằng qua H(1; 1; 1), cắt ba trục Ox, Oy, Oz sao cho H là tâm đường tròn ngoại tiếp của tam giác ABC. > restart: with(geom3d): with(LinearAlgebra): A:= <a,0,0>: B:=<0,b,0>: C:=<0,0,c>: H:=<1,1,1>: f:=(x,y,z)->x/a + y/b +z/c-1: eq:=solve([f(H[1],H[2],H[3]) = 0,Norm(H - A, 2) = Norm(H - B, 2), Norm(H - A, 2) = Norm(H - C, 2)],{a,b,c}): assign(%): sort(Equation(plane(P,x/'a' + y/'b' +z/'c'. - 1 = 0,[x,y,z])));. Bài toán. Tìm điểm M trên trục tung sao cho ba điểm A, B, C thẳng hàng và diện tích của tam giác ABC bằng 3. 4.

<span class='text_page_counter'>(47)</span> > restart: A:=<1,0,0>:. B:=<3*t+5,1 + t,2*t+2>: C:=<5+m, 1+m,3+3*m>:. u:=A - B: v:=A - C: w:=LinearAlgebra[CrossProduct](u,v): solve([seq(w[i]=0,i=1..3)]): assign(%): 'B'=B; 'C'=C; M:=<0,a,0>: with(LinearAlgebra): T:=CrossProduct(B-M,B-C): sol:=solve(1/2*Norm(T,2)=3,{a}); for i from 1 to 2 do print('M'=(M[1], op(2,op(sol[i])),M[3])) end do;.    B    . 2  0 0.  4    0 C     0   sol := { a  3 }, { a  -3 }. M  ( 0, 3, 0 ). Mở rộng hơn, tìm điểm M trên đường thẳng x = t, y = t, z = -a. > restart: A:=<1,0,0>:. B:=<3*t+5,1 + t,2*t+2>: C:=<5+m, 1+m,3+3*m>:. u:=A - B: v:=A - C: w:=LinearAlgebra[CrossProduct](u,v): solve([seq(w[i]=0,i=1..3)]): assign(%): 'B'=B; 'C'=C; M:=<a ,a, -a >: with(LinearAlgebra): T:=CrossProduct(B-M,B-C): sol:=solve(1/2*Norm(T,2)=2,{a}); for i from 1 to 2 do print('M'=(subs(op(sol[i]), M[1]), subs(op(sol[i]), M[2]),subs(op(sol[i]), M[3]))) end do;.    B    . 4. 2  0 0.

<span class='text_page_counter'>(48)</span>  4    0 C     0  . sol := { a 2 }, { a   2} M  ( 2, 2,  2 ) M  ( 2,  2, 2 ) (D, 2011) Cho hai điểm A(-2; 1; 1), B(-3;-1;2) và đường thẳng Delta x = t – 2, y = 3t + 1, z = -2t – 5 Tìm toạ độ điểm M thuộc Delta sao cho diện tích tam giác MAB bằng 3sqrt(5). > restart; with(LinearAlgebra): A:=<-2,1,1>: B:=<-3,-1,2>: M:= <t-2, 3*t+1, -2*t-5>: u:=A-B: v:=A-M: T:=CrossProduct(u,v): sol:=solve(1/2*Norm(T,2)=3*sqrt(5),{t}); for i from 1 to 2 do print('M'[i]=(subs(op(sol[i]), M[1]), subs(op(sol[i]), M[2]),subs(op(sol[i]), M[3]))) end do; sol := { t 0 }, { t -12 }. M ( -2, 1, -5 ) M  ( -14, -35, 19 ). Từ đây có thể sửa đề tuỳ ý. Chẳng hạn A:=<-2,1,1>: B:=<-3,-1,2>: M:= <-t-2, 3*t+1, -2*t-5>: Ta được đáp số -12 sol := { t 0 }, { t } 7 M 1 ( -2, 1, -5 )  -2, -29, -11  M2   7 7 7  > A:=<-2,-1,3>: B:=<0,1,4>: M:= <-t-2, t+1, -t-1>: Ta được đáp số restart; with(LinearAlgebra): A:=<-2,-1,3>: B:=<0,1,4>: M:= <-t-2, t+1, -t-1>: u:=A-B: v:=A-M: T:=CrossProduct(u,v): sol:=solve(1/2*Norm(T,2)=3*sqrt(5),{t}); 4.

<span class='text_page_counter'>(49)</span> for i from 1 to 2 do print('M'[i]=(subs(op(sol[i]), M[1]), subs(op(sol[i]), M[2]),subs(op(sol[i]), M[3]))) end do; -54 sol := { t 0 }, { t } 13 M 1 ( -2, 1, -1 )  28, -41, 41  M 2    13 13 13  Maple > restart; with(LinearAlgebra): A:=<-2,-1,3>: B:=<0,1,4>: M:= <-t-2, t+1, -t-1>: u:=A-B: v:=A-M: T:=CrossProduct(u,v): sol:=solve(1/2*Norm(T,2)=3*sqrt(5),{t}); for i from 1 to 2 do `M`[i]:=subs(sol[i],[-t-2, t+1, -t-1]) end do; -54 sol := { t 0 }, { t } 13 M1 := [ -2, 1, -1 ] 28 -41 41  M 2 :=  , ,   13 13 13  Mapleprimes > restart; with(LinearAlgebra): A:=<-2,1,1>: B:=<-3,-1,2>: M:= <t-2, 3*t+1, -2*t-5>: u:=A-B: v:=A-M: T:=CrossProduct(u,v): sol:=solve(1/2*Norm(T,2)=3*sqrt(5),{t}); for i from 1 to 2 do `M`[i]:=subs(sol[i],[t-2, 3*t+1, -2*t-5]) end do; sol := { t 0 }, { t -12 }. M1 := [ -2, 1, -5 ] M2 := [ -14, -35, 19 ]. Bài toán. Cho hai điểm A:= <-5,-3,-3>: B:=<0,1,-2>. Tìm điểm M trên đường thẳng <t - 3, 2*t, t+2> sao cho diện tích của tam giác AMB nhỏ nhất. > restart; with(LinearAlgebra): A:=<-5,-3,-3>: B:=<0,1,-2>: M:= <t - 3, 2*t, t+2>: 4.

<span class='text_page_counter'>(50)</span> u:=A-B: v:=A-M: T:=CrossProduct(u,v): S:=minimize(1/2*Norm(T,2), location = 'true'); M:=subs(op(1,op(1, S[2])),M); 363  , {  { t -3 }, 2 . S :=. 363 2.   } .  -6   M :=  -6  -1  . > restart; with(LinearAlgebra): A:=<5,4,3>: B:=<6,7,2>: M:= <2*t + 3, 9*t, t-5>: u:=A-B: v:=A-M: T:=CrossProduct(u,v): S:=minimize(1/2*Norm(T,2), location = 'true'); M:=subs(op(1,op(1, S[2])),M); S :=. 88  20 , {  { t }, 2 9  67 9 20 -25 9.     M :=      . 88 2.   } .           . Ta có thể thay đổi một cách tuỳ ý. > restart; with(LinearAlgebra): A:=<2,1,-1>: B:=<1,3,0>: M:= <t - 1, 2*t+1, t-2>: u:=A-B: v:=A-M: T:=CrossProduct(u,v): S:=minimize(1/2*Norm(T,2), location = 'true'); M:=subs(op(1,op(1, S[2])),M); S :=. 24 5  8 , {  { t}, 10 5   3     5     21     M :=   5       -2     5    5. 24 5  } 10 .

<span class='text_page_counter'>(51)</span> > restart; with(LinearAlgebra): A:=<1,5,0>: B:=<3,3,6>: M:= <2*t - 1, -t+1, 2*t>: u:=A-B: v:=A-M: T:=CrossProduct(u,v): S:=minimize(1/2*Norm(T,2), location = 'true'); M:=subs(op(1,op(1, S[2])),M); N:=<x,y,z>:[seq(N[i]=(B + (M-B)*t)[i],i=1..3)];. S :=. 792  , {  { t 1 }, 2 . 792 2.   } .  1   M :=  0  2   [ x 32 t, y 33 t, z 64 t ]. Bài toán. Viết phương trình đường thẳng đi qua điểm A(1; -1; 3), nằm trong mặt phẳng (P): x+y+5*z=0 và có khoảng cách đến đường thẳng l: x = 2*t, y = -5*t, z = 6*t bằng 1. > restart;with(geom3d): > with(LinearAlgebra): > A:=<1,-1,3>;  1   A :=  -1  3  . > plane(P,x+y+5*z=0,[x,y,z]); P. > line(l, [2*t,-5*t, 6*t],t); l. > n:=convert(NormalVector(P),Vector);  1   n :=  1  5  . > v:= convert(ParallelVector(l),Vector);  2   v :=  -5  6   5.

<span class='text_page_counter'>(52)</span> > u:=<a,b,c>;  a    u :=  b   c   . > w:=CrossProduct(v,u);   5 c6 b    w :=  6 a 2 c   2 b 5 a   . > d:=abs(DotProduct(w,A,conjugate = false))/Norm(w,2); d :=.  3 c 9a 5 c 6 b 26 a 2 c 22 b  5a. 2. > solve([a^2 + b^2 + c^2 = 1, d = 1, DotProduct(n,u, conjugate = false)=0],[a,b,c]); 2 2 4 122 7 122 3 122       a  , b  ,  , c 0  ,  a  , b  , c  2 2 61 122 122     4 122 7 122 3 122   2 2    a   ,  a   , b   , c  , b  , c 0   61 122 122   2 2  . Đoạn mã rút gọn. restart;with(geom3d): with(LinearAlgebra): A:=<1,-1,3>: plane(P,x+y+5*z=0,[x,y,z]): line(l, [2*t,-5*t, 6*t],t): n:=convert(NormalVector(P),Vector): v:= convert(ParallelVector(l),Vector): u:=<a,b,c>: w:=CrossProduct(v,u): d:=abs(DotProduct(w,A,conjugate = false))/Norm(w,2): solve([a^2 + b^2 + c^2 = 1, d = 1, DotProduct(n,u, conjugate = false)=0],[a,b,c]); 2 2 4 122 7 122 3 122       a  , b  ,  , c 0  ,  a  , b  , c  2 2 61 122 122     4 122 7 122 3 122   2 2    a   ,  a   , b   , c  , b  , c 0   61 122 122   2 2  . Thay đổi số liệu khác > restart: with(LinearAlgebra): A:=<1, -1, 3>:. u:=<a, b, c>:. v:=<2, -5, 6>: 5. M:=A+s*u:. N:=t*v:.

<span class='text_page_counter'>(53)</span> solve([a^2+b^2+c^2=1, DotProduct(<1, 1, 5>,u,conjugate = false)=0, DotProduct(M-N,u,conjugate = false)=0, DotProduct(M-N,v,conjugate = false)=0, Norm(M-N,2)=1],[a,b,c,s,t]); 4 122 7 122 3 122 5 122 34     a   , b   , c , s , t  , 61 122 122 81 81   4 122 7 122 3 122 5 122 34    a  , b  , c  , s  , t  , 61 122 122 81 81  . 2 2 5 2 4   a  , b   , c 0, s , t , 2 2 9 9  2 2 5 2 4    a   , b  , c 0, s  , t  2 2 9 9  . Phương pháp hình học > restart; with(geom3d): with(LinearAlgebra): A:=<0,0,0>: B:= <2,-5,6>: M :=<1,-1,3>: P:=a*(x-A[1])+b*(y-A[2])+c*(z-A[3]): Sol:=[solve({subs(x=B[1],y=B[2],z=B[3],P)=0,a^2+b^2+c^2=1, abs(subs(x=M[1],y=M[2],z=M[3],P))=1},{a,b,c})]: Equation(plane(alpha,subs(Sol[1], P)=0,[x,y,z])): Equation(plane(beta,subs(Sol[2], P)=0,[x,y,z])): n1:=convert(NormalVector(alpha), Vector): n2:=convert(NormalVector(beta),Vector): plane(Q,x + y + 5*z = 0, [x,y,z]): n:=convert(NormalVector(Q),Vector): s:= CrossProduct(n1,n): r:=CrossProduct(n2,n): N:=<x,y,z>: [seq(N[i]=(M + s*t)[i],i=1..3)]; [seq(N[i]=(M + r*t)[i],i=1..3)]; 8t 7t  x 1 , y  1 , z 3t   3 3   [ x 1 3 t, y  13 t, z 3]. Cách khác restart; with(geom3d): with(linalg): A:=<0,0,0>: # A on l 5.

<span class='text_page_counter'>(54)</span> B:= <2,-5,6>: # B on l M :=<1,-1,3>: P:=a*(x-A[1])+b*(y-A[2])+c*(z-A[3]): Sol:=[solve({subs(x=B[1],y=B[2],z=B[3],P)=0,a^2+b^2+c^2=1, abs(subs(x=M[1],y=M[2],z=M[3],P))=1},{a,b,c})]: # Equation of planes passing l and has a distance equal 1 from M Equation(plane(alpha,subs(Sol[1], P)=0,[x,y,z])): Equation(plane(beta,subs(Sol[2], P)=0,[x,y,z])): n1:=NormalVector(alpha): n2:=NormalVector(beta): plane(Q,x + y + 5*z = 0,[x,y,z]): n:=NormalVector(Q): s:= crossprod(n1,n): r:=crossprod(n2,n): convert(M,list): point('M',op(%)): # new command Equation(line(Delta_1,[M,s],t)); Equation(line(Delta1_2,[M,r],t));  18 t ,  17 t , 3t    3 3   [ 1 3 t,  13 t, 3 ]. > restart;a:= [2*t +1,t-2,-2*t+2]: b:=[2-m,3+m,4+m]: with(geom3d): plane(P,x - y+z-6=0,[x,y,z]): line(d1,a,t): line(d2,b,m): plane(Q,x. - y+z + d=0,[x,y,z]): # Q parallel to P d<>-6.. coordinates(intersection(E,d1,Q)): coordinates(intersection(F,d2,Q)); dis:=solve(distance(E,F) = 3*sqrt(6),{d}): point(E1,subs(op(1, dis[1]),coordinates(E))): point(F1,subs(op(1, dis[1]),coordinates(F))): line(E1F1,[E1,F1],t): Equation(E1F1): point(E2,subs(op(1, dis[2]),coordinates(E))): point(F2,subs(op(1, dis[2]),coordinates(F))): 5.

<span class='text_page_counter'>(55)</span> Equation(line(E2F2,[E2,F2],t)); AreParallel(E1F1,P); AreParallel(E2F2,P); # false Second code (My code) restart;a:= [2*t +1,t-2,-2*t+2]: b:=[2-m,3+m,4+m]: with(geom3d): plane(P,x. - y+z-6=0,[x,y,z]):. line(d1,a,t): line(d2,b,m): S:=sum((a[j]-b[j])^2, j = 1 .. nops(a)): n:=NormalVector(P): w:=seq(a[j]-b[j], j = 1 .. nops(a)): T:=sum(n[i]*w[i],i=1..3): sol:=solve([S=54, T = 0],[t,m]): point(A1, subs(op(1,sol[1]),a)): point(B1, subs(op(2,sol[1]),b)): Equation(line(A1B1,[A1,B1],k)); AreParallel(A1B1,P); point(A2, subs(op(1,sol[2]),a)): point(B2, subs(op(2,sol[2]),b)): Equation(line(A2B2,[A2,B2],l)); AreParallel(A2B2,P);. [ 53 k, 3 k,  2 6 k]. true [  1 6 l,  3 3 l, 43 l ]. true. Chú ý. Đường thẳng A2B2 không song song với mặt phẳng (P). Vậy là Maple có lỗi! Cách làm của Maple > restart;a:= [2*t +1,t -2,-2*t+2]: b:=[2-m,3+m,4+m]: with(geom3d): 5.

<span class='text_page_counter'>(56)</span> plane(P,x. - y+z-6=0,[x,y,z]):. line(d1,a,t): line(d2,b,m): S:=sum((a[j]-b[j])^2, j = 1 .. nops(a)): n:=NormalVector(P): w:=seq(a[j]-b[j], j = 1 .. nops(a)): T:=sum(n[i]*w[i],i=1..3): sol:=solve([S=54, T = 0],[t,m]): point(A1, eval(a, sol[1])): #Maple point(B1, eval(b, sol[1])): #Maple Equation(line(A1B1,[A1,B1],k)); AreParallel(A1B1,P); point(A2, eval(a, sol[2])): #Maple point(B2, eval(b, sol[2])): #Maple Equation(line(A2B2,[A2,B2],l)); AreParallel(A2B2,P); [ 53 k, 3 k,  2 6 k]. true [  1 6 l,  3 3 l, 43 l ]. true. Maple > restart; with(geom3d):with(LinearAlgebra):a := [2*t+1, t-2, -2*t+2]: b := [2-m, 3+m, 4+m]: line(d1, a, t); line(d2, b, m): point(M, a): point(N, b): d := distance(M, N); d1. d := 30 12 m6 t 3 m 2 6 m t 9 t2 > v := Vector([2*t+1, t-2, -2*t+2]-[2-m, 3+m, 4+m]); m  2 t   1   v :=   5mt    2m 2 t  . > plane(P, x-y+z-6 = 0, [x, y, z]): 5.

<span class='text_page_counter'>(57)</span> > w := convert(NormalVector(P), Vector);# there is a difference in types  1   w :=  -1  1  . > DotProduct(v, w, conjugate = false) ; 2 m t. > sol := solve({d = 3*sqrt(6), DotProduct(v, w, conjugate = false) = 0}, [m, t]); sol := [ [ m  -3, t -1 ], [ m  0, t 2]]. > point(M2, eval(a, sol[2])): > point(N2, eval(b, sol[2])): > line(l2, [M2, N2],t): > detail(l2); Warning, assuming that the names of the axes are _x, _y, and _z name of the object: l2 form of the object: line3d equation of the line: [_x = 5-3*t, _y = 3*t, _z = -2+6*t]. Tìm điểm A thuộc mặt phẳng sao cho > with(geom3d): point(M,1,-1,3): line(Delta,[2*t+2,-t-1,t+1],t): plane(P,x+y+z+3=0,[x,y,z]): a:=ParallelVector(Delta): n:=NormalVector(P): plane(Q,[M,a],[x,y,z]): intersection(d,P,Q): eq:=Equation(d,t): coordinates(point(A,seq(eq[i],i=1..nops(eq)))): sol:=solve(distance(A,Delta)=sqrt(33/2),{t}); coordinates(point(A1,eval(coordinates(A),sol[1]))); coordinates(point(A2,eval(coordinates(A),sol[2]))); -1 11 sol := { t }, { t } 2 14 5.

<span class='text_page_counter'>(58)</span>  0, -9, 3     2 2  18, -45, -33     7 14 14  > restart;with(geom3d): with(LinearAlgebra): M:= <1,-1,3>: line(Delta,[2*t+2,-t-1,t+1],t): plane(P,x+y+z+3 = 0,[x,y,z]): a:=convert(ParallelVector(Delta),Vector): n:=convert(NormalVector(P),Vector): A:=<x,y,z>: v:=DotProduct(A-M, a,conjugate = false): B:=<2,-1,1>: # B lies on Delta d:=Norm(CrossProduct(A-B, a), 2)/Norm(a,2): sol:=solve([x+y+z+3 = 0, v = 0, d = sqrt(33/2)]); coordinates(point('A1',op([seq(rhs(sol[1,i]),i=1..3)]))); coordinates(point('A2',op([seq(rhs(sol[2,i]),i=1..3)]))); 18 -45 -33 -9 3 sol := { x , y , z }, { x 0, y , z} 7 14 14 2 2  18, -45, -33     7 14 14   0, -9, 3     2 2 Ví dụ khác > restart;with(geom3d): with(LinearAlgebra): M:= <1,-1,3>: line(Delta,[2*t+2,-t-1,t+1],t): plane(P,x+y+z - 1 = 0,[x,y,z]): a:=convert(ParallelVector(Delta),Vector): n:=convert(NormalVector(P),Vector): A:=<x,y,z>: v:=DotProduct(A-M, a,conjugate = false): B:=<2,-1,1>: # B lies on Delta d:=Norm(CrossProduct(A-B, a), 2)/Norm(a,2): sol:=solve([x+y+z - 1 = 0, v = 0, d = sqrt(33/2)]); 5.

<span class='text_page_counter'>(59)</span> coordinates(point('A1',op([seq(rhs(sol[1,i]),i=1..3)]))); coordinates(point('A2',op([seq(rhs(sol[2,i]),i=1..3)]))); -1 -5 -2 -37 55 sol := { x 4, y , z }, { x , y , z } 2 2 7 14 14  4, -1, -5     2 2  -2, -37, 55     7 14 14 . > restart;with(geom3d): with(LinearAlgebra): M:= <1,-1,3>: line(Delta,[2*t+2,-t-1,t+1],t): plane(P,x -y -z - 1 = 0,[x,y,z]): a:=convert(ParallelVector(Delta),Vector): n:=convert(NormalVector(P),Vector): A:=<x,y,z>: v:=DotProduct(A-M, a,conjugate = false): B:=<2,-1,1>: # B lies on Delta d:=Norm(CrossProduct(A-B, a), 2)/Norm(a,2): sol:=solve([x -y -z - 1 = 0, v = 0, d = sqrt(33/2)]); coordinates(point('A1',op([seq(rhs(sol[1,i]),i=1..3)]))); coordinates(point('A2',op([seq(rhs(sol[2,i]),i=1..3)]))); -2 -55 37 5 1 sol := { x , y , z }, { x 4, y, z} 7 14 14 2 2  -2, -55, 37     7 14 14   4, 5, 1     2 2 Bài toán. Viết phương trình đường thẳng đi qua điểm A, vuông góc với d1 và cắt d2. Cách 1 (My code) > restart;with(LinearAlgebra): with(geom3d): > A:=<1,2,3>;. 5.

<span class='text_page_counter'>(60)</span>  1   A :=  2  3  . > B:=[2*t+2,-t-2,t+3]; B := [ 2 t 2,  t2, t 3]. > M:=<-m+1, 2*m+1,m-1>; 1   m    M :=  2 m  1  m 1   . > line(d1,B,t); d1. > a:=convert(ParallelVector(d1),Vector);  2   a :=  -1  1  . > v:=M-A;  m    v :=  2 m 1  m 4   . > solve(DotProduct(v,a,conjugate=false)=0,{m}); assign(%): { m -1 }. > 'M'=M; N:=<x,y,z>;  2    -1 M    -2    x    N :=  y   z   . > [seq(N[i]=(A + (M-A)*t)[i],i=1..3)]; [ x 1 t, y 23 t, z 35 t ]. Cách 2 (Đoạn mã thu gọn) > restart;with(LinearAlgebra): with(geom3d): A:=<1,2,3>: 6.

<span class='text_page_counter'>(61)</span> B:=[2*t+2,-t-2,t+3]: M:=<-m+1, 2*m+1,m-1>: line(d1,B,t): a:=convert(ParallelVector(d1),Vector): v:=M-A: solve(DotProduct(v,a,conjugate=false)=0,{m}): assign(%): 'M'=M: N:=<x,y,z>: [seq(N[i]=(A + (M-A)*t)[i],i=1..3)]; Cách 3. > restart: with(geom3d): > point(A,1,2,3); A. > line(d1,[2*t + 2, -t -2, t + 3],t); d1. > line(d2,[-m + 1, 2*m+1, m-1],m); d2. > a:=ParallelVector(d1); a := [ 2, -1, 1 ]. > plane(P,[A,a],[x,y,z]); P. > Equation(P);  3 2 xy z 0. > coordinates(intersection(B,d2,P)); [ 2, -1, -2 ]. > Equation(line(AB,[A,B],t)); [ 1 t, 23 t, 35 t ]. > restart: with(geom3d): point(A,1,2,3): line(d1,[2*t + 2, -t -2, t + 3],t): line(d2,[-m + 1, 2*m+1, m-1],m): a:=ParallelVector(d1): 6.

<span class='text_page_counter'>(62)</span> Equation(plane(P,[A,a],[x,y,z])): #P passing through A and perpendicular to d1 coordinates(intersection(B,d2,P)): Equation(line(AB,[A,B],t)); [ 1 t, 23 t, 35 t ]. Bài toán. Phương trình đường thẳng đi qua một điểm cho trước, cắt đường thẳng cho trước và song song với một mặt phẳng cho trước. This is my code. Cách 1. > restart: with(LinearAlgebra): with(geom3d): A:=<2,2,-5>: M:=<-2+3*m,4 - m,5+2*m>: plane(P,2*x + 3*y - z - 17 = 0,[x,y,z]): a:= convert(NormalVector(P),Vector): v:=M-A: solve(DotProduct(v,a,conjugate=false)=0,{m}): assign(%): 'M'=M: N:=<x,y,z>: [seq(N[i]=(A + (M-A)*t)[i],i=1..3)]; [ x 2 32 t, y 210 t, z  5 34 t ]. Cách 2. > restart: with(geom3d): point(A,2,2,-5): line(Delta,[-2+3*t,4-t,5+2*t],t): plane(P,2*x+3*y-z-17=0,[x,y,z]): parallel(Q,A,P): Equation(Q): coordinates(intersection(B,Delta,Q)): Equation(line(AB,[A,B],t)); [ 2 32 t, 210 t,  5 34 t ]. Bài toán. Mặt phẳng qua hai điểm A, B và tạo với mặt phẳng x + y + z + 1 = 0 một góc nhỏ nhất. Maple’ code > restart: with(LinearAlgebra): A:=<1, -2, 4>:. B:=<3, 5, -1>:. n1:=<1, 1, 1>: 6. M:=<x, y, z>:.

<span class='text_page_counter'>(63)</span> n2:=CrossProduct(n1, B - A): n:=CrossProduct(n2, B - A): d:=igcd(seq(n[i],i=1..3)): # New command sort((n/d).(M - A)) = 0;. # Equation of the required plane  35 x25 y49 z 181 0. My code > restart;with(geom3d): point(A,1,-2,4), point(B,3,5,-1): plane(P,x + y + z + 1 = 0, [x,y,z]): n:=NormalVector(P): line(AB,[A,B]): a:=ParallelVector(AB): with(linalg): w:=crossprod(n,a): v:=crossprod(w,a): plane(Q,[A,v],[x,y,z]): sort(1/2*Equation(Q));  35 x25 y49 z181 0. Bài toán. Viết phương trình các mặt phẳng song song với hai đường thẳng d1 và d2 và tiếp xúc với mặt cầu S. Trong bài này, để có một đáp số chẵn, tôi lấy bán kính là norm(c, 2). > restart: with(geom3d): line(d1,[-1+t,3*t+1,1-t],t): a:=ParallelVector(d1): line(d2,[2+2*t,-2*t,1+t],t): b:=ParallelVector(d2): with(linalg): c:=crossprod(a,b): R:=norm(c,2); Equation(plane(P,c[1]*x +c[2]*y +c[3]*z +m=0,[x,y,z])): sphere(S,[point(T,1,-1,3), R],[x,y,z]): sol:=solve(distance(T,P)=norm(c,2),{m}); for i from 1 to 2 do print(sort(Equation(plane(Q,eval(Equation(P),sol[i]),[x,y,z])))) end do; R := 74 6.

<span class='text_page_counter'>(64)</span> sol := { m 94 }, { m  -54 }. x3 y8 z 94 0 x3 y8 z54 0. Ví dụ khác. Cho mặt cầu (S): x^2+. y^2 + z^2 -10*x +2*y +26*z -113=0. và hai đường thẳng (d1,[-5+2*t,-3*t+1,-13+2*t],t) và (d2,[-7+3*t,-1-2*t,8],t) Viết phương trình các mặt phẳng song song với d1, d2 và tiếp xúc với (S). > restart: with(geom3d): line(d1,[-5+2*t,-3*t+1,-13+2*t],t): a:=ParallelVector(d1): line(d2,[-7+3*t,-1-2*t,8],t): b:=ParallelVector(d2): with(linalg): c:=crossprod(a,b): sphere(S, x^2+. y^2 + z^2 -10*x +2*y +26*z -113=0,[x,y,z]):. point(T,coordinates(center(S))): R:=radius(S): Equation(plane(P,c[1]*x +c[2]*y +c[3]*z +m=0,[x,y,z])): sol:=solve(distance(T,P)=R,{m}); for i from 1 to 2 do print(sort(Equation(plane(Q,eval(Equation(P),sol[i]),[x,y,z])))) end do; sol := { m  205 }, { m -103 } 4 x 6 y 5 z 205 0. 4 x 6 y 5 z103 0. Maple (Tìm toạ độ tiếp điểm) > restart:. with(geom3d):. with(linalg):. line(d1,[-5+2*t,-3*t+1,-13+2*t],t): a:=ParallelVector(d1):. line(d2,[-7+3*t,-1-2*t,8],t):. b:=ParallelVector(d2):. c:=crossprod(a,b): 6.

<span class='text_page_counter'>(65)</span> sphere(S, x^2+. y^2 + z^2 -10*x +2*y +26*z -113=0, [x,y,z]):. T:=coordinates(center(S)):. R:=radius(S):. H:=[T + [seq(c[i]/norm(c,2)*R,i=1..3)], T [seq(c[i]/norm(c,2)*R,i=1..3)]]: for i to 2 do sort(Equation(plane(P,c[1]*(x-H[i,1]) +c[2]*(y-H[i,2]) +c[3]*(zH[i,3]) =0,[x,y,z])), {x,y,z}): od; 4 x 6 y 5 z103 0. Bài toán. Mặt cầu đi qua ba điểm A, B, C cắt mặt phẳng theo một đường tròn có bán kính nhỏ nhất. > restart; with(geom3d): a:=[-t,-t,t]: point(T,a): point(A,1,-1,-1): point(B,2,1,2): point(C,1,3,1): plane(ABC,[A,B,C],[x,y,z]): d:=distance(T,ABC): R:=distance(T,A): r:=R^2-d^2; sol:=minimize(r,'location'); coordinates(point(T1,op(eval(a,op(1,sol[2][1]))))): rad:=subs(op(1,sol[2][1]),R): Equation(sphere(S,[T1,rad],[x,y,z])): Student[Precalculus][CompleteSquare](Equation(S)); 1 r := 3 2 t 3 t 2 14 t 10 2 84 8 8 sol := , {  { t 1 },  } 7  7 ( z1 )2 ( y 1 ) 2 ( x 1 ) 28 0. > restart: with(geom3d): line(d1,[-1+t,t+1,1-t],t): 6.

<span class='text_page_counter'>(66)</span> a:=ParallelVector(d1): line(d2,[2+4*t,-2*t,1+3*t],t): b:=ParallelVector(d2): with(linalg): c:=crossprod(a,b): Equation(plane(P,c[1]*x +c[2]*y +c[3]*z +m=0,[x,y,z])): sphere(S,[point(T,2,-1,3), norm(c,2)],[x,y,z]): sol:=solve(distance(T,P)=norm(c,2),{m}); for i from 1 to 2 do print (sort(Equation(plane(Q,eval(Equation(P),sol[i]),[x,y,z])))) end do; > restart:. with(geom3d):. a:=[-t, -t, t]: point(T, a): point(A, 1, -1, -1): point(B, 2, 1, 2): point(C, 1, 3, 1): plane(ABC, [A,B,C], [x, y, z]): d:= distance(T, ABC): r:= R^2 - d^2;. R:= distance(T, A):. simplify(r) assuming real;. sol:= minimize(r, location); point(T, subs(Sol, a)):. Sol:= op(sol[2])[1];. R:= subs(Sol, R):. Equation(sphere(S, [T,R], [x, y, z])); Eq:=Student[Precalculus][CompleteSquare](Equation(S)); op(1, Eq) - op(4, op(1, Eq)) = sqrt(-op(4, op(1, Eq)))^`2`; Canonical equation of S. 1 r := 3 2 t 3 t 2 14 t 10 2 84 38 4 2  t t 2 21 3 3 8 8 sol := , {  { t 1 },  } 7  7 Sol := { t 1}.  5 x2 y2 z 2 2 x 2 y2 z 0 Eq := ( z1 )2 ( y 1 ) 2 ( x 1 )28 0 ( z1 ) 2 ( y 1 )2 ( x 1 )2 (2 2 ). Maple 2. 6. 2. #.

<span class='text_page_counter'>(67)</span> restart:. with(geom3d):. a:=[-t, -t, t]: point(T, a): point(A, 1, -1, -1): point(B, 2, 1, 2): point(C, 1, 3, 1): plane(ABC, [A,B,C], [x, y, z]): d:= distance(T, ABC): r:= R^2 - d^2;. R:= distance(T, A):. simplify(r) assuming real;. sol:= minimize(r, location); point(T, subs(Sol, a)):. Sol:= op(sol[2])[1];. R:= subs(Sol, R):. Eq:=lhs(Equation(sphere(S, [T,R], [x, y, z]))); (x+coeff(Eq,x)/2)^2+(y+coeff(Eq,y)/2)^2+ (z+coeff(Eq,z)/2)^2=sqrt((coeff(Eq,x)^2+coeff(Eq,y)^2+coeff(Eq,z)^2)/4 -tcoeff(Eq))^`2`; # Canonical equation of S Đề Cao đẳng 2010 cho hai điểm point(A,1,-2,3): point(B,-1,0,1): viết phương trình mặt cầu có bán kính bằng AB/6, có tâm thuộc đường thằng AB và tiếp xúc với mặt phẳng (P): x + y + z + 4 = 0. This is my code > restart:with(geom3d): point(A,1,-2,3): point(B,-1,0,1): line(AB,[A,B],t): eq:=Equation(AB): point(M,op(eq)): plane(P,x+y+z+4=0,[x,y,z]): R:=distance(A,B)/6: d:=distance(M,P): sol:=solve(R=d,{t}); coordinates(point(T1,eval(coordinates(M),sol[1]))): #first way Equation(sphere(S1,[T1,R],[x,y,z])); (S[1]):=Student[Precalculus][CompleteSquare](Equation(S1)); coordinates(point(T2,subs(sol[2],coordinates(M)))): #second way Equation(sphere(S2,[T2,R],[x,y,z])); S[2]:=Student[Precalculus] [CompleteSquare](Equation(S2)); 7 5 sol := { t}, { t} 2 2 230 2  x  y2 z2 12 x10 y 8 z 0 3 6.

<span class='text_page_counter'>(68)</span> 1 S 1 := ( z 4 )2 ( y5 ) 2 ( x 6 )2  0 3 86  x2 y2 z 2 8 x6 y 4 z 0 3 1 S 2 := ( z 2 )2 ( y3 ) 2 ( x 4 )2  0 3 Problem. Write the equation of the sphere passing through the three points A(-1, 2, 1), B(-3, 4, -5), C(1, 2, -3) and its centre 1) lies in the plane (P): 2*x + 3*y -z = 0; 2)lies on the sphere (x-3)^2 + (y+1/3)^2 + (z-1)^2=1. > restart;with(geom3d): point(A,-1,2,1): point(B,3,-4,5): point(C,1,2,-3): point(T,x,y,z): sphere(S,(x-3)^2 + (y+1/3)^2 + (z-1)^2=1,[x,y,z]): TA:=distance(T,A): TB:=distance(T,B): TC:=distance(T,C): sol:=solve([TA = TB, TA = TC, Equation(S)],[x,y,z]); point(T1,subs(sol[1],coordinates(T))): Equation(sphere(S1,[T1,distance(T1,A)],[x,y,z])); (S[1]):=Student[Precalculus][CompleteSquare](Equation(S1)); point(T2,subs(sol[2],coordinates(T))); Equation(sphere(S2,[T2,distance(T2,A)],[x,y,z])); (S[2]):=Student[Precalculus][CompleteSquare](Equation(S2)); -1 28 -11 5 sol :=   x 4, y , z 1  ,  x , y , z  3 9 9 9     . 40 2 2  x  y 2 z28 x y2 z 0 3 3 2. 1 274  y S 1 := ( z1 )  ( x4 ) 2  0    3 9  2. T2. 6.

<span class='text_page_counter'>(69)</span> 56 22 10  16x2y2 z 2 x y z 0 9 9 9 2. 2. 2. 5 11   28  742  y S 2 :=  z   0     x    9  9  9 27 . > restart;with(geom3d): point(A,-1,2,1): point(B,3,-4,5): point(C,1,2,-3): point(T,x,y,z): plane(P,2*x + 3*y -z = 0,[x,y,z]): TA:=distance(T,A): TB:=distance(T,B): TC:=distance(T,C): sol:=solve([TA = TB, TA = TC, Equation(P)],[x,y,z]); point(T1,subs(sol[1],coordinates(T))): Equation(sphere(S1,[T1,distance(T1,A)],[x,y,z])); (S[1]):=Student[Precalculus][CompleteSquare](Equation(S1)); 8 -5 1 sol :=   x, y , z  3 3 3   . 52 16 10 2  x2 y2 z 2 x y z 0 3 3 3 3 2. 2. 2. 1 5  x8  82 S 1 :=  z   y   0   3  3   3  3 . Problem. Write the equation of the sphere has its centre at C(1, 2, 3) and cut the straight line Delta: x = t+1, y = t-1, z = -t at the points A and B so that the triangle ABC is a equilateral triangle. > restart: with(geom3d): point(C,1,2,3): line(Delta,[t+1,t-1,-t],t): d:=distance(C,Delta): R:=(2*d)/sqrt(3): Equation(sphere(S,[C,R],[x,y,z])); Eq:=Student[Precalculus][CompleteSquare](Equation(S));  10 x 2 y2 z22 x4 y6 z 0 6.

<span class='text_page_counter'>(70)</span> Eq := ( z3 ) 2 ( y2 ) 2 ( x1 )224 0. > restart: with(geom3d): point(C,1,2,-3): line(Delta,[t+1,t-1,-t+3],t): d:=distance(C,Delta): R:=(2*d)/sqrt(3): Equation(sphere(S,[C,R],[x,y,z])); Eq:=Student[Precalculus][CompleteSquare](Equation(S));  10 x 2 y2 z22 x4 y 6 z 0 Eq := ( z 3 ) 2 ( y2 ) 2 ( x1 )224 0. > restart: with(geom3d): point(C,-3,-2,-4): line(Delta,[-t+1,t,1+t],t): d:=distance(C,Delta): R:=(2*d)/sqrt(3): Equation(sphere(S,[C,R],[x,y,z])); Eq:=Student[Precalculus][CompleteSquare](Equation(S));  27 x 2 y2 z2 6 x 4 y 8 z 0 Eq := ( z 4 ) 2 ( y 2 ) 2 ( x 3 )256 0. Problem. Viết phương trình mặt cầu đi qua hai điểm A(0,0, - 2) và cắt d tại hai điểm B, C sao cho BC có độ dài cho trước. > restart:with(geom3d): point(A,0,0,-2): line(Delta,[2*t-2,3*t+2,2*t-3],t): d:=distance(A,Delta): BC:=8: R:=sqrt(d^2+(BC/2)^2): Equation(sphere(S,[A,R],[x,y,z])); Student[Precalculus][CompleteSquare](Equation(S));  21 x2 y2 z 24 z 0 ( z 2 )225 x2 y 2 0. 7.

<span class='text_page_counter'>(71)</span> > restart:with(geom3d): point(A,1,2,-3): line(Delta,[4*t + 1,-3*t-1,t + 1],t): d:=distance(A,Delta): BC:=sqrt(26): R:=sqrt(d^2+(BC/2)^2): Equation(sphere(S,[A,R],[x,y,z])); Student[Precalculus][CompleteSquare](Equation(S));  11 x 2 y2 z22 x4 y 6 z 0 ( z 3 )2( y2 ) 2 ( x1 )225 0. > restart:with(geom3d): point(A,1,-2,3): line(Delta,[t - 2,-3*t,t + 1],t): d:=distance(A,Delta): BC:=10: R:=sqrt(d^2+(BC/2)^2): Equation(sphere(S,[A,R],[x,y,z])); Student[Precalculus][CompleteSquare](Equation(S));  17 x 2 y2 z22 x 4 y6 z 0 ( z3 )2( y 2 ) 2 ( x1 )231 0. Bài toán. Mặt cầu đi qua ba điểm cho trước và tiếp xúc với một mặt phẳng cho trước. > restart:with(geom3d): point(A,2,3,-2): point(B,-2,3,4): point(C,0,-1,2): plane(P,x+5*y+z-33=0,[x,y,z]): point(T,x,y,z): TA:=distance(T,A): TB:=distance(T,B): TC:=distance(T,C): d:=distance(T,P): sol:=solve([TA=TB,TA=TC,TA=d],[x,y,z]); point(T1,subs(sol[1],coordinates(T))):R1:=distance(T1,A): Eq1:=sort(Equation(sphere(S1,[T1,R1],[x,y,z]))); 7.

<span class='text_page_counter'>(72)</span> Student[Precalculus][CompleteSquare](Eq1); point(T2,subs(sol[2],coordinates(T))):R2:=distance(T2,A): Eq2:=sort(Equation(sphere(S2,[T2,R2],[x,y,z]))); Student[Precalculus][CompleteSquare](Eq2); 15 170 77 sol :=  [ x -3, y 2, z -1 ],  x , y , z   67 67 67     Eq1 := x2 y2 z2 6 x4 y 2 z13 0 ( z 1 )2( y2 ) 2 ( x 3 )227 0. 30 340 154 367 Eq2 := x2y2z 2 x y z  0 67 67 67 67 2. 2. 2.  z77   y170   x15  59643 0       67   67   67  4489 . > restart:with(geom3d): point(A,0,2,-2): point(B,1,3,0): point(C,2,1,-1): plane(P,x-y-1= 0,[x,y,z]): point(T,x,y,z): TA:=distance(T,A): TB:=distance(T,B): TC:=distance(T,C): d:=distance(T,P): sol:=solve([TA=TB,TA=TC,TA=d],[x,y,z]); point(T1,subs(sol[1],coordinates(T))): R1:=distance(T1,A): Eq1:=sort(Equation(sphere(S1,[T1,R1],[x,y,z]))); Student[Precalculus][CompleteSquare](Eq1); sol := [ [ x 1, y 2, z -1 ] ]. Eq1 := x2 y2 z22 x4 y 2 z 4 0 ( z 1 )2 ( y2 ) 2 ( x1 ) 22 0. Problem 6. Write the equation of the sphere passing through the point B(-1,-1,0) and tangent to the line 7.

<span class='text_page_counter'>(73)</span> x = t + 1, y = 2*t + 1, z = -t + 2 at the point A(1, 3, 2) so that its radius obtain minimum value. > restart:with(geom3d): point(B,-1,-1,0): point(A,1,3,2): a:=[t+1,2*t+3,-t+2]: line(Delta,a,t): dsegment(AB,[A,B]): midpoint(M,A,B): plane(P,[M,AB]): Equation(P,[x,y,z]): v:=ParallelVector(Delta): plane(Q,[A,v]): Equation(Q,[x,y,z]): intersection(l,P,Q): eq:=Equation(l,t): coordinates(point(C,op(eq))): R:=distance(A,C): T:=minimize(R,'location'): point(C1, subs(op(1,T[2][1]),coordinates(C))): r:=distance(A,C1): Equation(sphere(S,[C1,r],[x,y,z])); Student[Precalculus][CompleteSquare](Equation(S));. . 32 4 18  x2 y2 z2 x y 2 z 0 5 5 5 2. 2. 2  54  y9    ( z 1 )  0    x    5  5 5  2. Bài toán. Đường thẳng song song với hai mặt phẳng và cắt cả hai đường thẳng. > restart:with(geom3d): with(LinearAlgebra): plane(P1,3*x-4*y+9*z=0,[x,y,z]): a1:=NormalVector(P1): plane(P2,x + 4*y. - z=0,[x,y,z]):. a2:=NormalVector(P2): line(d1,[2*t,-4*t+3,3*t-1],t): line(d2,[2*m -3,3*m - 1,4*m. + 2],m): 7.

<span class='text_page_counter'>(74)</span> n1:=convert(a1,Vector): n2:=convert(a2,Vector): A:=<Equation(d1)>: B:=<Equation(d2)>: v:=A-B: sol:=solve([DotProduct(n1,v,conjugate=false)=0, DotProduct(n2,v,conjugate=false)=0],[t,m]); coordinates(point(M,subs(sol[1][1], Equation(d1)))): coordinates(point(N,subs(sol[1][2], Equation(d2)))): Equation(line(MN,[M,N],n)); 1 sol :=   t 1, m   2    24 n ,  13 n , 2 2 n   2   > restart:with(geom3d): with(LinearAlgebra): plane(P1,3*x - y -3*z - 5=0,[x,y,z]): a1:=NormalVector(P1): plane(P2,x. - 2*y. - z -1=0,[x,y,z]):. a2:=NormalVector(P2): line(d1,[2*t-5,2*t,3*t-1],t): line(d2,[2*m ,-5*m. -1,m+2],m):. n1:=convert(a1,Vector): n2:=convert(a2,Vector): A:=<Equation(d1)>: B:=<Equation(d2)>: v:=A-B: sol:=solve([DotProduct(n1,v,conjugate=false)=0, DotProduct(n2,v,conjugate=false)=0],[t,m]); coordinates(point(M,subs(sol[1][1], Equation(d1)))): coordinates(point(N,subs(sol[1][2], Equation(d2)))): Equation(line(MN,[M,N],n)); sol := [ [ t -3, m  1]]. [  11 13 n , -6,  10 13 n ]. Bài toán. Mặt phẳng (P) đi qua hai điểm A, B và có khoảng cách từ C và D đến (P) bằng nhau. > restart: f:=(x,y,z)-> a*x + b*y +c*z + d: 7.

<span class='text_page_counter'>(75)</span> A:=f(1,2,1): B:=f(-2,1,3): C:=f(2,-1,1): M:=f(0,3,1): sol:=solve([A=0,B=0, abs(C) = abs(M), a^2 + b^2 + c^2 = 1],[a,b,c,d]): for i to nops(sol) do subs(sol[i],f(x,y,z)=0) end do; 2 13 x 3 13 z 5 13    0 13 13 13 . 4 69 x 2 69 y 7 69 z 5 69     0 69 69 69 23 4 69 x 2 69 y 7 69 z 5 69     0 69 69 69 23 . 2 13 x 3 13 z 5 13    0 13 13 13. Chú ý. Trong đáp số chỉ là hai mặt phẳng mà thôi. MẶt phẳng đi qua hai điểm A và B có khoảng cách từ C và D bằng nhau. > restart; with(geom3d): point(A,1,-2,-1): point(B,2,4,3): OnSegment(C, A, B, 2): coordinates(C): point(E,2,1,0): point(F,1,2,1): sort(Equation(plane(alpha,[C,E,F],[x,y,z]))); OnSegment(T, A, B, 3/2): coordinates(T): sort(Equation(plane(beta,[T,E,F],[x,y,z]))); 2x 4y 2z 8     0 3 3 3 3 4x z 13  y   0 5 5 5 > restart; with(geom3d): 7.

<span class='text_page_counter'>(76)</span> point(A,3,2,1): point(B,-2,-4,-3): OnSegment(C, A, B, 3): coordinates(C): point(E,2,1,0): point(F,1,2,1): sort(Equation(plane(alpha,[C,E,F],[x,y,z]))); OnSegment(T, A, B, 4/3): coordinates(T): sort(Equation(plane(beta,[T,E,F],[x,y,z]))); 3 x 19 y 25 z 7    0 2 4 4 4 8 x 22 y 30 z 6    0 7 7 7 7 Bài toán. Viết phương trình đường thẳng cắt hai đường thẳng và song song với một mặt phẳng (A, 2007) > restart;with(geom3d): with(LinearAlgebra): a:=[2*t,-t+1,t-2]: b:=[-1+2*m,1+m,3]: line(d1,a,t): line(d2,b,m): plane(P,7*x+y-4*z=0,[x,y,z]): a1:=convert(a,Vector): a2:=convert(b,Vector): v:=a1-a2: n:=convert(NormalVector(P),Vector): w:=CrossProduct(v,n): sol:=solve([seq(w[i]=0,i=1..3)]); coordinates(point(A,subs(sol[2],a))): #first way coordinates(point(B,eval(b,sol[1]))): # second way Equation(line(AB,[A,B],t)); sol := { m  -2, t 1}. [ 27 t,  t,  1 4 t]. > restart;with(geom3d): 7.

<span class='text_page_counter'>(77)</span> with(LinearAlgebra): a:=[2*t,t+1,t-2]: b:=[-1+2*m,1+m,3]: line(d1,a,t): line(d2,b,m): plane(P,x+y-4*z=0,[x,y,z]): a1:=convert(a,Vector): a2:=convert(b,Vector): v:=a1-a2: n:=convert(NormalVector(P),Vector): w:=CrossProduct(v,n): sol:=solve([seq(w[i]=0,i=1..3)]); coordinates(point(A,subs(sol[2],a))): #first way coordinates(point(B,eval(b,sol[1]))): # second way Equation(line(AB,[A,B],t)); sol := { m  10, t 9}. [ 18 t, 10 t, 74 t ]. > restart;with(geom3d): with(LinearAlgebra): a:=[t,t+1,-t-2]: b:=[-1+m,1+m,3]: line(d1,a,t): line(d2,b,m): plane(P,x+2*y-4*z + 2=0,[x,y,z]): a1:=convert(a,Vector): a2:=convert(b,Vector): v:=a1-a2: n:=convert(NormalVector(P),Vector): w:=CrossProduct(v,n): sol:=solve([seq(w[i]=0,i=1..3)]); coordinates(point(A,subs(sol[2],a))): #first way coordinates(point(B,eval(b,sol[1]))): # second way Equation(line(AB,[A,B],t)); sol := { m  -7, t -9 }. 7.

<span class='text_page_counter'>(78)</span> [  9 t,  8 2 t, 74 t ]. Bài toán. Viết phương trình đường thẳng cắt hai đường thẳng và song song với hai mặt phẳng. > restart:with(geom3d): with(LinearAlgebra): plane(P1,3*x-y+z+1=0,[x,y,z]): a1:=NormalVector(P1): plane(P2,x + y. - z-2=0,[x,y,z]):. a2:=NormalVector(P2): line(d1,[2*t,-t+3,t-1],t): line(d2,[2*m ,-m ,-m ],m): n1:=convert(a1,Vector): n2:=convert(a2,Vector): A:=<Equation(d1)>: B:=<Equation(d2)>: v:=A-B: sol:=solve([DotProduct(n1,v,conjugate=false)=0, DotProduct(n2,v,conjugate=false)=0],[t,m]); coordinates(point(M,subs(sol[1][1], Equation(d1)))); coordinates(point(N,subs(sol[1][2], Equation(d2))));Equation(line(MN, [M,N],n)); sol := [ [ t 2, m  2]] [ 4, 1, 1 ]. [ 4, -2, -2 ] [ 4, 13 n , 13 n ]. > restart:with(geom3d): with(LinearAlgebra): plane(P1,3*x - 2*y -3*z - 5=0,[x,y,z]): a1:=NormalVector(P1): plane(P2,x. +2*y +z -1=0,[x,y,z]): a2:=NormalVector(P2):. line(d1,[2*t,-3*t,t-1],t): line(d2,[2*m ,-m ,m+2],m): n1:=convert(a1,Vector): n2:=convert(a2,Vector): A:=<Equation(d1)>: B:=<Equation(d2)>: v:=A-B: sol:=solve([DotProduct(n1,v,conjugate=false)=0, DotProduct(n2,v,conjugate=false)=0],[t,m]); 7.

<span class='text_page_counter'>(79)</span> coordinates(point(M,subs(sol[1][1], Equation(d1)))); coordinates(point(N,subs(sol[1][2], Equation(d2)))); Equation(line(MN,[M,N],n)); sol := [ [ t -1, m  0]]. [ -2, 3, -2 ] [ 0, 0, 2 ]. [  2 2 n , 33 n ,  24 n ]. > restart:with(geom3d): with(LinearAlgebra): plane(P1,3*x -y -z + 1=0,[x,y,z]): a1:=NormalVector(P1): plane(P2,x + y +3*z -1=0,[x,y,z]): a2:=NormalVector(P2): line(d1,[-t,-2*t,-t-1],t): line(d2,[-m ,2*m+1 ,-m+2],m): n1:=convert(a1,Vector): n2:=convert(a2,Vector): A:=<Equation(d1)>: B:=<Equation(d2)>: v:=A-B: sol:=solve([DotProduct(n1,v,conjugate=false)=0, DotProduct(n2,v,conjugate=false)=0],[t,m]); coordinates(point(M,subs(sol[1][1], Equation(d1)))); coordinates(point(N,subs(sol[1][2], Equation(d2)))); Equation(line(MN,[M,N],n)); sol := [ [ t -2, m  -1 ] ]. [ 2, 4, 1 ] [ 1, -1, 3 ]. [ 2n , 45 n , 1 2 n]. Bài toán.Mặt phẳng đi qua hai điểm A, B và có khoảng cách đến điểm O lớn nhất restart:with(geom3d): point(A,2,-2,3): point(B,2,0,1): point(o,0,0,0): plane(oAB,[o,A,B]): 7.

<span class='text_page_counter'>(80)</span> n:=NormalVector(oAB): line(AB,[A,B]): a:=ParallelVector(AB): with(linalg): v:=crossprod(n,a): sort(Equation(plane(Q,[A,v],[x,y,z])));  4 xyz 9 0. Bài toán. Đường thẳng vuông góc với d1, cắt d2, d3 tại các điểm A, B sao cho AB = sqrt(6). > restart: with(geom3d): with(LinearAlgebra): line(d1,[-t-1,t+3,t-3],t): line(d2,[m+1,m,m],m): line(d3,[k,2*k,k-2],k): a1:=convert(ParallelVector(d1),Vector): M:=<Equation(d2)>: N:=<Equation(d3)>: M-N: sol:=solve([DotProduct(M-N,a1,conjugate=false)=0, Norm(MN,2)=sqrt(6)],[m,k]); coordinates(point(A1,subs(sol[1] [1],Equation(d2)))): coordinates(point(B1,subs(sol[1][2],Equation(d3)))): Equation(line(l1,[A1,B1],s)); coordinates(point(A2,subs(sol[2][1],Equation(d2)))): coordinates(point(B2,subs(sol[2][2],Equation(d3)))): Equation(line(l2,[A2,B2],s)); sol := [ [ m 1, k 1 ], [ m -5, k -2 ] ] [ 2s, 1 s, 12 s ]. [  4 2 s,  5 s,  5 s]. Bài toán. Đường thẳng song song với mặt phẳng 2*x -y +2*z -3=0, cắt hai đường thẳng d1, d2 tại A và B sao cho AB = 3. > restart: with(geom3d): with(LinearAlgebra): plane(P,2*x -y +2*z -3=0,[x,y,z]): line(d1,[2*t+4,2*t+1,-t],t): line(d2,[2*m - 3,3*m - 5,-2*m+7],m): A:=<Equation(d1)>: B:=<Equation(d2)>: 8.

<span class='text_page_counter'>(81)</span> v:=convert(NormalVector(P),Vector): sol:=solve([DotProduct(A-B,v,conjugate = false)=0, Norm(A-B,2) =3], [t,m]); coordinates(point('A',subs(sol[1][1],Equation(d1)))): coordinates(point('B',subs(sol[1][2],Equation(d2)))): Equation(line(l1,[A,B],s));. sol := [ [ t -1, m  2]]. [ 2s,  1 2 s, 1 2 s]. Bài toán. Cho mặt phẳng (P), điểm A và đường thẳng d. Viết phương trình đường thẳng đi qua A cắt d tại B, cắt P tại C sao cho vector(AC) + 2vector(AB) = vector(0). > restert: restart;with(geom3d): line(d,[t-3,t-2,t-1],t): B:=<Equation(d)>: A:=<-1,0,2>: C:=<x,y,x+y+3>: v:=C-A+2*(B-A); sol:=solve([seq(v[i]=0,i=1..3)]); point(E,subs(sol[1],Equation(d))): coordinates(E); convert(A,list): point('A',op(%)): Equation(line(AE,[E,A],t)); 2t   x3   v :=  y2 t4   x y 52 t  sol := { t 1, x 1, y 2}. [ -2, -1, 0 ] [ t2, t1, 2 t ]. Thử sức trước kì thi, Đề số 5, Báo THTT, 2/2010 > restert:with(geom3d): line(d,[2*t+3,4*t+2,t+6],t): B:=<Equation(d)>: A:=<-1,0,2>: 8.

<span class='text_page_counter'>(82)</span> C:=<x,y,2*x-y+3>: v:=C-A+2*(B-A); sol:=solve([seq(v[i]=0,i=1..3)]); point('B',subs(sol[1],Equation(d))): coordinates(B); convert(A,list): point('A',op(%)):Equation(line(AB,[B,A],t)); 9 4t   x   v :=  y 8 t 4   2 xy 9 2 t . 5 sol := { t, x -19, y -24 } 2  8, 12, 17    2   Bài toán. Cho mặt cầu (S) và mặt phẳng (P). Tìm toạ độ điểm M trên (S) sao cho khoảng cách từ M đến (P) nhỏ nhất, lớn nhất. Problem. Find the coordinates of the point M on the sphere (S): x^2 + y^2 + z^2-2*x+4*y+2*z-3=0 such that the distance from the point M to the plane 2*x-y+2*z-14=0 is the smallest, the largest. > restart;with(geom3d):sphere(S,x^2 + y^2 + z^2-2*x+4*y+2*z-3=0, [x,y,z]): point(C,coordinates(center(S))): plane(P,2*x-y+2*z-14=0,[x,y,z]): n:=NormalVector(P): line(Delta,[C,n],t): Eq:=Equation(Delta): sol:=solve([x=Eq[1], y = Eq[2], z = Eq[3], Equation(S)],[x,y,z,t]); coordinates (point(M1, rhs(op(1,sol[1])), rhs(op(2,sol[1])), rhs(op(3,sol[1])))); distance(M1,P); coordinates(point(M2, rhs(op(1,sol[2])), rhs(op(2,sol[2])), rhs(op(3,sol[2])))); distance(M2,P); sol := [ [ x -1, y -1, z -3, t -1 ], [ x 3, y -3, z 1, t 1]] 8.

<span class='text_page_counter'>(83)</span> [ -1, -1, -3 ]. 7 [ 3, -3, 1 ]. 1. > restart;with(geom3d):sphere(S,x^2 + y^2 + z^2-6*x+4*y-2*z+5=0, [x,y,z]): point(C,coordinates(center(S))): plane(P,x + 2*y+2*z+11=0,[x,y,z]): n:=NormalVector(P): line(Delta,[C,n],t): Eq:=Equation(Delta): sol:=solve([x=Eq[1], y = Eq[2], z = Eq[3], Equation(S)],[x,y,z,t]); coordinates (point(M1, rhs(op(1,sol[1])), rhs(op(2,sol[1])), rhs(op(3,sol[1])))); distance(M1,P); coordinates(point(M2, rhs(op(1,sol[2])), rhs(op(2,sol[2])), rhs(op(3,sol[2])))); distance(M2,P); sol := [ [ x 2, y -4, z -1, t -1 ], [ x 4, y 0, z 3, t 1]]. [ 2, -4, -1 ] 1. [ 4, 0, 3 ] 7. > restart;with(geom3d):sphere(S,x^2 + y^2 + z^2-6*x+4*y-2*z-2=0, [x,y,z]): point(C,coordinates(center(S))): plane(P,2*x +y-2*z+22=0,[x,y,z]): n:=NormalVector(P): line(Delta,[C,n],t): Eq:=Equation(Delta): sol:=solve([x=Eq[1], y = Eq[2], z = Eq[3], Equation(S)],[x,y,z,t]); coordinates (point(M1, rhs(op(1,sol[1])), rhs(op(2,sol[1])), rhs(op(3,sol[1])))); distance(M1,P); 8.

<span class='text_page_counter'>(84)</span> coordinates(point(M2, rhs(op(1,sol[2])), rhs(op(2,sol[2])), rhs(op(3,sol[2])))); distance(M2,P); 1 -10 11 -4 17 -2 -5 4 sol :=   x, y , z , t  ,  x , y , z , t  3 3 3 3  3 3 3 3    1, -10, 11    3 3 3  4.  17, -2, -5     3 3 3 12. > restart;with(geom3d):sphere(S,(x-1)^2 + (y+2)^2 + (z - 3)^2 =25, [x,y,z]): point(C,coordinates(center(S))): plane(P,3*x - 4*z + 19=0,[x,y,z]): n:=NormalVector(P): line(Delta,[C,n],t): Eq:=Equation(Delta): sol:=solve([x=Eq[1], y = Eq[2], z = Eq[3], Equation(S)],[x,y,z,t]); coordinates (point(M1, rhs(op(1,sol[1])), rhs(op(2,sol[1])), rhs(op(3,sol[1])))); distance(M1,P); coordinates(point(M2, rhs(op(1,sol[2])), rhs(op(2,sol[2])), rhs(op(3,sol[2])))); distance(M2,P); sol := [ [ x 4, y -2, z -1, t 1 ], [ x -2, y -2, z 7, t -1 ] ]. [ 4, -2, -1 ] 7. [ -2, -2, 7 ] 3. Đoạn mã sau cần đúng một lệnh. > restart:extrema(sqrt((X-x)^2+(Y-y)^2+(Z-z)^2),{x^2 + y^2 + z^22*x+4*y+2*z-3=0, 2*X-Y+2*Z-14=0},{X,Y,Z,x,y,z},'s'), s;. 8.

<span class='text_page_counter'>(85)</span> 11 -10 5 { 1, 7 }, { { X  , Y , Z , x -1, y -1, z -3 }, 3 3 3 11 -10 5 { X  , Y , Z , x 3, y -3, z 1}} 3 3 3. > restart:extrema(sqrt((X-x)^2+(Y-y)^2+(Z-z)^2),{x^2 + y^2 + z^2 + 2*x - 4*y - 2*z + 5 = 0, X - 2*Y + 2*Z - 3 = 0},{X,Y,Z,x,y,z},'s'), s; { 1, 3 }, { -1 2 7 -4 8 1 -1 2 7 -2 4 5 { X  , Y, Z , x , y, z}, { X  , Y, Z , x , y, z} 3 3 3 3 3 3 3 3 3 3 3 3 }. Bài toán. Tìm điểm M thuộc d1, N thuộc d2 sao cho đoạn thẳng MN nhỏ nhất. Tính khoảng cách ngắn nhất đó. > restart:extrema(sqrt((X-x)^2+(Y-y)^2+(Z-z)^2),{x = y +3,x = (z-2)/(2), (X-1)/3 = (Y-5)/2, (Y-5)/2 =-Z },{X,Y,Z,x,y,z},'s'), s; { 35 }, { { X  -2, Y 3, Z  1, x 1, y -2, z 0}} > restart:extrema(sqrt((X-x)^2+(Y-y)^2+(Z-z)^2),{x/3 = y +3,x/3 = (z -2)/2, (X +1)/3 = Y, Y = Z},{X,Y,Z,x,y,z},'s'), s; { 10 }, { { X -7, Y -2, Z -2, x -6, y -5, z -2 } } > restart:extrema(sqrt((X-x)^2+(Y-y)^2+(Z-z)^2),{(x-1)/2 = (y +3)/3,(x1)/2 = (z -2)/2, (X +1)/3 = (Y-1)/4, (Y-1)/4 = Z},{X,Y,Z,x,y,z},'s'), s; {. 2 14 3. 3. -13 -4 -5 -2 }, { { X  -5, Y , Z , x , y -7, z } } 3 3 3 3. Bài toán. Tìm toạ độ điểm M trên đường thẳng x = 2t + 1, y = 4t, z = – t – 1 sao cho tam giác AMB vuông tại M, với A(4; –1; 1) và B(2; 5; 0) > restart;with(LinearAlgebra): A:=<4,-1,1>: B:=<2,5,0>: M:=<2*t+1,4*t,-t-1>: u:=A-M: v:=B-M: sol:=solve(DotProduct(u,v,conjugate=false)=0,{t}); 'M[1]'=subs(sol[1],M); 'M[2]'=subs(sol[2],M); sol := { t 0 }, { t 1}. 8.

<span class='text_page_counter'>(86)</span>  1    0 M1    -1    3    4 M2    -2  . Bài toán. Cho hình vuông MNPQ có M và P. Tìm toạ độ các đỉnh Q biết N nằm trong mặt phẳng cho trước. Problem. Let MNPQ be a square. Find the other two vertices, knowing that, the vertices M(5; 3; -1), P(2; 3; -4) and N lies on the plane x + y - z - 6 = 0. > restart: with(LinearAlgebra): M:=<5,3,-1>: P:=<2,3,-4>: N:=<x,y,z>: A:=DotProduct(M-N,P-N,conjugate =false): B:=Norm(M-N,2)=Norm(P-N,2): sol:=solve([x+y-z-6=0,A=0,B],[x,y,z]):T:=(M+P)/2:for i to nops(sol) do N[i]:=<rhs(sol[i][1]), rhs(sol[i][2]),rhs(sol[i][3])> end do; for i to 2 do Q[i] = 2*T-N[i] end do;  2   N 1 :=  3  -1    3   N 2 :=  1  -2    5    3 Q 1    -4    4    5 Q 2    -3  . Bài toán. Cho hai đđiểm A, B. Tìm điểm C thuộc mặt phẳng (P) sao cho tam giác ABC cân tại C và có diện tích bằng 2sqrt(17). > restart:with(LinearAlgebra): A:=<3,5,4>: 8.

<span class='text_page_counter'>(87)</span> B:=<3,1,4>: C:=<x,y,z>: M:=(A+B)/2: solve([Norm(C-A,2) =Norm(C-B,2), x-y-z-1=0,1/2*Norm(A-B,2)*Norm(CM,2)=2*sqrt(17)]); { x 4, y 3, z 0 }, { x 7, y 3, z 3}. Cho hai điểm A, B. Tìm điểm C thuộc mặt phẳng P sao cho tam giác ABC vuông cân tại C. > restart: with(LinearAlgebra): A:=<5,3,-1>: B:=<2,3,-4>: C:=<x,y,z>: u:=DotProduct(A-C,B-C,conjugate = false): solve([Norm(A-C,2)=Norm(B-C,2),u=0,x-y-z-4=0],[x,y,z]); 14 13 -11   x , y , z  , [ x 3, y 1, z -2 ]    3 3 3    > restart: with(geom3d): sphere(S,x^2 + y^2 + z^2 -2*x + 2*z + 1 = 0,[x,y,z]): point(M,1, 2,1): point(N,3, 1, -1): point(C,coordinates(center(S))): plane(alpha,[M,N,C],[x,y,z]): Equation(line(MN,[M,N],t)): a:=ParallelVector(MN): plane(beta,[C,a],[x,y,z]): intersection(Delta,alpha,beta): Eq:=Equation(Delta,t): solve([x = Eq[1],y=Eq[2],z=Eq[3],Equation(S)],[x,y,z,t]);. 5 2 -2 1 1 -2 -4 2   x , y, z , t ,  x, y , z , t    3 3 3 9  3 3 3 9   Bài toán. Cho mặt cầu S và hai điểm M, N. Tìm trên (S) điểm sao cho diện tích tam giác KMN nhỏ nhất, lớn nhất. Chú ý lệnh allvalues(%); > restart: with(geom3d): 8.

<span class='text_page_counter'>(88)</span> sphere(S,x^2 + y^2 + z^2 -2*x + 2*z + 1 = 0,[x,y,z]): point(M,1, 2,1): point(N,3, 1, -1): point(C,coordinates(center(S))): plane(alpha,[M,N,C],[x,y,z]): Equation(line(MN,[M,N],t)): a:=ParallelVector(MN): plane(beta,[C,a],[x,y,z]): intersection(Delta,alpha,beta): Eq:=Equation(Delta,t): solve([x = Eq[1],y=Eq[2],z=Eq[3],Equation(S)],[x,y,z,t]); 5 2 -2 1 1 -2 -4 2   x , y, z , t ,  x, y , z , t    3 3 3 9  3 3 3 9   > restart: with(geom3d): sphere(S,(x-1)^2 + (y+2)^2 + (z-2)^2 = 9,[x,y,z]): point(M,7, -6,-3): point(N,3, 6, -1): point(C,coordinates(center(S))): plane(alpha,[M,N,C],[x,y,z]): Equation(line(MN,[M,N],t)): a:=ParallelVector(MN): plane(beta,[C,a],[x,y,z]): intersection(Delta,alpha,beta): Eq:=Equation(Delta,t): solve([x = Eq[1],y=Eq[2],z=Eq[3],Equation(S)],[x,y,z,t]); 1  [ x 3, y -1, z 0, t 0 ],  x -1, y -3, z 4, t    164     > restart: with(geom3d): sphere(S,x^2 + y^2 + z^2 -2*x + 2*z + 1 = 0,[x,y,z]): point(M,1, 2,-1): point(N,3, 1, -1): point(C,coordinates(center(S))): plane(alpha,[M,N,C],[x,y,z]): Equation(line(MN,[M,N],t)): a:=ParallelVector(MN): plane(beta,[C,a],[x,y,z]): intersection(Delta,alpha,beta): Eq:=Equation(Delta,t): 8.

<span class='text_page_counter'>(89)</span> solve([x = Eq[1],y=Eq[2],z=Eq[3],Equation(S)],[x,y,z,t]): allvalues(%); 5 2 5 1 5     x 1 , y  , z -1, t     , 5 5 4 20    5 2 5 1 5     x 1 , y , z -1, t     5 5 4 20   . Bài toán. Cho đường thẳng (d), các mặt phẳng (P) và (Q) với (P) vuông góc (Q). Tìm toạ độ giao điểm N của (d) và (P). Viết phương trình mặt cầu có tâm I thuộc mặt phẳng (Q), tiếp xúc với mặt phẳng (P) tại M điểm M sao cho tam giác MIN vuông cân. restart;with(geom3d): point(M,1,2,1): plane(P,x+y-3=0,[x,y,z]): plane(Q,2*x-2*y+z-1=0,[x,y,z]): line(d,[1+2*t,1-t,t],t): n:=NormalVector(P): line(Delta,[M,n],t): Eq:=Equation(Delta): intersection(N,d,P): coordinates(N): r:=distance(M,N): Equation(sphere(S,[M,r],[x,y,z])): sol:=solve([Equation(S),x= Eq[1],y=Eq[2],z=Eq[3]],[x,y,z,t]): if nops(sol)=1 then sol:=[allvalues(op(sol))] else sol:=allvalues(sol) fi; point(T1,rhs(op(1,sol[1])), rhs(op(2,sol[1])),rhs(op(3,sol[1]))): R1:=distance(T1,M): Equation(sphere(S1,[T1,R1],[x,y,z])); S[1]:=Student[Precalculus] [CompleteSquare](Equation(S1)); point(T2,rhs(op(1,sol[2])), rhs(op(2,sol[2])),rhs(op(3,sol[2]))): R2:=distance(T2,M): Equation(sphere(S2,[T2,R2],[x,y,z])); S[2]:=Student[Precalculus] [CompleteSquare](Equation(S2)); sol := [ [ x -1, y 0, z 1, t -2 ], [ x 3, y 4, z 1, t 2]]  6 x2 y2 z2 2 x2 z 0. S 1 := ( z1 ) 2 ( 1 x )28 y2 0 18 x2 y2 z26 x8 y2 z 0. S 2 := ( z1 )2 ( y4 ) 2 ( x3 )28 0 > restart;with(geom3d): point(M,1,2,1): plane(P,x+y-3=0,[x,y,z]): plane(Q,2*x-2*y+z-1=0,[x,y,z]): line(d,[1+2*t,1-t,3*t],t): n:=NormalVector(P): line(Delta,[M,n],t): Eq:=Equation(Delta): 8.

<span class='text_page_counter'>(90)</span> intersection(N,d,P): coordinates(N): r:=distance(M,N): Equation(sphere(S,[M,r],[x,y,z])): sol:=solve([Equation(S),x= Eq[1],y=Eq[2],z=Eq[3]],[x,y,z,t]): if nops(sol)=1 then sol:=[allvalues(op(sol))] else sol:=allvalues(sol) fi; point(T1,rhs(op(1,sol[1])), rhs(op(2,sol[1])),rhs(op(3,sol[1]))): R1:=distance(T1,M): Equation(sphere(S1,[T1,R1],[x,y,z])); S[1]:=Student[Precalculus] [CompleteSquare](Equation(S1)); point(T2,rhs(op(1,sol[2])), rhs(op(2,sol[2])),rhs(op(3,sol[2]))): R2:=distance(T2,M): Equation(sphere(S2,[T2,R2],[x,y,z])); S[2]:=Student[Precalculus] [CompleteSquare](Equation(S2)); sol := [ [ x 1 6 , y 2 6 , z 1, t6 ], [ x 1 6 , y 2 6 , z 1, t  6 ]] 2. 2. x 2 y2 z2 (  22 6 ) x (  42 6 ) y2 z ( 1 6 )  ( 2 6 ) 11 0 2. (  22 6 ) (  42 6 ) S 1 := ( z1 )2 ( y2 6 )  ( x1 6 ) 12  4 4 2. 2. 2. 2. 2.  ( 2 6 )  ( 1 6 )  0 2. 2. x 2 y2 z2 (  2 2 6 ) x (  4 2 6 ) y2 z ( 1 6 )  ( 2 6 ) 11 0 2. (  2 2 6) (  4 2 6) S 2 := ( z1 )2 ( y2 6 )  ( x1 6 ) 12  4 4 2. 2. 2. 2. 2.  ( 2 6 )  ( 1 6 )  0. > restart;with(geom3d): with(LinearAlgebra): M:= <1,-1,3>: line(Delta,[2*t+2,-t-1,t+1],t): plane(P,x -y -z - 1 = 0,[x,y,z]): a:=convert(ParallelVector(Delta),Vector): n:=convert(NormalVector(P),Vector): A:=<x,y,z>: v:=DotProduct(A-M, a,conjugate = false): B:=<2,-1,1>: # B lies on Delta d:=Norm(CrossProduct(A-B, a), 2)/Norm(a,2): sol:=solve([x -y -z - 1 = 0, v = 0, d = sqrt(33/2)]); coordinates(point('A1',op([seq(rhs(sol[1,i]),i=1..3)]))); coordinates(point('A2',op([seq(rhs(sol[2,i]),i=1..3)]))); -2 -55 37 5 1 sol := { x , y , z }, { x 4, y, z} 7 14 14 2 2 9.

<span class='text_page_counter'>(91)</span>  -2, -55, 37     7 14 14   4, 5, 1     2 2 Problem. Let (S): x^2 + y^2 + z^2 -2*x +2*z + 1 = 0 be a sphere and M(1, 2, -1), N(3, 1, -1) be two points. Find the coordinates of the point K lies on the sphere (S) such that the triangle KHN has minimum area. > restart: with(geom3d): sphere(S,x^2 + y^2 + z^2 -2*x + 2*z + 1 = 0,[x,y,z]): point(M,1, 2,1): point(N,3, 1, -1): point(C,coordinates(center(S))): plane(alpha,[M,N,C],[x,y,z]): Equation(line(MN,[M,N],t)): a:=ParallelVector(MN): plane(beta,[C,a],[x,y,z]): intersection(Delta,alpha,beta): Eq:=Equation(Delta,t): solve([x = Eq[1],y=Eq[2],z=Eq[3],Equation(S)],[x,y,z,t]); 5 2 -2 1 1 -2 -4 2   x , y, z , t ,  x, y , z , t    3 3 3 9  3 3 3 9   Problem. In the plane 2*x -3*y +3*z -17 = 0, find a point M such that the sum of its distances from the poits A(3, -4, 7) and B(-5, -14, 17) will have the least value. > restart:with(geom3d): point(A,3,-4,7): point(B,-5,-14,17): plane(P,2*x - 3*y +3*z -17=0,[x,y,z]): reflection(Q,A,P): line(BQ,[B,Q]): coordinates(intersection(M,BQ,P)); [ -2, -2, 5 ]. Problem. Write the equation of the plane (P) passing through the line (d): x = -t -1, y = t + 3, z = 2*t + 2, (P) cuts the axis Ox at A and the axis Oy at B (A, B different form origin O) so that OA = 2OB.. > restart: f:=(x,y,z)->a*x+b*y+c*z+d: A:=f(m,0,0): B:=f(0,n,0): C:=f(-1,3,2): v:=-a+b+2*c: sol:=solve([A=0,B=0,C=0,v=0,abs(m) = 2*abs(n),a^2+b^2+c^2=1, a>0, d<>0],[a, b, c, d, m, n]): for i to nops(sol) do subs(sol[i],f(x,y,z)=0) end do; 2 21 x 4 21 y 21 z 8 21     0 21 21 21 21 9.

<span class='text_page_counter'>(92)</span> 2 29 x 4 29 y 3 29 z 8 29     0 29 29 29 29 Problem. Let A(1,-1,-1), B(2,1,2), C(1, 3, 1) be three points and Delta: x = -t, y = -t, z = t be a line. Write the equation of the sphere (S), knowing that center of (S) lies on the line Delta, (S) passing the point A and cuts the plane passing through the three points A, B, C cut (S) a circle has least radius.. > restart: with(geom3d): a:=[-t, -t, t]: point(T, a): point(A, 1, -1, -1): point(B, 2, 1, 2): point(C, 1, 3, 1): plane(ABC, [A,B,C], [x, y, z]): d:= distance(T, ABC): R:= distance(T, A): r:= R^2 - d^2; simplify(r) assuming real; sol:= minimize(r, location); Sol:= op(sol[2])[1]; point(T, subs(Sol, a)): R:= subs(Sol, R): Eq:=lhs(Equation(sphere(S, [T,R], [x, y, z]))); (x+coeff(Eq,x)/2)^2+(y+coeff(Eq,y)/2)^2+ (z+coeff(Eq,z)/2)^2=sqrt((coeff(Eq,x)^2+coeff(Eq,y)^2+coeff(Eq,z)^2)/4 -tcoeff(Eq))^`2`; # Canonical equation of S 1 r := 3 2 t 3 t 2 14 t 10 2 84 38 4 2  t t 2 21 3 3 8 8 sol := , {  { t 1 },  } 7  7 Sol := { t 1} Eq :=  5 x2 y2 z2 2 x 2 y2 z ( x 1 )2 ( y 1 )2 ( z1 )2 (2 2 ). 2. Problem. Write the equation of the line passing through the point A(2, 2, -5), parallel to the plane (P): 2x +3y -z - 17 = 0 and cut the line Delta: x = -2 +3*t, y = 4-t, z = 5 + 2*t.. First way > restart: with(geom3d): point(A,2,2,-5): line(Delta,[-2+3*t,4-t,5+2*t],t): plane(P,2*x+3*y-z-17=0,[x,y,z]): parallel(Q,A,P): Equation(Q): coordinates(intersection(B,Delta,Q)): Equation(line(AB,[A,B],t)); [ 2 32 t, 210 t,  5 34 t ] Second way. > restart: with(geom3d): with(LinearAlgebra):A:=<2,2,-5>: M:=<-2+3*m,4 - m,5+2*m>: plane(P,2*x + 3*y - z - 17 = 0,[x,y,z]): 9.

<span class='text_page_counter'>(93)</span> a:= convert(NormalVector(P),Vector): v:=M-A: solve(DotProduct(v,a,conjugate=false)=0,{m}): assign(%): 'M'=M: N:=<x,y,z>: [seq(N[i]=(A + (M-A)*t)[i],i=1..3)]; [ x 2 32 t, y 210 t, z  5 34 t ] Problem: Let (d): x = 2*t + 3, y = t -2, z = -t -1 be a line and (P): x+ y + z + 2 = 0 be a plane. Write the equation of a line Delta lies in the plane (P), Delta perpendicular to the line (d) and the distance from point M (1,-3, 0) to Delta equal to sqrt (42).. > restart; with(geom3d): line(d,[2*t + 3, t-2, -t-1],t): plane(P,x + y + z + 2 = 0,[x,y,z]): coordinates(intersection(M,d,P)): with(LinearAlgebra): H:=<x,y,z>: a:=convert(ParallelVector(d),Vector): n:=convert(NormalVector(P),Vector): v:=CrossProduct(a,n): m:=convert(coordinates(M),Vector): Sol:=solve([x + y + z + 2 = 0, DotProduct(m - H, v,conjugate=false)=0, Norm(m - H,2)^2 = 42]): H1:=[seq(rhs(Sol[1,i]),i=1..3)]: H2:=[seq(rhs(Sol[2,i]),i=1..3)]: b:=convert(H1,Vector): c:=convert(H2,Vector): A:=<x,y,z>: seq(A[i]=(b + v*t)[i],i=1..3)]; seq(A[i]=(c + v*t)[i],i=1..3)]; [ x 5 2 t, y  23 t, z  5 t] [ x  3 2 t, y  43 t, z 5 t]. Bài toán. Cho hai mặt phẳng (P) và (Q), đường thẳng d. Viết phương trình đường thẳng Delta đi qua điểm A vuông góc với d đồng thời cắt (P), (Q) tại lần lượt M, N sao cho A là trung điểm của MN. > restart: with(LinearAlgebra): with(geom3d): point(A,1,-1,-1): point(M,x,y,z): plane(P,x + z - 3 =0,[x,y,z]): plane(Q,y + z + 5 = 0,[x,y,z]): f:=unapply(lhs(Equation(Q)),x,y,z): # New command. reflection(N,M,A): coordinates(N): intersection(Delta,P,Q): a:=convert(ParallelVector(Delta),Vector): A:=convert(coordinates(A),Vector): M:=convert(coordinates(M),Vector): v:=DotProduct(a,A-M): C:=coordinates(N): n:=NormalVector(Q): 9.

<span class='text_page_counter'>(94)</span> T:=f(C[1],C[2],C[3]): sol:=solve([Equation(P),v=0,T=0]); point('M',rhs(sol[1]),rhs(sol[2]),rhs(sol[3])): coordinates(M); point('A',A[1],A[2],A[3]): coordinates(A): Equation (line(AM,[A,M],t)); sol := { x 2, y 0, z 1}. [ 2, 0, 1 ] [ 1 t,  1 t,  1 2 t]. > restart: with(LinearAlgebra): with(geom3d): point(A,1,-1,-1): point(M,x,y,z): plane(P,x + y + 2*z - 3 =0,[x,y,z]): plane(Q,2*x -y -3*z + 5 = 0,[x,y,z]): f:=unapply(lhs(Equation(Q)),x,y,z): reflection(N,M,A): coordinates(N): line(Delta,[-t + 2, 2*t - 1, -t],t): a:=convert(ParallelVector(Delta),Vector): A:=convert(coordinates(A),Vector): M:=convert(coordinates(M),Vector): v:=DotProduct(a,A-M): C:=coordinates(N): n:=NormalVector(Q): T:=f(C[1],C[2],C[3]): sol:=solve([Equation(P),v=0,T=0]); point('M',rhs(sol[1]),rhs(sol[2]),rhs(sol[3])): coordinates(M); point('A',A[1],A[2],A[3]): coordinates(A): Equation (line(AM,[A,M],t)); sol := { x 6, y 1, z -2 } [ 6, 1, -2 ]. [ 1 5 t, 2 t1,  1t ]. > restart: with(LinearAlgebra): with(geom3d): point(A,1,2,3): point(M,x,y,z): plane(P,x + y + 2*z - 3 =0,[x,y,z]): plane(Q,2*x -y -3*z + 5 = 0,[x,y,z]): f:=unapply(lhs(Equation(Q)),x,y,z): reflection(N,M,A): coordinates(N): line(Delta,[t + 2, t - 1, -t],t): 9.

<span class='text_page_counter'>(95)</span> a:=convert(ParallelVector(Delta),Vector): A:=convert(coordinates(A),Vector): M:=convert(coordinates(M),Vector): v:=DotProduct(a,A-M): C:=coordinates(N): n:=NormalVector(Q): T:=f(C[1],C[2],C[3]): sol:=solve([Equation(P),v=0,T=0]); point('M',rhs(sol[1]),rhs(sol[2]),rhs(sol[3])): coordinates(M); point('A',A[1],A[2],A[3]): coordinates(A): Equation (line(AM,[A,M],t)); sol := { x -3, y 4, z 1}. [ -3, 4, 1 ] [ 14 t, 2 2 t, 32 t ]. >. 9.

<span class='text_page_counter'>(96)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×