// Macros : $macros={}; $macros["CoordparAoAuA"]={ name:"Coord par A oA uA", parameters:["point","point","point"], exec: function (A,oA,uA){ E1=Expression("E1","","","","A-oA","0.36049591399451686","-0.736224049707112"); CdA=Expression("CdA","","","","[uA[2],IF(E1[1]>0,acos(E1[0]/sqrt(E1[0]^2+E1[1]^2)),2*\u03C0-acos(E1[0]/sqrt(E1[0]^2+E1[1]^2)))]","0.6143662759624864","-1.4470610632174268"); STL(CdA,"c:#435805;s:7;sn:true;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjozMA=="); return [CdA]; }}; $macros["HoricycleAltitude"]={ name:"Horicycle Altitude", parameters:["point"], exec: function (uG){ altG=Expression("altG","","","","uG[2]","-1.6498183460809837","-0.40080332701402427"); G1=Point("G1","[2/(exp(altG)+exp(-altG)),0,altG-(exp(altG)-exp(-altG))/(exp(altG)+exp(-altG))]","0"); G2=Point("G2","[0,2/(exp(altG)+exp(-altG)),altG-(exp(altG)-exp(-altG))/(exp(altG)+exp(-altG))]","0"); P13=Point("P13","[-2/(exp(altG)+exp(-altG)),0,altG-(exp(altG)-exp(-altG))/(exp(altG)+exp(-altG))]","0"); C11=Circle3pts3D("C11",G1,G2,P13); STL(C11,"c:#cc66cc;s:1;f:30;p:0"); return [C11]; }}; $macros["SegmentParCoord"]={ name:"Segment Par Coord", parameters:["expression","expression","point"], exec: function (CdA,CdB,O){ Cst2Pts=Expression("Cst2Pts","Const2pts = ","","","[((exp(CdA[0])+exp(-CdA[0]))^2/4-(exp(CdB[0])+exp(-CdB[0]))^2/4+CdA[1]^2-CdB[1]^2)/(2*(CdB[1]-CdA[1])),(exp(CdA[0])+exp(-CdA[0]))^2/4+(CdA[1]+((exp(CdA[0])+exp(-CdA[0]))^2/4-(exp(CdB[0])+exp(-CdB[0]))^2/4+CdA[1]^2-CdB[1]^2)/(2*(CdB[1]-CdA[1])))^2]","-1","-0.4") PmaxSeg=Point("PmaxSeg","[max(CdA[1],CdB[1]),y(O.coords2D())]","0"); PminSeg=Point("PminSeg","[min(CdA[1],CdB[1]),y(O.coords2D())]","0"); S9=Segment("S9",PminSeg,PmaxSeg); tetaK=PointOn("tetaK",S9,0.7594402882870944); chuK=Expression("chuK","chuK = ","","","sqrt(Cst2Pts[1]-(x(tetaK)+Cst2Pts[0])^2)","-0.9269184256814256","-0.6873335268190579"); uK=Expression("uK","uK = ","","","log(chuK+sqrt(chuK^2-1))","-0.7731538756261891","-0.5028160667527741"); PtSeg=Point("PtSeg","[cos(x(tetaK))/chuK,sin(x(tetaK))/chuK,uK-(exp(uK)-exp(-uK))/(exp(uK)+exp(-uK))]","0"); LeSeg=Locus("LeSeg",PtSeg,tetaK); STL(LeSeg,"c:#b40000;s:3;f:30;p:100"); return [LeSeg]; }}; // Coordinates System : SetCoords(-36,30,196.95091468104658,true); // Geometry : O=Point("O",1.5435318007652554,-2.2086721491213357); Z=Point("Z","[0,0,1]","0"); X=Point("X","[1,0,0]","0"); P11=Point("P11","[-sqrt(2)/2,-sqrt(2)/2,0]","0"); Y=Point("Y","[0,1,0]","0"); S21=Segment("S21",O,Y); uI=Point("uI","[x(O.coords2D())+1,y(O.coords2D())]","0"); S11=Segment("S11",O,X); S31=Segment("S31",O,Z); C1=Circle3pts3D("C1",X,Y,P11); S3=Segment("S3",uI,Y); S2=Segment("S2",O,uI); Center1=Center("Center1",C1); Symc1=Symmetry("Symc1",Z,Center1); Symc2=Symmetry("Symc2",Symc1,Center1); Symc3=Symmetry("Symc3",Symc2,Center1); S1=Segment("S1",O,Symc3); uG=PointOn("uG",S1,0.20052710313256453); uA=PointOn("uA",S1,0.2527849302876499); uC=PointOn("uC",S1,0.12405470152063312); uB=PointOn("uB",S1,0.18483058233642727); altG2=Expression("altG2","","","","uB[2]","0.18278666061693813","-0.42860786827217173"); altG=Expression("altG","","","","uG[2]","0.3351088777977199","-1.0662555202654724"); altG3=Expression("altG3","","","","uC[2]","0.18278666061693813","-0.4160355487321024"); altG1=Expression("altG1","","","","uA[2]","0.18278666061693813","-0.41845305379345293"); G21=Point("G21","[0,2/(exp(altG1)+exp(-altG1)),altG1-(exp(altG1)-exp(-altG1))/(exp(altG1)+exp(-altG1))]","0"); P132=Point("P132","[-2/(exp(altG2)+exp(-altG2)),0,altG2-(exp(altG2)-exp(-altG2))/(exp(altG2)+exp(-altG2))]","0"); G22=Point("G22","[0,2/(exp(altG2)+exp(-altG2)),altG2-(exp(altG2)-exp(-altG2))/(exp(altG2)+exp(-altG2))]","0"); G12=Point("G12","[2/(exp(altG2)+exp(-altG2)),0,altG2-(exp(altG2)-exp(-altG2))/(exp(altG2)+exp(-altG2))]","0"); G11=Point("G11","[2/(exp(altG1)+exp(-altG1)),0,altG1-(exp(altG1)-exp(-altG1))/(exp(altG1)+exp(-altG1))]","0"); P131=Point("P131","[-2/(exp(altG1)+exp(-altG1)),0,altG1-(exp(altG1)-exp(-altG1))/(exp(altG1)+exp(-altG1))]","0"); P133=Point("P133","[-2/(exp(altG3)+exp(-altG3)),0,altG3-(exp(altG3)-exp(-altG3))/(exp(altG3)+exp(-altG3))]","0"); G23=Point("G23","[0,2/(exp(altG3)+exp(-altG3)),altG3-(exp(altG3)-exp(-altG3))/(exp(altG3)+exp(-altG3))]","0"); G13=Point("G13","[2/(exp(altG3)+exp(-altG3)),0,altG3-(exp(altG3)-exp(-altG3))/(exp(altG3)+exp(-altG3))]","0"); G2=Point("G2","[0,2/(exp(altG)+exp(-altG)),altG-(exp(altG)-exp(-altG))/(exp(altG)+exp(-altG))]","0"); G1=Point("G1","[2/(exp(altG)+exp(-altG)),0,altG-(exp(altG)-exp(-altG))/(exp(altG)+exp(-altG))]","0"); P13=Point("P13","[-2/(exp(altG)+exp(-altG)),0,altG-(exp(altG)-exp(-altG))/(exp(altG)+exp(-altG))]","0"); HoriC=Circle3pts3D("HoriC",G13,G23,P133); oG=MidPoint("oG",G1,P13); HoriA=Circle3pts3D("HoriA",G11,G21,P131); Locus4=Locus("Locus4",P13,uG); Locus3=Locus("Locus3",G1,uG); HoriB=Circle3pts3D("HoriB",G12,G22,P132); Par2=Parallel("Par2",S3,G2); Center2=Center("Center2",HoriA); A=PointOn("A",HoriA,1117); B=PointOn("B",HoriB,597); C=PointOn("C",HoriC,120); Center4=Center("Center4",HoriC); Center3=Center("Center3",HoriB); Par1=Parallel("Par1",S2,oG); E1=Expression("E1","","","","A-Center2","0.3351088777977199","-0.7616110859039089"); E12=Expression("E12","","","","C-Center4","0.3147992488402823","-0.7514562714251901"); uG1=OrderedIntersection("uG1",Par2,Par1,0); E11=Expression("E11","","","","B-Center3","0.3351088777977199","-0.7616110859039089"); CdB=Expression("CdB","","","","[uB[2],IF(E11[1]>0,acos(E11[0]/sqrt(E11[0]^2+E11[1]^2)),2*\u03C0-acos(E11[0]/sqrt(E11[0]^2+E11[1]^2)))]","2.315297701147883","-0.8631592306910968"); Locus1=Locus("Locus1",uG1,uG); Symc4=Symmetry("Symc4",oG,uG1); CdC=Expression("CdC","","","","[uC[2],IF(E12[1]>0,acos(E12[0]/sqrt(E12[0]^2+E12[1]^2)),2*\u03C0-acos(E12[0]/sqrt(E12[0]^2+E12[1]^2)))]","2.315297701147883","-1.1678036650526602"); CdA=Expression("CdA","","","","[uA[2],IF(E1[1]>0,acos(E1[0]/sqrt(E1[0]^2+E1[1]^2)),2*\u03C0-acos(E1[0]/sqrt(E1[0]^2+E1[1]^2)))]","2.366071773541477","-0.45696665154234534"); PmaxSeg2=Point("PmaxSeg2","[max(CdA[1],CdC[1]),y(O.coords2D())]","0"); Locus2=Locus("Locus2",Symc4,uG); Cst2Pts=Expression("Cst2Pts","Const2pts = ","","","[((exp(CdB[0])+exp(-CdB[0]))^2/4-(exp(CdC[0])+exp(-CdC[0]))^2/4+CdB[1]^2-CdC[1]^2)/(2*(CdC[1]-CdB[1])),(exp(CdB[0])+exp(-CdB[0]))^2/4+(CdB[1]+((exp(CdB[0])+exp(-CdB[0]))^2/4-(exp(CdC[0])+exp(-CdC[0]))^2/4+CdB[1]^2-CdC[1]^2)/(2*(CdC[1]-CdB[1])))^2]","0.18278666061693813","-0.4050774072393594"); PmaxSeg1=Point("PmaxSeg1","[max(CdA[1],CdB[1]),y(O.coords2D())]","0"); PminSeg1=Point("PminSeg1","[min(CdA[1],CdB[1]),y(O.coords2D())]","0"); PmaxSeg=Point("PmaxSeg","[max(CdB[1],CdC[1]),y(O.coords2D())]","0"); PminSeg=Point("PminSeg","[min(CdB[1],CdC[1]),y(O.coords2D())]","0"); Cst2Pts2=Expression("Cst2Pts2","Const2pts = ","","","[((exp(CdA[0])+exp(-CdA[0]))^2/4-(exp(CdC[0])+exp(-CdC[0]))^2/4+CdA[1]^2-CdC[1]^2)/(2*(CdC[1]-CdA[1])),(exp(CdA[0])+exp(-CdA[0]))^2/4+(CdA[1]+((exp(CdA[0])+exp(-CdA[0]))^2/4-(exp(CdC[0])+exp(-CdC[0]))^2/4+CdA[1]^2-CdC[1]^2)/(2*(CdC[1]-CdA[1])))^2]","0.18278666061693813","-0.4050774072393594"); PminSeg2=Point("PminSeg2","[min(CdA[1],CdC[1]),y(O.coords2D())]","0"); Cst2Pts1=Expression("Cst2Pts1","Const2pts = ","","","[((exp(CdA[0])+exp(-CdA[0]))^2/4-(exp(CdB[0])+exp(-CdB[0]))^2/4+CdA[1]^2-CdB[1]^2)/(2*(CdB[1]-CdA[1])),(exp(CdA[0])+exp(-CdA[0]))^2/4+(CdA[1]+((exp(CdA[0])+exp(-CdA[0]))^2/4-(exp(CdB[0])+exp(-CdB[0]))^2/4+CdA[1]^2-CdB[1]^2)/(2*(CdB[1]-CdA[1])))^2]","0.18278666061693813","-0.4050774072393594"); S91=Segment("S91",PminSeg1,PmaxSeg1); S9=Segment("S9",PminSeg,PmaxSeg); S92=Segment("S92",PminSeg2,PmaxSeg2); tetaK=PointOn("tetaK",S9,0.7594402882870944); tetaK2=PointOn("tetaK2",S92,0.7594402882870944); tetaK1=PointOn("tetaK1",S91,0.7594402882870944); chuK1=Expression("chuK1","chuK = ","","","sqrt(Cst2Pts1[1]-(x(tetaK1)+Cst2Pts1[0])^2)","0.18278666061693813","-0.6924109340584174"); chuK2=Expression("chuK2","chuK = ","","","sqrt(Cst2Pts2[1]-(x(tetaK2)+Cst2Pts2[0])^2)","0.18278666061693813","-0.6924109340584174"); chuK=Expression("chuK","chuK = ","","","sqrt(Cst2Pts[1]-(x(tetaK)+Cst2Pts[0])^2)","0.18278666061693813","-0.6924109340584174"); uK=Expression("uK","uK = ","","","log(chuK+sqrt(chuK^2-1))","0.18278666061693813","-0.5078934739921336"); uK1=Expression("uK1","uK = ","","","log(chuK1+sqrt(chuK1^2-1))","0.18278666061693813","-0.5078934739921336"); uK2=Expression("uK2","uK = ","","","log(chuK2+sqrt(chuK2^2-1))","0.18278666061693813","-0.5078934739921336"); PtSeg=Point("PtSeg","[cos(x(tetaK))/chuK,sin(x(tetaK))/chuK,uK-(exp(uK)-exp(-uK))/(exp(uK)+exp(-uK))]","0"); PtSeg1=Point("PtSeg1","[cos(x(tetaK1))/chuK1,sin(x(tetaK1))/chuK1,uK1-(exp(uK1)-exp(-uK1))/(exp(uK1)+exp(-uK1))]","0"); PtSeg2=Point("PtSeg2","[cos(x(tetaK2))/chuK2,sin(x(tetaK2))/chuK2,uK2-(exp(uK2)-exp(-uK2))/(exp(uK2)+exp(-uK2))]","0"); LeSeg1=Locus("LeSeg1",PtSeg1,tetaK1); LeSeg=Locus("LeSeg",PtSeg,tetaK); LeSeg2=Locus("LeSeg2",PtSeg2,tetaK2); // Styles : STL(O,"c:#0000b2;s:6;sn:true;f:18;fl:true"); STL(Z,"c:#0000b2;h:1;o:1;s:4;sn:true;f:18"); STL(X,"c:#0000b2;o:1;s:4;sn:true;f:18"); STL(P11,"c:#0000b2;h:1;s:6;f:18"); STL(Y,"c:#0000b2;o:1;s:4;sn:true;f:18"); STL(S21,"c:#117dad;s:1;f:24"); STL(uI,"c:#0000b2;h:2;s:6;sn:true;f:18"); STL(S11,"c:#117dad;s:1;f:24"); STL(S31,"c:#117dad;h:1;s:1;f:24"); STL(C1,"c:#cc66cc;s:2.5;f:30;p:0"); STL(S3,"c:#006633;h:2;s:1;f:24"); STL(S2,"c:#006633;h:2;s:1;f:24"); STL(Center1,"c:#0000b2;h:1;s:6;f:18"); STL(Symc1,"c:#0000b2;h:1;s:6;f:18"); STL(Symc2,"c:#0000b2;h:1;s:6;f:18"); STL(Symc3,"c:#0000b2;h:1;s:6;f:18"); STL(S1,"c:#006633;s:1;f:24"); STL(uG,"c:#0000b2;h:2;s:6;sn:true;f:18"); STL(uA,"c:#007c00;s:6;sn:true;f:18;sp:2"); STL(uC,"c:#007c00;s:6;sn:true;f:18;sp:2"); STL(uB,"c:#007c00;s:6;sn:true;f:18;sp:2"); STL(altG2,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MTg="); STL(altG,"c:#567f3b;h:1;s:7;sn:true;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MTtzOjEwO2Y6MTg="); STL(altG3,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MTg="); STL(altG1,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MTg="); STL(G21,"c:#0000b2;h:2;s:6;f:18"); STL(P132,"c:#0000b2;h:2;s:6;f:18"); STL(G22,"c:#0000b2;h:2;s:6;f:18"); STL(G12,"c:#0000b2;h:2;s:6;f:18"); STL(G11,"c:#0000b2;h:2;s:6;f:18"); STL(P131,"c:#0000b2;h:2;s:6;f:18"); STL(P133,"c:#0000b2;h:2;s:6;f:18"); STL(G23,"c:#0000b2;h:2;s:6;f:18"); STL(G13,"c:#0000b2;h:2;s:6;f:18"); STL(G2,"c:#0000b2;h:2;s:6;sn:true;f:18"); STL(G1,"c:#0000b2;h:2;s:6;sn:true;f:18"); STL(P13,"c:#0000b2;h:2;s:6;f:18"); STL(HoriC,"c:#0007ff;s:1;sn:true;f:30;p:0"); STL(oG,"c:#0000b2;h:2;s:6;sn:true;f:18"); STL(HoriA,"c:#0026ff;s:1;sn:true;f:30;p:0"); STL(Locus4,"c:#780013;s:1;f:30;p:100"); STL(Locus3,"c:#780013;s:1;f:30;p:100"); STL(HoriB,"c:#0026ff;s:1;sn:true;f:30;p:0"); STL(Par2,"c:#780013;h:2;s:1;f:30;p:0"); STL(Center2,"c:#0000b2;h:1;s:6;sn:true;f:18"); STL(A,"c:#0000b2;o:1;s:6;sn:true;f:18"); STL(B,"c:#0000b2;o:1;s:6;sn:true;f:18"); STL(C,"c:#0000b2;o:1;s:6;sn:true;f:18"); STL(Center4,"c:#0000b2;h:1;s:6;sn:true;f:18"); STL(Center3,"c:#0000b2;h:1;s:6;sn:true;f:18"); STL(Par1,"c:#780013;h:1;s:1;f:30;p:0"); STL(E1,"c:#48314c;h:1;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MTtzOjEwO2Y6MTg="); STL(E12,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MTg="); STL(uG1,"c:#0000b2;h:2;s:6;sn:true;f:18"); STL(E11,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MTg="); STL(CdB,"c:#435805;s:7;sn:true;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjoxOA=="); STL(Locus1,"c:#780013;s:1;f:30;p:100"); STL(Symc4,"c:#0000b2;h:1;s:6;f:18"); STL(CdC,"c:#435805;s:7;sn:true;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjoxOA=="); STL(CdA,"c:#435805;s:7;sn:true;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjoxOA=="); STL(PmaxSeg2,"c:#0000b2;h:2;s:6;f:30"); STL(Locus2,"c:#780013;s:1;f:30;p:100"); STL(Cst2Pts,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(PmaxSeg1,"c:#0000b2;h:2;s:6;f:30"); STL(PminSeg1,"c:#0000b2;h:2;s:6;f:30"); STL(PmaxSeg,"c:#0000b2;h:2;s:6;f:30"); STL(PminSeg,"c:#0000b2;h:2;s:6;f:30"); STL(Cst2Pts2,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(PminSeg2,"c:#0000b2;h:2;s:6;f:30"); STL(Cst2Pts1,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(S91,"c:#006633;h:2;s:1;f:24"); STL(S9,"c:#006633;h:2;s:1;f:24"); STL(S92,"c:#006633;h:2;s:1;f:24"); STL(tetaK,"c:#0000b2;h:2;s:6;f:30"); STL(tetaK2,"c:#0000b2;h:2;s:6;f:30"); STL(tetaK1,"c:#0000b2;h:2;s:6;f:30"); STL(chuK1,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(chuK2,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(chuK,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(uK,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(uK1,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(uK2,"c:#780013;h:2;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MjtzOjEwO2Y6MzA="); STL(PtSeg,"c:#0000b2;h:2;s:6;f:30"); STL(PtSeg1,"c:#0000b2;h:2;s:6;f:30"); STL(PtSeg2,"c:#0000b2;h:2;s:6;f:30"); STL(LeSeg1,"c:#b40000;s:3;f:30;p:100"); STL(LeSeg,"c:#b40000;s:3;f:30;p:100"); STL(LeSeg2,"c:#b40000;s:3;f:30;p:100"); SetCoordsStyle("3Dmode:true;isAxis:false;isGrid:true;isOx:true;isOy:true;isLockOx:false;isLockOy:false;centerZoom:true;color:#111111;fontSize:18;axisWidth:1;gridWidth:0.1");