incenter(plist):=( regional(pA,pB,pC,a,b,c,pI,tmp); pA=plist_1; pB=plist_2; pC=plist_3; a=|pB-pC|; b=|pC-pA|; c=|pA-pB|; pI=(a*pA+b*pB+c*pC)/(a+b+c); pI; ); inradius(plist):=( regional(r,pI,tmp); pI=incenter(plist); tmp=plist_3-plist_1; tmp=Crossprod(tmp,pI-plist_1)/|tmp|; r=|tmp|; r; ); internal(pP):=( regional(out,nn); //global tL,cL,rL; out=0; nn=1; while(nn<=length(tL), if(|pP-cL_nn|0)&(nr>0), dg1=common(tL_nq,tL_nr); dg1=sort(dg1); if(length(dg1)==2, Shade(["cr"+nq],["Color=cyan"]); Shade(["cr"+nr],["Color=cyan"]); Pointdata("1",[Q,R],["Color=red","Size=3","notex"]); tmp1=remove(tL_nq,dg1); tmp2=remove(tL_nr,dg1); dg2=concat(tmp1,tmp2); dg2=sort(dg2); flipok=1; ); ); flipok; ); Doflip():=( regional(tmp,tmp1,tmp2); //global sL,sLg,tL,tLg if(flipok==1, sL=remove(sL,[dg1]); sL=concat(sL,[dg2]); sL=apply(sL,sort(#)); sLg=apply(sL,all_#); tmp1=select(tL,common(#,dg1)==dg1); tL=remove(tL,tmp1); tmp=remove(tmp1_1,dg2); tmp2=apply(tmp,append(dg2,#)); tL=concat(tL,tmp2); tL=apply(tL,sort(#)); tLg=apply(tL,all_#); tmp=apply(tL,text(#)); tmp=apply(tmp,replace(#," ","")); tmp=apply(tmp,replace(#,"[","")); tmp=apply(tmp,replace(#,"]","")); tmp=apply(tmp,replace(#,",","-")); tmp1=""; forall(tmp,tmp1=tmp1+#+","); tmp=substring(tmp1,0,length(tmp1)-1); Subsedit(7,tmp); Mkcrfig(); ); );