//ceci n'est pas une méthode statique
valarray<double> MassiveParticle::compacc(MassiveParticle part2) const {
    double r(0), intensity(0);
    valarray<double> dir(0.,3), acc(0.,3);
    r = distanceTo(part2);
    dir = directionTo(part2);
    intensity = - G * part2.m_mass / (r*r);
    acc = dir * intensity;
    return acc;
}
Exemple #2
0
//déplacement ciblé
void Bee::targetMove(sf::Time dt, Vec2d target)
{
	if (avoidanceClock_ < sf::Time::Zero )
	{
		speed_ = directionTo(target).normalised() * speed_.length();// on fait appel à la fonction codée dans Vec2d
	}
	else
	{
		avoidanceClock_ -= dt;
	}
	if (!movebee(dt))
	{
		avoidanceClock_ = sf::seconds(delay); 
	}
}
Exemple #3
0
double
Collider::distanceTo(const Vec2d& to) const
{
    return directionTo(to).length();
}
Exemple #4
0
Vec2d
Collider::directionTo(const Collider& other) const
{
    return directionTo(other.getPosition());
}