rendered paste bodytypedef struct mypt
{
double x,y;
} MYPT;
double dist(MYPT p1,MYPT p2);
MYPT circcenter(MYPT p1,MYPT p2,MYPT p3)
{
MYPT mid1,mid2,end1,end2;
MYPT c;
double ua,ub;
mid1.x=(p1.x+p2.x)/(float)2;
mid1.y=(p1.y+p2.y)/(float)2;
end1.x=mid1.x-(p1.y-p2.y);
end1.y=mid1.y+(p1.x-p2.x);
mid2.x=(p2.x+p3.x)/(float)2;
mid2.y=(p2.y+p3.y)/(float)2;
end2.x=mid2.x-(p2.y-p3.y);
end2.y=mid2.y+(p2.x-p3.x);
PRINT(mid1);
PRINT(end1);
PRINT(mid2);
PRINT(end2);
#define X1 mid1.x
#define Y1 mid1.y
#define X2 end1.x
#define Y2 end1.y
#define X3 mid2.x
#define Y3 mid2.y
#define X4 end2.x
#define Y4 end2.y
/*ua=(end2.x-mid2.x)*(mid1.y-mid2.y)-(end2.y-mid2.y)*(mid1.x-mid2.x)/\
(end2.y-mid2.y)*(end1.x-mid1.x)-(end2.x-mid2.x)*(end1.y-mid1.y);
ub=(end1.x-mid1.x)*(mid1.y-mid*/
ua=((X4-X3)*(Y1-Y3)-(Y4-Y3)*(X1-X3))/\
((Y4-Y3)*(X2-X1)-(X4-X3)*(Y2-Y1));
/*ub=((X2-X1)*(Y1-Y3)-(Y2-Y1)*(X1-X3))/\
((Y4-Y3)*(X2-X1)-(X4-X3)*(Y2-Y1));*/
printf("%f, %f\n",ua,ub);
c.x=X1+ua*(X2-X1);
c.y=Y1+ua*(Y2-Y1);
return c;
}