From 1edf6fb1c2702c125aeb4ae263287310c65a8a61 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Tue, 27 Apr 2010 00:17:01 +0200 Subject: digital/io, digital/avr/modules: use the new vect_normal_dot_product --- digital/avr/modules/math/geometry/distance.c | 3 +-- digital/io/src/radar.c | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/digital/avr/modules/math/geometry/distance.c b/digital/avr/modules/math/geometry/distance.c index d9228638..b5912aaa 100644 --- a/digital/avr/modules/math/geometry/distance.c +++ b/digital/avr/modules/math/geometry/distance.c @@ -64,8 +64,7 @@ distance_segment_point (vect_t *a, vect_t *b, vect_t *p) if (vect_dot_product (&vab, &vbp) > 0) return vect_norm (&vbp); /* Else, region 2. */ - vect_normal (&vab); - proj = vect_dot_product (&vab, &vbp) / vect_norm (&vab); + proj = vect_normal_dot_product (&vab, &vbp) / vect_norm (&vab); return UTILS_ABS (proj); } diff --git a/digital/io/src/radar.c b/digital/io/src/radar.c index ca815006..6188ff37 100644 --- a/digital/io/src/radar.c +++ b/digital/io/src/radar.c @@ -162,8 +162,7 @@ radar_blocking (const vect_t *robot_pos, const vect_t *dest_pos, + RADAR_OBSTACLE_RADIUS_MM; else length = BOT_SIZE_FRONT + RADAR_STOP_MM + RADAR_OBSTACLE_RADIUS_MM; - /* To save divisions, multiply limits by vd (and vdn) length. */ - vect_t vdn = vd; vect_normal (&vdn); + /* To save divisions, multiply limits by vd length. */ int32_t limit = (uint32_t) d * length; int32_t limitn = (uint32_t) d * (BOT_SIZE_SIDE + RADAR_CLEARANCE_MM + RADAR_OBSTACLE_RADIUS_MM); @@ -176,7 +175,7 @@ radar_blocking (const vect_t *robot_pos, const vect_t *dest_pos, int32_t dp = vect_dot_product (&vd, &vo); if (dp < 0 || dp > limit) continue; - int32_t dpn = vect_dot_product (&vdn, &vo); + int32_t dpn = vect_normal_dot_product (&vd, &vo); if (dpn < -limitn || dpn > limitn) continue; /* Else, obstacle is blocking. */ -- cgit v1.2.3