void boidInitialization(Boid *boid, int id,double width, double depth, double high,Vector * startingV,Vector * startingA) { double mass, force; Vector position, vVelocity, vAcceleration; //Vector offsetAcceleration; //double accelerationOffset, velocityOffset; ////vettore accelerazione iniziale (valore base uguale x tutti + leggero offset) //initVector(&vAcceleration); //accelerationOffset = simParameters.maxAcceleration/100; //randomVector(&offsetAcceleration, accelerationOffset, accelerationOffset, accelerationOffset); //addVector(&offsetAcceleration,startingA,&vAcceleration); ////vettore velocità iniziale (valore base uguale x tutti + leggero offset) //initVector(&vVelocity); //velocityOffset = simParameters.maxVelocity/100; //randomVector(&offsetVelocity, velocityOffset, velocityOffset, velocityOffset); //addVector(&offsetVelocity,startingV,&vVelocity); mass=1; force=0.1; initVector(&vAcceleration); initVector(&vVelocity); // vettore posizione randomVector(&position, width, depth, high); initBoid(&position, &vVelocity, &vAcceleration, simParameters.maxVelocity, simParameters.maxAcceleration, force, mass, id, boid); }
void loadParticles(ParticlesParameters *pariclesList, int nParticles) { int i; Vector nullVector; initVector(&nullVector); boidSet=(Boid *)malloc(sizeof(Boid)*nParticles); for (i=0;i<nParticles;i++) initBoid(&(pariclesList[i].position),&(pariclesList[i].velocity),&nullVector,pariclesList[i].maxSpeed,pariclesList[i].maxAcceleration,pariclesList[i].maxForce,pariclesList[i].mass,i+1,&boidSet[i]); }
void loadLeader(Vector *leaderPosition, int nFrame) { int i; Vector nullVector; initVector(&nullVector); leader=(Boid *)malloc(sizeof(Boid)*nFrame); // the leader only need the position ,so the others variables will be not setup for (i=0;i<nFrame;i++) initBoid(&(leader[i].currentPosition),&nullVector,&nullVector,0,0,0,0,-1,&leader[i]); }
void cudaBoidInitialization(Boid *boid, int id,double width, double depth, double high,Vector * startingV,Vector * startingA) { double mass, force; Vector position, vVelocity, vAcceleration; mass=1; force=0.1; initVector(&vAcceleration); initVector(&vVelocity); // vettore posizione randomVector(&position, width, depth, high); initBoid(&position, &vVelocity, &vAcceleration, simParameters.maxVelocity, simParameters.maxAcceleration, force, mass, id, boid); }