// Macros : $macros={}; $macros["CnkBifocDFe"]={ name:"Cnk Bifoc. DFe", parameters:["line","point","expression"], exec: function (dir,F,e){ Perp1=Perpendicular("Perp1",dir,F); C1=Circle1("C1",F,"e"); K=OrderedIntersection("K",Perp1,dir,0); Perp2=Perpendicular("Perp2",Perp1,F); P5=OrderedIntersection("P5",Perp2,C1,0); U3=OrderedIntersection("U3",Perp2,C1,1); C2=Circle1("C2",K,"1"); U1=Point("U1","K+U3-F","0"); P3=OrderedIntersection("P3",dir,C2,0); P4=Point("P4","F+(e/(1+e))*(U1-F)","0"); P7=Point("P7","F-(e/(1-e))*(U1-F)","0"); Perp3=Perpendicular("Perp3",dir,U1); S1=Segment("S1",P3,P5); Symc2=Symmetry("Symc2",P3,K); M2=MidPoint("M2",P4,P7); S=OrderedIntersection("S",S1,Perp1,0); L2=Line("L2",Symc2,F); C3=Circle("C3",M2,P4); L1=Line("L1",Symc2,S); Perp4=Perpendicular("Perp4",L2,F); bf1=OrderedIntersection("bf1",Perp3,C3,0); P9=OrderedIntersection("P9",Perp3,C3,1); Syma3=Reflection("Syma3",Perp4,S); bf2=Reflection("bf2",Perp1,bf1); bf4=Reflection("bf4",Perp1,P9); L3=Line("L3",F,Syma3); bf3=OrderedIntersection("bf3",L3,L1,0); Quad=Quadric("Quad",bf1,S,bf2,bf3,bf4); STL(Quad,"c:#00adff;s:2;f:30;p:500"); return [Quad]; }}; $macros["CnkGeneDFe"]={ name:"CnkGene DFe", parameters:["line","point","expression"], exec: function (dir,F,e){ C1=Circle1("C1",F,"e"); Perp1=Perpendicular("Perp1",dir,F); Perp2=Perpendicular("Perp2",Perp1,F); K=OrderedIntersection("K",Perp1,dir,0); C4=Circle("C4",K,F); P5=OrderedIntersection("P5",Perp2,C1,0); C2=Circle1("C2",K,"1"); U3=OrderedIntersection("U3",Perp2,C1,1); prbS=MidPoint("prbS",F,K); P3=OrderedIntersection("P3",dir,C2,0); P6=OrderedIntersection("P6",dir,C4,0); U1=Point("U1","K+U3-F","0"); P8=OrderedIntersection("P8",dir,C4,1); Perp3=Perpendicular("Perp3",dir,U1); S1=Segment("S1",P3,P5); Symc2=Symmetry("Symc2",P3,K); Perp6=Perpendicular("Perp6",dir,P6); P7=Point("P7","F-(e/(1-e))*(U1-F)","0"); P4=Point("P4","F+(e/(1+e))*(U1-F)","0"); M3=MidPoint("M3",P6,K); M4=MidPoint("M4",K,P8); L5=PerpendicularBisector("L5",F,P6); L4=PerpendicularBisector("L4",F,M3); M2=MidPoint("M2",P4,P7); prb2=OrderedIntersection("prb2",L5,Perp6,0); S=OrderedIntersection("S",S1,Perp1,0); Perp5=Perpendicular("Perp5",dir,M3); Symc3=Symmetry("Symc3",P8,M4); L2=Line("L2",Symc2,F); L6=PerpendicularBisector("L6",F,Symc3); Perp7=Perpendicular("Perp7",dir,Symc3); C3=Circle("C3",M2,P4); L1=Line("L1",Symc2,S); Perp4=Perpendicular("Perp4",L2,F); prb1=OrderedIntersection("prb1",L4,Perp5,0); CnkS=Point("CnkS","prbS*(e==1)+S*(e!=1)","0"); P9=OrderedIntersection("P9",Perp3,C3,1); Syma3=Reflection("Syma3",Perp4,S); prb3=Reflection("prb3",Perp1,prb1); bf1=OrderedIntersection("bf1",Perp3,C3,0); prb4=OrderedIntersection("prb4",L6,Perp7,0); bf4=Reflection("bf4",Perp1,P9); bf2=Reflection("bf2",Perp1,bf1); Cnk1=Point("Cnk1","prb1*(e==1)+bf1*(e!=1)","0"); L3=Line("L3",F,Syma3); Cnk2=Point("Cnk2","prb2*(e==1)+bf2*(e!=1)","0"); Cnk4=Point("Cnk4","prb4*(e==1)+bf4*(e!=1)","0"); bf3=OrderedIntersection("bf3",L3,L1,0); Cnk3=Point("Cnk3","prb3*(e==1)+bf3*(e!=1)","0"); Quad2=Quadric("Quad2",Cnk1,CnkS,Cnk2,Cnk3,Cnk4); STL(Quad2,"c:#ff00b5;s:2;f:30;p:1000"); return [Quad2]; }}; // Coordinates System : SetCoords(732.8114143504247,273.07673439849566,42.29868834669511); // Geometry : P1=Point("P1",-10.30318980055266,-6.168589991795593); F=Point("F",-3.4708266399919085,-0.4473723971391859); P2=Point("P2",-4.321916860684597,5.533900542728876); dir=Line("dir",P1,P2); e=Expression("e","","0","3","0.87","-9.286609814725281","4.801017297132394"); Perp1=Perpendicular("Perp1",dir,F); Perp11=Perpendicular("Perp11",dir,F); C1=Circle1("C1",F,"e"); K=OrderedIntersection("K",Perp1,dir,0); Perp2=Perpendicular("Perp2",Perp1,F); P5=OrderedIntersection("P5",Perp2,C1,0); C2=Circle1("C2",K,"1"); U3=OrderedIntersection("U3",Perp2,C1,1); C4=Circle("C4",K,F); prbS=MidPoint("prbS",F,K); P3=OrderedIntersection("P3",dir,C2,0); P6=OrderedIntersection("P6",dir,C4,0); U1=Point("U1","K+U3-F","0"); P8=OrderedIntersection("P8",dir,C4,1); Perp3=Perpendicular("Perp3",dir,U1); S1=Segment("S1",P3,P5); Symc2=Symmetry("Symc2",P3,K); Perp6=Perpendicular("Perp6",dir,P6); P7=Point("P7","F-(e/(1-e))*(U1-F)","0"); P4=Point("P4","F+(e/(1+e))*(U1-F)","0"); M3=MidPoint("M3",P6,K); M4=MidPoint("M4",K,P8); L5=PerpendicularBisector("L5",F,P6); Symc1=Symmetry("Symc1",U1,K); L4=PerpendicularBisector("L4",F,M3); M2=MidPoint("M2",P4,P7); S=OrderedIntersection("S",S1,Perp1,0); Perp5=Perpendicular("Perp5",dir,M3); Symc3=Symmetry("Symc3",P8,M4); L2=Line("L2",Symc2,F); prb2=OrderedIntersection("prb2",L5,Perp6,0); L6=PerpendicularBisector("L6",F,Symc3); C3=Circle("C3",M2,P4); L1=Line("L1",Symc2,S); Perp4=Perpendicular("Perp4",L2,F); prb1=OrderedIntersection("prb1",L4,Perp5,0); CnkS=Point("CnkS","prbS*(e==1)+S*(e!=1)","0"); Perp7=Perpendicular("Perp7",dir,Symc3); P9=OrderedIntersection("P9",Perp3,C3,1); Syma3=Reflection("Syma3",Perp4,S); prb3=Reflection("prb3",Perp1,prb1); bf1=OrderedIntersection("bf1",Perp3,C3,0); prb4=OrderedIntersection("prb4",L6,Perp7,0); bf4=Reflection("bf4",Perp1,P9); Cnk1=Point("Cnk1","prb1*(e==1)+bf1*(e!=1)","0"); Quad1=Quadric("Quad1",prb2,prb1,prbS,prb3,prb4); L3=Line("L3",F,Syma3); bf2=Reflection("bf2",Perp1,bf1); Cnk2=Point("Cnk2","prb2*(e==1)+bf2*(e!=1)","0"); Cnk4=Point("Cnk4","prb4*(e==1)+bf4*(e!=1)","0"); bf3=OrderedIntersection("bf3",L3,L1,0); Cnk3=Point("Cnk3","prb3*(e==1)+bf3*(e!=1)","0"); Quad=Quadric("Quad",bf1,S,bf2,bf3,bf4); Quad2=Quadric("Quad2",Cnk1,CnkS,Cnk2,Cnk3,Cnk4); M=PointOn("M",Quad2,[-8.33027931724391,6.157446110166621]); // Styles : STL(P1,"c:#0000b2;s:6;f:19"); STL(F,"c:#0000b2;s:6;sn:true;f:19"); STL(P2,"c:#0000b2;s:6;f:19"); STL(dir,"c:#0000b2;s:1;sn:true;f:30;p:0"); STL(e,"c:#505567;s:5;sn:true;f:20;p:4;i:0.01;cL:200;cPT:YzojNzgwMDEzO3M6Ny41O2Y6MTk7aTowLjAx"); STL(Perp1,"c:#780013;s:1;f:30;p:0"); STL(Perp11,"c:#780013;h:2;s:1;f:30;p:0"); STL(C1,"c:#cc66cc;h:1;s:1;f:30;p:0"); STL(K,"c:#0000b2;s:6;sn:true;f:19"); STL(Perp2,"c:#780013;h:1;s:1;f:30;p:0"); STL(P5,"c:#0000b2;h:1;s:6;f:19"); STL(C2,"c:#cc66cc;h:1;s:1;f:30;p:0"); STL(U3,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(C4,"c:#cc66cc;s:1;f:30;p:0"); STL(prbS,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(P3,"c:#0000b2;h:1;s:6;f:19"); STL(P6,"c:#0000b2;s:6;f:19"); STL(U1,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(P8,"c:#0000b2;s:6;f:19"); STL(Perp3,"c:#780013;h:1;s:1;f:30;p:0"); STL(S1,"c:#006633;h:1;s:1;f:24"); STL(Symc2,"c:#0000b2;h:1;s:6;f:19"); STL(Perp6,"c:#780013;s:1;f:30;p:0"); STL(P7,"c:#0000b2;h:1;s:6;f:19"); STL(P4,"c:#0000b2;h:1;s:6;f:19"); STL(M3,"c:#0000b2;s:6;f:19"); STL(M4,"c:#0000b2;s:6;f:19"); STL(L5,"c:#780013;s:1;f:30;p:0"); STL(Symc1,"c:#0000b2;h:1;s:6;f:19"); STL(L4,"c:#780013;s:1;f:30;p:0"); STL(M2,"c:#0000b2;h:1;s:6;f:19"); STL(S,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(Perp5,"c:#780013;s:1;f:30;p:0"); STL(Symc3,"c:#0000b2;s:6;f:19"); STL(L2,"c:#780013;h:1;s:1;sn:true;f:30;p:0"); STL(prb2,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(L6,"c:#780013;s:1;f:30;p:0"); STL(C3,"c:#cc66cc;h:1;s:1;f:30;p:0"); STL(L1,"c:#780013;h:1;s:1;f:30;p:0"); STL(Perp4,"c:#780013;h:1;s:1;f:30;p:0"); STL(prb1,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(CnkS,"c:#b40000;s:6;sn:true;f:16"); STL(Perp7,"c:#780013;s:1;f:30;p:0"); STL(P9,"c:#0000b2;h:1;s:6;f:19"); STL(Syma3,"c:#0000b2;h:1;s:6;f:19"); STL(prb3,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(bf1,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(prb4,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(bf4,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(Cnk1,"c:#b40000;s:6;sn:true;f:15"); STL(Quad1,"c:#00adff;h:1;s:2;f:30;p:1000"); STL(L3,"c:#780013;h:1;s:1;f:30;p:0"); STL(bf2,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(Cnk2,"c:#b40000;s:6;sn:true;f:17"); STL(Cnk4,"c:#b40000;s:6;sn:true;f:15"); STL(bf3,"c:#0000b2;h:1;s:6;sn:true;f:19"); STL(Cnk3,"c:#b40000;s:6;sn:true;f:15"); STL(Quad,"c:#00adff;h:1;s:2;f:30;p:500"); STL(Quad2,"c:#ff00b5;s:2;f:30;p:1000"); STL(M,"c:#ff00e2;o:1;s:6;sn:true;f:20"); SetCoordsStyle("isAxis:false;isGrid:true;isOx:true;isOy:true;isLockOx:false;isLockOy:false;centerZoom:false;color:#111111;fontSize:18;axisWidth:1;gridWidth:0.1");