朝食に数式のサラダw

abc2ABC <- function(a,b,c){ # a:BC,b:CA c:CA
abc=c(a,b,c)
if (max(abc)>=(sum(abc)-max(abc))) return(NA)
A=c*exp(1i*acos((c^2+a^2-b^2)/(2*c*a)))
B=0i
C=a+0i
c(A,B,C)
}

incircle <- function(P,Q,R){ # inscribing circle
p=abs(Q-R)
q=abs(R-P)
r=abs(P-Q)
s=(p+q+r)/2
S=sqrt(s*(s-p)*(s-q)*(s-r))
radius=S/s
center=(p*P+q*Q+r*R)/(p+q+r)
c(center,radius)
}

abc2mr<- function(a,b,c){
A=abc2ABC(a,b,c)[1]
B=0i
C=a+0i
G=(A+B+C)/3
m=max(abs(A-G),abs(B-G),abs(C-G))
r=Re(incircle(A,B,C)[2])
c(m=m,r=r)
}

abc2mr(2,3,4)
abc2mr(3,4,5)
abc2mr(4,5,6)

東大卒によるPythonでのコードを希望します。