Éviter la division par zéro dans l'algo d'attraction
This commit is contained in:
parent
6a53994312
commit
e7aa2c22e7
|
@ -40,6 +40,11 @@ sf::Vector2f Ball::getForces(State state) {
|
||||||
float distanceSquared = attraction.x * attraction.x +
|
float distanceSquared = attraction.x * attraction.x +
|
||||||
attraction.y * attraction.y;
|
attraction.y * attraction.y;
|
||||||
|
|
||||||
|
// éviter la division par zéro
|
||||||
|
if (distanceSquared == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// normalisation du vecteur direction qui porte
|
// normalisation du vecteur direction qui porte
|
||||||
// la force d'attraction, puis application de la norme
|
// la force d'attraction, puis application de la norme
|
||||||
attraction /= std::sqrt(distanceSquared);
|
attraction /= std::sqrt(distanceSquared);
|
||||||
|
|
Loading…
Reference in New Issue