X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=modules%2Fbase%2Fmath%2Fgeometry%2Fvect_base.c;h=600844086015dad6ac9b500492da35fe60e7a50a;hp=2fb85638d4bace4bbdc28dc6b0b15880ddc4b00f;hb=9b20b69a87c9d442cf4610351dc40b28b7f36e9c;hpb=80386d268a58da2be3eeca83f254c980a047b34f diff --git a/modules/base/math/geometry/vect_base.c b/modules/base/math/geometry/vect_base.c index 2fb8563..6008440 100755 --- a/modules/base/math/geometry/vect_base.c +++ b/modules/base/math/geometry/vect_base.c @@ -22,23 +22,23 @@ #include #include #include - + /* Return scalar product */ -float +float vect_pscal(vect_t *v, vect_t *w) { return v->x * w->x + v->y * w->y; } /* Return Z of vectorial product */ -float +float vect_pvect(vect_t *v, vect_t *w) { return v->x*w->y - v->y*w->x; } /* Return scalar product */ -int8_t +int8_t vect_pscal_sign(vect_t *v, vect_t *w) { float z; @@ -49,7 +49,7 @@ vect_pscal_sign(vect_t *v, vect_t *w) } /* Return Z of vectorial product */ -int8_t +int8_t vect_pvect_sign(vect_t *v, vect_t *w) { float z; @@ -59,14 +59,14 @@ vect_pvect_sign(vect_t *v, vect_t *w) return z>0?1:-1; } -float norm(float x1, float y1, float x2, float y2) +float xy_norm(float x1, float y1, float x2, float y2) { float x = x2 - x1; float y = y2 - y1; return sqrt(x*x + y*y); } -float pt_norm(point_t *p1, point_t *p2) +float pt_norm(const point_t *p1, const point_t *p2) { float x = p2->x - p1->x; float y = p2->y - p1->y; @@ -74,8 +74,7 @@ float pt_norm(point_t *p1, point_t *p2) } /* norm of a vector */ -float -vect_norm(vect_t *v) +float vect_norm(const vect_t *v) { return sqrt(v->x*v->x+v->y*v->y); } @@ -83,30 +82,30 @@ vect_norm(vect_t *v) void vect_rot_trigo(vect_t *v) { float s; - + s = v->x; v->x= -v->y; v->y = s; -} +} void vect_rot_retro(vect_t *v) { float s; - + s = v->x; v->x= v->y; v->y = -s; -} +} float vect_get_angle(vect_t *v, vect_t *w) { float ps; float n; - + ps = vect_pscal(v, w); n = vect_norm(v) * vect_norm(w); - + return acos((float)ps/n); }