summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2010-04-27 00:17:01 +0200
committerNicolas Schodet2010-04-27 00:17:01 +0200
commit1edf6fb1c2702c125aeb4ae263287310c65a8a61 (patch)
tree640fc0bfd4d4f6c0862fdb34ee2eac79a4bb8732
parente0c9bedbaa25f8ab21294c9c210910479f6c52f6 (diff)
digital/io, digital/avr/modules: use the new vect_normal_dot_product
-rw-r--r--digital/avr/modules/math/geometry/distance.c3
-rw-r--r--digital/io/src/radar.c5
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. */