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

📄 demotriangle.m

📁 这是几何代数的matlab工具包
💻 M
字号:
     disp('>> % |');     % |     disp('>> % |   A TRIANGLE AND SOME SPECIAL LINES');     % |   A TRIANGLE AND SOME SPECIAL LINES     disp('>> % |   USING THE AFFINE MODEL');     % |   USING THE AFFINE MODEL     disp('>> % |');     % |         e = e3; %/         IP = {e+e1+e2,e+e1-e2,e-e1-e2,e-e1+e2}; %/     disp('>> % | ');     % |      disp('>> % |   The triangle:');     % |   The triangle:     disp('>> % |');     % |     disp('>>     P = e+ e1/4+e2/2; ');         P = e+ e1/4+e2/2;      disp('>>     Q = e- e1/2+e2/4; ');         Q = e- e1/2+e2/4;      disp('>>     R = e+ e1/3-4*e2/5; ');         R = e+ e1/3-4*e2/5;      disp('>>     clf; ');         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'); %/     disp('>>     PQ = join(P,Q);');         PQ = join(P,Q);     disp('>>     QR = join(Q,R);');         QR = join(Q,R);     disp('>>     RP = join(R,P);');         RP = join(R,P);     disp('>>     PtoQ = connection(e,P,Q);');         PtoQ = connection(e,P,Q);     disp('>>     QtoR = connection(e,Q,R);');         QtoR = connection(e,Q,R);     disp('>>     RtoP = connection(e,R,P);');         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; %/     disp('>> % | ');     % |      disp('>> % |   Its altitude lines.');     % |   Its altitude lines.     disp('>> % |');     % |     disp('>>     PtoQR = connection(e,P,QR);');         PtoQR = connection(e,P,QR);     disp('>>     QtoRP = connection(e,Q,RP);');         QtoRP = connection(e,Q,RP);     disp('>>     RtoPQ = connection(e,R,PQ);');         RtoPQ = connection(e,R,PQ);         DrawSimplex({P,P+PtoQR},'n','g'); %/         DrawSimplex({Q,Q+QtoRP},'n','g'); %/         DrawSimplex({R,R+RtoPQ},'n','g'); %/     disp('>>     PmeetQalt = meet(P^PtoQR,Q^QtoRP);');         PmeetQalt = meet(P^PtoQR,Q^QtoRP);     disp('>>     QmeetRalt = meet(Q^QtoRP,R^RtoPQ);');         QmeetRalt = meet(Q^QtoRP,R^RtoPQ);     disp('>>     RmeetPalt = meet(R^RtoPQ,P^PtoQR);');         RmeetPalt = meet(R^RtoPQ,P^PtoQR);         altitudepoint = GAZ(join(join(PmeetQalt,QmeetRalt),RmeetPalt)); %/     disp('>> %   A = 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; %/     disp('>> % | ');     % |      disp('>> % |   Its midlines.');     % |   Its midlines.     disp('>> % |');     % |     disp('>>     PQmid = (P+Q)/2;');         PQmid = (P+Q)/2;     disp('>>     QRmid = (Q+R)/2;');         QRmid = (Q+R)/2;     disp('>>     RPmid = (R+P)/2;');         RPmid = (R+P)/2;         DrawHomogeneous(e,P,'n','b'); %/         DrawHomogeneous(e,Q,'n','b'); %/         DrawHomogeneous(e,R,'n','b'); %/     disp('>>     PtoQRmid = connection(e,P,QRmid);');         PtoQRmid = connection(e,P,QRmid);     disp('>>     QtoRPmid = connection(e,Q,RPmid);');         QtoRPmid = connection(e,Q,RPmid);     disp('>>     RtoPQmid = connection(e,R,PQmid);');         RtoPQmid = connection(e,R,PQmid);         DrawSimplex({P,P+PtoQRmid},'n','m'); %/         DrawSimplex({Q,Q+QtoRPmid},'n','m'); %/         DrawSimplex({R,R+RtoPQmid},'n','m'); %/     disp('>>     PmeetQmid = meet(P^PtoQRmid,Q^QtoRPmid);');         PmeetQmid = meet(P^PtoQRmid,Q^QtoRPmid);     disp('>>     QmeetRmid = meet(Q^QtoRPmid,R^RtoPQmid);');         QmeetRmid = meet(Q^QtoRPmid,R^RtoPQmid);     disp('>>     RmeetPmid = meet(R^RtoPQmid,P^PtoQRmid);');         RmeetPmid = meet(R^RtoPQmid,P^PtoQRmid);         midpoint = GAZ(join(join(PmeetQmid,QmeetRmid),RmeetPmid)); %/     disp('>> %   M = 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; %/     disp('>> % | ');     % |      disp('>> % |   Its perpendicular bisectors.');     % |   Its perpendicular bisectors.     disp('>> % |');     % |         DrawSimplex({PQmid,PQmid-RtoPQ},'n','c'); %/         DrawSimplex({QRmid,QRmid-PtoQR},'n','c'); %/         DrawSimplex({RPmid,RPmid-QtoRP},'n','c'); %/     disp('>>     linePQ = PQmid^RtoPQ; ');         linePQ = PQmid^RtoPQ;      disp('>>     lineQR = QRmid^PtoQR;');         lineQR = QRmid^PtoQR;     disp('>>     lineRP = RPmid^QtoRP;');         lineRP = RPmid^QtoRP;     disp('>>     PmeetQperp = meet(linePQ,lineQR);');         PmeetQperp = meet(linePQ,lineQR);     disp('>>     QmeetRperp = meet(lineQR,lineRP);');         QmeetRperp = meet(lineQR,lineRP);     disp('>>     RmeetPperp = meet(lineRP,linePQ);');         RmeetPperp = meet(lineRP,linePQ);         perppoint = GAZ(join(join(PmeetQperp,QmeetRperp),RmeetPperp)); %/     disp('>> %   B = 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; %/     disp('>> % |');     % |     disp('>> % |   These points should be in line, so test their trivector.');     % |   These points should be in line, so test their trivector.     disp('>> % |');     % |         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 + -