22 SinT=(float)sin(sistema->
tita);
23 CosT=(float)cos(sistema->
tita);
25 sol->
x=x*CosT-y*SinT+sistema->
x;
26 sol->
y=x*SinT+y*CosT+sistema->
y;
57 SinT=(float)sin(sistema->
tita);
58 CosT=(float)cos(sistema->
tita);
61 a13=-sistema->
y*SinT-sistema->
x*CosT;
62 a23=-sistema->
y*CosT+sistema->
x*SinT;
64 sol->
x=x*CosT+y*SinT+a13;
65 sol->
y=-x*SinT+y*CosT+a23;
77 c=(float)cos(sisIn->
tita);
78 s=(float)sin(sisIn->
tita);
79 sisOut->
x =-c*sisIn->
x-s*sisIn->
y;
80 sisOut->
y = s*sisIn->
x-c*sisIn->
y;
98 out->
r=(float)sqrt(in->
x*in->
x+in->
y*in->
y);
99 out->
t=(float)atan2(in->
y,in->
x);
104 out->
x=in->
r*(float)cos(in->
t);
105 out->
y=in->
r*(float)sin(in->
t);
112 float x3,
float y3,
float x4,
float y4,
117 float a1,a2,b1,b2,c1,c2,xm,ym,denominador,max1_x,max1_y,min1_x,min1_y;
120 float error_redondeo;
122 error_redondeo=(float)0.00001F;
135 denominador=a1*b2-a2*b1;
139 xm=(b1*c2-b2*c1)/denominador;
140 ym=(c1*a2-c2*a1)/denominador;
142 xerr=xm+error_redondeo;
143 yerr=ym+error_redondeo;
147 max1_x=x1; min1_x=x2;
150 max1_x=x2; min1_x=x1;
153 max1_y=y1; min1_y=y2;
156 max1_y=y2; min1_y=y1;
159 if (max1_x+error_redondeo>=xm && xerr>=min1_x && max1_y+error_redondeo>=ym && yerr>=min1_y)
166 max1_x=x3; min1_x=x4;
169 max1_x=x4; min1_x=x3;
172 max1_y=y3; min1_y=y4;
175 max1_y=y4; min1_y=y3;
178 if (max1_x+error_redondeo>=xm && xerr>=min1_x && max1_y+error_redondeo>=ym && yerr>=min1_y){
void transfor_directa_p(float x, float y, Tsc *sistema, Tpf *sol)
float NormalizarPI(float ang)
void car2pol(Tpf *in, Tpfp *out)
void transfor_inversa_p(float x, float y, Tsc *sistema, Tpf *sol)
void transfor_directa_pt0(float x, float y, Tsc *sistema, Tpf *sol)
void pol2car(Tpfp *in, Tpf *out)
void composicion_sis(Tsc *sis1, Tsc *sis2, Tsc *sisOut)
int corte_segmentos(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, Tpf *sol)
void inversion_sis(Tsc *sisIn, Tsc *sisOut)