42 #define PI 3.1415926535F
49 #define CUADRADO(x) (float)((x)*(x))
50 #define RAIZ(x) (float)sqrt(x)
52 #define ARCOTANGENTE(x,y) (float)atan2(y,x)
53 #define ARCOCOSENO(x,r) (float)acos((x)/(r))
54 #define ARCOSENO(y,r) (float)asin((y)/(r))
56 #define MINIMO(a,b) ( (a)<=(b) ? (a) : (b) )
57 #define MAXIMO(a,b) ( (a)>=(b) ? (a) : (b) )
63 extern void AplicarCotas(
float *n,
float i,
float s);
71 #define DISTANCIA_CUADRADO2(p,q) (((p).x-(q).x)*((p).x-(q).x)+((p).y-(q).y)*((p).y-(q).y))
85 extern void ConstruirCoordenadasCxy(
TCoordenadas *p,
float x,
float y);
86 extern void ConstruirCoordenadasCra(
TCoordenadas *p,
float r,
float a);
99 extern void SumarCoordenadasCxy(
TCoordenadas *p,
float x,
float y);
101 extern void SumarCoordenadasCra(
TCoordenadas *p,
float r,
float a);
112 #define TRANSFORMACION01(SR1,p) TransformacionDirecta(SR1,p);
113 #define TRANSFORMACION12(SR2,p) TransformacionDirecta(SR2,p);
114 #define TRANSFORMACION23(SR3,p) TransformacionDirecta(SR3,p);
116 #define TRANSFORMACION02(SR1,SR2,p) \
118 TRANSFORMACION01(SR1,p) \
119 TRANSFORMACION12(SR2,p) \
126 #define TRANSFORMACION32(SR3,p) TransformacionInversa(SR3,p);
127 #define TRANSFORMACION21(SR2,p) TransformacionInversa(SR2,p);
128 #define TRANSFORMACION10(SR1,p) TransformacionInversa(SR1,p);
130 #define TRANSFORMACION20(SR2,SR1,p) \
132 TRANSFORMACION21(SR2,p) \
133 TRANSFORMACION10(SR1,p) \
138 #define TRANSFORMACION101(SR1a,SR1b,p) \
140 TRANSFORMACION10(SR1a,p) \
141 TRANSFORMACION01(SR1b,p) \
148 extern float AnguloNormalizado(
float angulo);
150 extern int AnguloPerteneceIntervaloOrientadoCerrado(
float angulo,
float limite1,
float limite2);
154 extern float BisectrizAnguloOrientado(
float limite1,
float limite2);
157 extern float BisectrizAnguloNoOrientado(
float limite1,
float limite2);
160 extern float AmplitudAnguloOrientado(
float limite1,
float limite2);
163 extern float AmplitudAnguloNoOrientado(
float limite1,
float limite2);