\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{utopia}
\usepackage[utopia]{mathdesign}
\usepackage{amsmath}
\usepackage{moreverb}
\usepackage{graphicx}
\usepackage[paperwidth=14.5cm, paperheight=20.5cm, left=1.75cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\newcommand{\executGiac}[1]{
\immediate\write18{giac <#1 } }
\begin{document}
\thispagestyle{empty}
\begin{verbatimwrite}{testquadric.in}
maple_mode(0);
Sortie:=fopen("testquadric.out.tex");
zz:=x^2/25+y^2/16-z^2/25-1;
Resultat:=cat("Cho mặt bậc hai có phương trình:","$$",latex(ans()),"=0$$");
x0:=5;
Resultat:=cat(Resultat,"Tọa độ điểm $M$ nằm trên mặt là"," $$x_0=",latex(ans()),"$$");
y0:=4;
Resultat:=cat(Resultat,""," $$y_0=",latex(ans()),"$$");
z0:=5;
Resultat:=cat(Resultat,""," $$z_0=",latex(ans()),"$$");
a:=sqrt(abs(2/diff(diff(zz,x),x)));
Resultat:=cat(Resultat,"Các hệ số của phương trình mặt hyperboloit 1 tầng là:"," $$a=",latex(ans()),"$$");
b:=sqrt(abs(2/diff(diff(zz,y),y)));
Resultat:=cat(Resultat,""," $$b=",latex(ans()),"$$");
c:=sqrt(abs(2/diff(diff(zz,z),z)));
Resultat:=cat(Resultat,""," $$c=",latex(ans()),"$$");
(x/a+z/c)*(x/a-z/c)-(1+y/b)*(1-y/b);
Resultat:=cat(Resultat,"Phương trình đường bậc hai có thể được viết:"," $$",latex(ans()),"=0$$");
pt1:=p*(x/a+z/c)-q*(1+y/b)=0;
Resultat:=cat(Resultat,"PT đường sinh thẳng thứ nhất:"," $$",latex(ans()),"$$");
pt2:=q*(x/a-z/c)-p*(1-y/b)=0;
Resultat:=cat(Resultat,""," $$",latex(ans()),"$$");
pt11:=subs(pt1,x=x0);
pt12:=subs(pt11,y=y0);
pt13:=simplify(subs(pt12,z=z0));
Resultat:=cat(Resultat,"Thay tọa độ diểm $A$ vào hệ phương trình ta được:"," $$",latex(ans()),"$$");
pt21:=subs(pt2,x=x0);
pt22:=subs(pt21,y=y0);
pt23:=simplify(subs(pt22,z=z0));
Resultat:=cat(Resultat,""," $$",latex(ans()),"$$");
pt14:=subs(pt13,p=x);
pt15:=subs(pt14,q=y);
l1:=diff(lhs(pt15),x);
l2:=diff(lhs(pt15),y);
pt24:=subs(pt23,p=x);
pt25:=subs(pt24,q=y);
L1:=diff(lhs(pt25),x);
L2:=diff(lhs(pt25),y);VTCP
[l1+L1,l2+L2];
Resultat:=cat(Resultat,"test"," $$",latex(ans()),"$$");
q:=simplify(reverse_rsolve([l1+L1,l2+L2])[1]);
Resultat:=cat(Resultat,"Chọn $q$"," $$q=",latex(ans()),"$$");
p:=simplify(reverse_rsolve([l1+L1,l2+L2])[0]);
Resultat:=cat(Resultat,"Suy ra $p$"," $$p=",latex(ans()),"$$");
dst1:=collect(getNum(simplify(p*(x/a+y/b)-q*(1+z/c))))=0;
Resultat:=cat(Resultat,"PT đường sinh thẳng thứ nhất:","$$",latex(ans()),"$$");
dst2:=collect(getNum(simplify(q*(x/a-y/b)-p*(1-z/c))))=0;
Resultat:=cat(Resultat,""," $$",latex(ans()),"$$");
vt1:=[diff(lhs(dst1),x),diff(lhs(dst1),y),diff(lhs(dst1),z)];
vt2:=[diff(lhs(dst2),x),diff(lhs(dst2),y),diff(lhs(dst2),z)];
vt:=simplify(cross(vt1,vt2));
ucln:=gcd(vt[0],vt[1],vt[2]);
vt/ucln;
Resultat:=cat(Resultat,"Vectơ chỉ phương: "," $$",latex(ans()),"$$");
pt3:=P*(x/a+z/c)-Q*(1-y/b)=0;
Resultat:=cat(Resultat,"PT đường sinh thẳng thứ hai:"," $$",latex(ans()),"$$");
pt4:=Q*(x/a-z/c)-P*(1+y/b)=0;
Resultat:=cat(Resultat,""," $$",latex(ans()),"$$");
pt31:=subs(pt3,x=x0);
pt32:=subs(pt31,y=y0);
pt33:=simplify(subs(pt32,z=z0));
Resultat:=cat(Resultat,"Thay tọa độ diểm $A$ vào hệ phương trình ta được:"," $$",latex(ans()),"$$");
pt41:=subs(pt4,x=x0);
pt42:=subs(pt41,y=y0);
pt43:=simplify(subs(pt42,z=z0));
Resultat:=cat(Resultat,""," $$",latex(ans()),"$$");
pt34:=subs(pt33,P=x);
pt35:=subs(pt34,Qq=y);
m1:=diff(lhs(pt35),x);
m2:=diff(lhs(pt35),y);
pt44:=subs(pt43,P=x);
pt45:=subs(pt44,Q=y);
M1:=diff(lhs(pt45),x);
M2:=diff(lhs(pt45),y);
[m1+M1,m2+M2];
Resultat:=cat(Resultat,"test"," $$",latex(ans()),"$$");
%Q:=simplify(reverse_rsolve([m1+M1,m2+M2])[1]);
%Resultat:=cat(Resultat,"Chọn $Q$"," $$P=",latex(ans()),"$$");
%P:=simplify(reverse_rsolve([m1+M1,m2+M2])[0]);
P:=0;
%Resultat:=cat(Resultat,"Suy ra $P$"," $$P=",latex(ans()),"$$");
Q:=1;
dst3:=collect(getNum(simplify(P*(x/a+y/b)-Q*(1-z/c))))=0;
Resultat:=cat(Resultat,"PT đường sinh thẳng thứ hai:","$$",latex(ans()),"$$");
dst4:=collect(getNum(simplify(Q*(x/a-y/b)-P*(1+z/c))))=0;
Resultat:=cat(Resultat,""," $$",latex(ans()),"$$");
vt3:=[diff(lhs(dst3),x),diff(lhs(dst3),y),diff(lhs(dst3),z)];
vt4:=[diff(lhs(dst4),x),diff(lhs(dst4),y),diff(lhs(dst4),z)];
VT:=simplify(cross(vt3,vt4));
UCLN:=gcd(VT[0],VT[1],VT[2]);
VT/UCLN;
Resultat:=cat(Resultat,"Vectơ chỉ phương:"," $$",latex(ans()),"$$");
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{verbatimwrite}
\executGiac{testquadric.in}
\input{testquadric.out}
\end{document}
Biên dịch bằng pdflatex xong ta có kết quả là một file PDF như dưới đây. Lưu ý, đây là file nguồn, bằng cách thay đổi phương trình của mặt bậc hai (ở đây chỉ xét mặt hyperboloit 1 tầng, mặt yên ngựa chúng tôi sẽ viết sau) và toa độ của một điểm trên mặt bậc hai đó, các bạn sẽ có một lời giải mới. Mọi việc diễn ra không quá ... 30 giây.
No comments:
Post a Comment