fork download
  1. # your code goes hereimport math;a,b,c=13.0,14.0,15.0;s=(a+b+c)/2;S=math.sqrt(s*(s-a)*(s-b)*(s-c));R=S/s;cA=(b*b+c*c-a*a)/(2*b*c);sA=math.sqrt(1-cA*cA);Ax,Ay=0,0;Bx,By=c,0;Cx,Cy=b*cA,b*sA;Dx,Dy=Bx+(s-b)/a*(Cx-Bx),By+(s-b)/a*(Cy-By);Ex,Ey=Ax+(s-a)/b*(Cx-Ax),Ay+(s-a)/b*(Cy-Ay);Fx,Fy=Ax+(s-a)/c*(Bx-Ax),Ay+(s-a)/c*(By-Ay);S_DEF=0.5*abs(Dx*(Ey-Fy)+Ex*(Fy-Dy)+Fx*(Dy-Ey));DE=math.hypot(Dx-Ex,Dy-Ey);EF=math.hypot(Ex-Fx,Ey-Fy);FD=math.hypot(Fx-Dx,Fy-Dy);r=S_DEF/((DE+EF+FD)/2);vEFx,vEFy=Fx-Ex,Fy-Ey;tK=((Dx-Ex)*vEFx+(Dy-Ey)*vEFy)/(vEFx**2+vEFy**2);Kx,Ky=Ex+tK*vEFx,Ey+tK*vEFy;vFDx,vFDy=Dx-Fx,Dy-Fy;tM=((Ex-Fx)*vFDx+(Ey-Fy)*vFDy)/(vFDx**2+vFDy**2);Mx,My=Fx+tM*vFDx,Fy+tM*vFDy;vDEx,vDEy=Ex-Dx,Ey-Dy;tN=((Fx-Dx)*vDEx+(Fy-Dy)*vDEy)/(vDEx**2+vDEy**2);Nx,Ny=Dx+tN*vDEx,Dy+tN*vDEy;S_KMN=0.5*abs(Kx*(My-Ny)+Mx*(Ny-Ky)+Nx*(Ky-My));print(f"Ratio: {S_KMN/S:.10f} Hyp: {(r/R)**4:.10f}")"
  2. import math;a,b,c=13.0,14.0,15.0;s=(a+b+c)/2;S=math.sqrt(s*(s-a)*(s-b)*(s-c));R=S/s;cA=(b*b+c*c-a*a)/(2*b*c);sA=math.sqrt(1-cA*cA);Ax,Ay=0,0;Bx,By=c,0;Cx,Cy=b*cA,b*sA;Dx,Dy=Bx+(s-b)/a*(Cx-Bx),By+(s-b)/a*(Cy-By);Ex,Ey=Ax+(s-a)/b*(Cx-Ax),Ay+(s-a)/b*(Cy-Ay);Fx,Fy=Ax+(s-a)/c*(Bx-Ax),Ay+(s-a)/c*(By-Ay);S_DEF=0.5*abs(Dx*(Ey-Fy)+Ex*(Fy-Dy)+Fx*(Dy-Ey));DE=math.hypot(Dx-Ex,Dy-Ey);EF=math.hypot(Ex-Fx,Ey-Fy);FD=math.hypot(Fx-Dx,Fy-Dy);r=S_DEF/((DE+EF+FD)/2);vEFx,vEFy=Fx-Ex,Fy-Ey;tK=((Dx-Ex)*vEFx+(Dy-Ey)*vEFy)/(vEFx**2+vEFy**2);Kx,Ky=Ex+tK*vEFx,Ey+tK*vEFy;vFDx,vFDy=Dx-Fx,Dy-Fy;tM=((Ex-Fx)*vFDx+(Ey-Fy)*vFDy)/(vFDx**2+vFDy**2);Mx,My=Fx+tM*vFDx,Fy+tM*vFDy;vDEx,vDEy=Ex-Dx,Ey-Dy;tN=((Fx-Dx)*vDEx+(Fy-Dy)*vDEy)/(vDEx**2+vDEy**2);Nx,Ny=Dx+tN*vDEx,Dy+tN*vDEy;S_KMN=0.5*abs(Kx*(My-Ny)+Mx*(Ny-Ky)+Nx*(Ky-My));print(f"Ratio: {S_KMN/S:.10f} Hyp: {(r/R)**4:.10f}")
  3.  
  4.  
  5. import math;a,b,c=13.0,14.0,15.0;s=(a+b+c)/2;S=math.sqrt(s*(s-a)*(s-b)*(s-c));R=S/s;cA=(b*b+c*c-a*a)/(2*b*c);sA=math.sqrt(1-cA*cA);Ax,Ay=0,0;Bx,By=c,0;Cx,Cy=b*cA,b*sA;Dx,Dy=Bx+(s-b)/a*(Cx-Bx),By+(s-b)/a*(Cy-By);Ex,Ey=Ax+(s-a)/b*(Cx-Ax),Ay+(s-a)/b*(Cy-Ay);Fx,Fy=Ax+(s-a)/c*(Bx-Ax),Ay+(s-a)/c*(By-Ay);S_DEF=0.5*abs(Dx*(Ey-Fy)+Ex*(Fy-Dy)+Fx*(Dy-Ey));DE=math.hypot(Dx-Ex,Dy-Ey);EF=math.hypot(Ex-Fx,Ey-Fy);FD=math.hypot(Fx-Dx,Fy-Dy);r=S_DEF/((DE+EF+FD)/2);vEFx,vEFy=Fx-Ex,Fy-Ey;tK=((Dx-Ex)*vEFx+(Dy-Ey)*vEFy)/(vEFx**2+vEFy**2);Kx,Ky=Ex+tK*vEFx,Ey+tK*vEFy;vFDx,vFDy=Dx-Fx,Dy-Fy;tM=((Ex-Fx)*vFDx+(Ey-Fy)*vFDy)/(vFDx**2+vFDy**2);Mx,My=Fx+tM*vFDx,Fy+tM*vFDy;vDEx,vDEy=Ex-Dx,Ey-Dy;tN=((Fx-Dx)*vDEx+(Fy-Dy)*vDEy)/(vDEx**2+vDEy**2);Nx,Ny=Dx+tN*vDEx,Dy+tN*vDEy;S_KMN=0.5*abs(Kx*(My-Ny)+Mx*(Ny-Ky)+Nx*(Ky-My));print(f"Ratio: {S_KMN/S:.10f} Hyp: {(r/R)**4:.10f}")
Success #stdin #stdout 0.11s 14144KB
stdin
Standard input is empty
stdout
Ratio: 0.0605917160 Hyp: 0.0615320381
Ratio: 0.0605917160 Hyp: 0.0615320381