![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
ft. button press reset
Fork of BeaconDemo_RobotCode by
Diff: vector.cpp
- Revision:
- 12:daa53285b6e4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vector.cpp Tue Oct 27 13:03:10 2015 +0000 @@ -0,0 +1,17 @@ +#include "main.h" +#include <math.h> + + +struct FloatVector addVector(struct FloatVector in_vector, int angle, int distance){ + struct FloatVector out_vector; + float sin_component_old = sin(in_vector.angle * TO_RAD) * in_vector.distance; + float cos_component_old = cos(in_vector.angle * TO_RAD) * in_vector.distance; + float sin_component_new = sin(angle * TO_RAD) * distance; + float cos_component_new = cos(angle * TO_RAD) * distance; + float sin_component_sum = sin_component_old + sin_component_new; + float cos_component_sum = cos_component_old + cos_component_new; + out_vector.distance = sqrt((sin_component_sum * sin_component_sum) + (cos_component_sum * cos_component_sum)); + out_vector.angle = atan2(sin_component_sum ,cos_component_sum) * TO_DEG; + //out("Angle:%f Distance:%f\n",out_vector.angle,out_vector.distance); + return out_vector; +} \ No newline at end of file