- 435 名前:2,3,4+5I] // N
(* 三角形の外心と外接円半径 *) outcircle[P_,Q_,R_]:=( dot[x_,y_]:=Re[x]*Re[y]+Im[x]*Im[y]; p=Abs[Q-R];q=Abs[R-P];r=Abs[P-Q]; cosP=dot[R-P,Q-P]/(q*r);cosQ=dot[P-Q,R-Q]/(r*p);cosR=dot[Q-R,P-R]/(p*q); center=(p*cosP*P+q*cosQ*Q+r*cosR*R)/(p*cosP+q*cosQ+r*cosR); radius=Abs[center-P]; {center,radius} ) outcircle[1,2,3+4I] // N outcircle[2,3,4+5I] // N (* 三角形の垂心 *) orthocenter[P_,Q_,R_] :=( a1=Re[P] ; a2=Im[P]; b1=Re[Q] ; b2=Im[Q]; c1=Re[R] ; c2=Im[R]; o1=(a1*(a2*(b1-c1)-b1*b2+c1*c2)+(b2-c2)*(a2^2-a2*(b2+c2)+b1*c1+b2*c2))/(a1*(c2-b2)+a2*(b1-c1)-b1*c2+b2*c1); o2=(a1^2*(b1-c1)+a1*(a2*b2-a2*c2-b1^2+c1^2)+a2*(c1*c2-b1*b2)+(b1-c1)*(b1*c1+b2*c2))/(a1*(b2-c2)+a2*(c1-b1)+b1*c2-b2*c1); o1+o2*I ) orthocenter[1,2,3+4I] // N orthocenter[2,3,4+5I] // N [] - [ここ壊れてます]
|

|