#include
#include
#include
#define DIRECTORY "./filetxt/cerchi.txt"
#define N_MAX_PUNTI 1000000
#define STRLEN 1024
#define MIN(A,B) (((A)<(B))?(A):(B)) /*MAI METTERE PUNTI E VIRGOLA QUA!!! STUNATUUUU!!!!!!*/
#define MAX(A,B) (((A)>(B))?(A):(B))
#define ABS(A) (((A)<0)?(-A):(A))
typedef struct _cerchio
{
float x_c;
float y_c;
float raggio;
} cerchio;
typedef struct _copoia
{
float x;
float y;
} coppia;
typedef cerchio* pcerchio;
typedef FILE* pfile;
float fmaxs(float a, float b)
{
return (a>b)?a:b;
}
float fmins(float a, float b)
{
return (a0)
{
x_min=fmins(x_min,(parray[i].x_c - parray[i].raggio));
x_max=fmaxs(x_max,(parray[i].x_c + parray[i].raggio));
y_min=fmins(y_min,(parray[i].y_c - parray[i].raggio));
y_max=fmaxs(y_max,(parray[i].y_c + parray[i].raggio));
}
else
{
x_min=parray[i].x_c - parray[i].raggio;
x_max=parray[i].x_c + parray[i].raggio;
y_min=parray[i].y_c - parray[i].raggio;
y_max=parray[i].y_c + parray[i].raggio;
}
}
fclose(pf);
x_g=x_gn/numero_cerchi;
y_g=y_gn/numero_cerchi;
/*max1=MAX(abs(x_max - x_g),abs(x_min - x_g));
max2=MAX(abs(y_max - y_g),abs(y_min - y_g));*/
raggio=fmaxs(fmaxs(ABS(x_max - x_g),ABS(x_min - x_g)),fmaxs(ABS(y_max - y_g),ABS(y_min - y_g)));
printf("baricentro: (%.3f, %.3f)\nxmin=%.3f\nxmax=%.3f\nymin=%.3f\nymax=%.3f\nraggio quadrato (R)=%.3f\n",x_g,y_g,x_min,x_max,y_min,y_max,raggio);
sinistra.x=x_g - raggio;
sinistra.y=y_g - raggio;
destra.x=x_g + raggio;
destra.y=y_g + raggio;
rq=raggio*raggio;
for(i_mc=0;i_mcx_c;
b=dot.y-p->y_c;
rq2=(p->raggio)*(p->raggio);
if (((dot.x-p->x_c)*(dot.x-p->x_c)+(dot.y-p->y_c)*(dot.y-p->y_c))