reading from 6 sensors and packaging the data
vector.cpp@2:171076b97de0, 2015-03-23 (annotated)
- Committer:
- hassan_elahi
- Date:
- Mon Mar 23 19:18:57 2015 +0000
- Revision:
- 2:171076b97de0
- Parent:
- 0:f186dd92c836
asfdsd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DrCoyle | 0:f186dd92c836 | 1 | #include <vector.h> |
DrCoyle | 0:f186dd92c836 | 2 | #include <math.h> |
DrCoyle | 0:f186dd92c836 | 3 | |
DrCoyle | 0:f186dd92c836 | 4 | void vector_cross(const vector *a,const vector *b, vector *out) |
DrCoyle | 0:f186dd92c836 | 5 | { |
DrCoyle | 0:f186dd92c836 | 6 | out->x = a->y*b->z - a->z*b->y; |
DrCoyle | 0:f186dd92c836 | 7 | out->y = a->z*b->x - a->x*b->z; |
DrCoyle | 0:f186dd92c836 | 8 | out->z = a->x*b->y - a->y*b->x; |
DrCoyle | 0:f186dd92c836 | 9 | } |
DrCoyle | 0:f186dd92c836 | 10 | |
DrCoyle | 0:f186dd92c836 | 11 | float vector_dot(const vector *a,const vector *b) |
DrCoyle | 0:f186dd92c836 | 12 | { |
DrCoyle | 0:f186dd92c836 | 13 | return a->x*b->x+a->y*b->y+a->z*b->z; |
DrCoyle | 0:f186dd92c836 | 14 | } |
DrCoyle | 0:f186dd92c836 | 15 | |
DrCoyle | 0:f186dd92c836 | 16 | void vector_normalize(vector *a) |
DrCoyle | 0:f186dd92c836 | 17 | { |
DrCoyle | 0:f186dd92c836 | 18 | float mag = sqrt(vector_dot(a,a)); |
DrCoyle | 0:f186dd92c836 | 19 | a->x /= mag; |
DrCoyle | 0:f186dd92c836 | 20 | a->y /= mag; |
DrCoyle | 0:f186dd92c836 | 21 | a->z /= mag; |
DrCoyle | 0:f186dd92c836 | 22 | } |
DrCoyle | 0:f186dd92c836 | 23 |