summaryrefslogtreecommitdiff
path: root/digital/avr/modules/math/geometry/distance.c
diff options
context:
space:
mode:
authorNicolas Schodet2010-04-27 00:17:22 +0200
committerNicolas Schodet2010-04-27 00:17:22 +0200
commit3d4c3356183686b97e8fa750b73ce727a59ff89f (patch)
tree966e4150a5c54b407cba7376eca33dcbb987ff5e /digital/avr/modules/math/geometry/distance.c
parent332f2577aa20709b2e1761864bcb60b961d0d1bd (diff)
digital/avr/modules/math/geometry: add distance_point_point
Diffstat (limited to 'digital/avr/modules/math/geometry/distance.c')
-rw-r--r--digital/avr/modules/math/geometry/distance.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/digital/avr/modules/math/geometry/distance.c b/digital/avr/modules/math/geometry/distance.c
index b5912aaa..348087fd 100644
--- a/digital/avr/modules/math/geometry/distance.c
+++ b/digital/avr/modules/math/geometry/distance.c
@@ -26,6 +26,15 @@
#include "distance.h"
#include "modules/utils/utils.h"
+#include "modules/math/fixed/fixed.h"
+
+int16_t
+distance_point_point (vect_t *a, vect_t *b)
+{
+ int16_t dx = b->x - a->x;
+ int16_t dy = b->y - a->y;
+ return fixed_sqrt_ui32 (dx * dx + dy * dy);
+}
int16_t
distance_segment_point (vect_t *a, vect_t *b, vect_t *p)