Beispiel #1
0
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);
}
Beispiel #2
0
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]);
}
Beispiel #3
0
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]);

}
Beispiel #4
0
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);
}