⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gadtriangle.m

📁 这是几何代数的matlab工具包
💻 M
字号:
% |% |   A TRIANGLE AND SOME SPECIAL LINES% |   USING THE AFFINE MODEL% |    e = e3; %/    IP = {e+e1+e2,e+e1-e2,e-e1-e2,e-e1+e2}; %/% | % |   The triangle:% |    P = e+ e1/4+e2/2;     Q = e- e1/2+e2/4;     R = e+ e1/3-4*e2/5;     clf;     DrawHomogeneous(e,P,'n','b'); GAtext(1.1*P,'P'); %/    DrawHomogeneous(e,Q,'n','b'); GAtext(1.1*Q,'Q'); %/    DrawHomogeneous(e,R,'n','b'); GAtext(1.1*R,'R'); %/%% DRAWING A TRIANGLE    PQ = join(P,Q);    QR = join(Q,R);    RP = join(R,P);    PtoQ = connection(e,P,Q);    QtoR = connection(e,Q,R);    RtoP = connection(e,R,P);    DrawSimplex({P,P+PtoQ},'n','r'); %/    DrawSimplex({Q,Q+QtoR},'n','r'); %/    DrawSimplex({R,R+RtoP},'n','r'); %/    axis([-0.9 0.7 -0.9 0.6]);  %/    GAview([0 90]); axis off; %/GAprompt; %/% | % |   Its altitude lines.% |    PtoQR = connection(e,P,QR);    QtoRP = connection(e,Q,RP);    RtoPQ = connection(e,R,PQ);    DrawSimplex({P,P+PtoQR},'n','g'); %/    DrawSimplex({Q,Q+QtoRP},'n','g'); %/    DrawSimplex({R,R+RtoPQ},'n','g'); %/    PmeetQalt = meet(P^PtoQR,Q^QtoRP);    QmeetRalt = meet(Q^QtoRP,R^RtoPQ);    RmeetPalt = meet(R^RtoPQ,P^PtoQR);    altitudepoint = GAZ(join(join(PmeetQalt,QmeetRalt),RmeetPalt)); %/%   A = join( join( PmeetQalt,QmeetRalt), RmeetPalt) );    altitudepoint = altitudepoint/inner(e,altitudepoint); %/    DrawHomogeneous(e,altitudepoint,'n','g'); GAtext(1.1*altitudepoint,'A'); %/    axis([-0.9 0.7 -0.9 0.6]);  %/GAprompt; %/% | % |   Its midlines.% |    PQmid = (P+Q)/2;    QRmid = (Q+R)/2;    RPmid = (R+P)/2;    DrawHomogeneous(e,P,'n','b'); %/    DrawHomogeneous(e,Q,'n','b'); %/    DrawHomogeneous(e,R,'n','b'); %/    PtoQRmid = connection(e,P,QRmid);    QtoRPmid = connection(e,Q,RPmid);    RtoPQmid = connection(e,R,PQmid);    DrawSimplex({P,P+PtoQRmid},'n','m'); %/    DrawSimplex({Q,Q+QtoRPmid},'n','m'); %/    DrawSimplex({R,R+RtoPQmid},'n','m'); %/    PmeetQmid = meet(P^PtoQRmid,Q^QtoRPmid);    QmeetRmid = meet(Q^QtoRPmid,R^RtoPQmid);    RmeetPmid = meet(R^RtoPQmid,P^PtoQRmid);    midpoint = GAZ(join(join(PmeetQmid,QmeetRmid),RmeetPmid)); %/%   M = join( join( PmeetQmid,QmeetRmid), RmeetPmid) )    midpoint = midpoint/inner(e,midpoint); %/    DrawHomogeneous(e,midpoint,'n','m'); GAtext(1.1*midpoint,'M'); %/    axis([-0.9 0.7 -0.9 0.6]);  %/GAprompt; %/% | % |   Its perpendicular bisectors.% |    DrawSimplex({PQmid,PQmid-RtoPQ},'n','c'); %/    DrawSimplex({QRmid,QRmid-PtoQR},'n','c'); %/    DrawSimplex({RPmid,RPmid-QtoRP},'n','c'); %/    linePQ = PQmid^RtoPQ;     lineQR = QRmid^PtoQR;    lineRP = RPmid^QtoRP;    PmeetQperp = meet(linePQ,lineQR);    QmeetRperp = meet(lineQR,lineRP);    RmeetPperp = meet(lineRP,linePQ);    perppoint = GAZ(join(join(PmeetQperp,QmeetRperp),RmeetPperp)); %/%   B = join( join(PmeetQperp,QmeetRperp), RmeetPperp)    perppoint = perppoint/inner(e,perppoint); %/    DrawHomogeneous(e,perppoint,'n','c'); GAtext(1.1*perppoint,'B'); %/    axis([-0.9 0.7 -0.9 0.6]);  %/GAprompt; %/% |% |   These points should be in line, so test their trivector.% |%% ALL IN LINE?    ptom = connection(e,perppoint,midpoint); %/    ptoa = connection(e,perppoint,altitudepoint); %/    DrawSimplex({perppoint, perppoint+ptoa},'n','k'); %/    DrawSimplex({perppoint, perppoint+ptom},'n','k'); %/    axis([-0.9 0.7 -0.9 0.6]);  %/    tri = (perppoint ^ midpoint ^ altitudepoint)/I3; %/title(['(A \wedge M \wedge B)^* = ' num2str(tri)]); %/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -