Psi Swarm Code V0.41 [With Beautiful Meme program]

Dependencies:   PsiSwarmLibrary mbed

Fork of BeautifulMemeProjectBT by Alan Millard

Committer:
jah128
Date:
Tue Mar 15 00:58:43 2016 +0000
Revision:
30:513457c1ad12
Added serial handling for Psi Console

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jah128 30:513457c1ad12 1 /// PsiSwarm Beautiful Meme Project Source Code
jah128 30:513457c1ad12 2 /// Version 0.41
jah128 30:513457c1ad12 3 /// James Hilder, Alan Millard, Homero Elizondo, Jon Timmis
jah128 30:513457c1ad12 4 /// University of York
jah128 30:513457c1ad12 5
jah128 30:513457c1ad12 6 // vector.cpp - Functions for calculating floating point bearing vectors
jah128 30:513457c1ad12 7
jah128 30:513457c1ad12 8 #include "bmeme.h"
jah128 30:513457c1ad12 9
jah128 30:513457c1ad12 10
jah128 30:513457c1ad12 11 struct FloatVector addVector(struct FloatVector in_vector, int angle, int distance){
jah128 30:513457c1ad12 12 struct FloatVector out_vector;
jah128 30:513457c1ad12 13 float sin_component_old = sin(in_vector.angle * TO_RAD) * in_vector.distance;
jah128 30:513457c1ad12 14 float cos_component_old = cos(in_vector.angle * TO_RAD) * in_vector.distance;
jah128 30:513457c1ad12 15 float sin_component_new = sin(angle * TO_RAD) * distance;
jah128 30:513457c1ad12 16 float cos_component_new = cos(angle * TO_RAD) * distance;
jah128 30:513457c1ad12 17 float sin_component_sum = sin_component_old + sin_component_new;
jah128 30:513457c1ad12 18 float cos_component_sum = cos_component_old + cos_component_new;
jah128 30:513457c1ad12 19 out_vector.distance = sqrt((sin_component_sum * sin_component_sum) + (cos_component_sum * cos_component_sum));
jah128 30:513457c1ad12 20 out_vector.angle = atan2(sin_component_sum ,cos_component_sum) * TO_DEG;
jah128 30:513457c1ad12 21 //out("Angle:%f Distance:%f\n",out_vector.angle,out_vector.distance);
jah128 30:513457c1ad12 22 return out_vector;
jah128 30:513457c1ad12 23 }