• 1000 Как только достигается строка
startImpatience[id] += ((1.0 - dif) * dt)
, значение элемента принимает значение
-nan(ind)
. Вот фрагмент кода:
double pref_magnitude = sqrt((cPreferredVelocity[id].x * cPreferredVelocity[id].x) + (cPreferredVelocity[id].y * cPreferredVelocity[id].y));
double magnitude = sqrt((cVelocity[id].x * cVelocity[id].x) + (cVelocity[id].y * cVelocity[id].y));
double dif = pref_magnitude - magnitude / pref_magnitude;
startImpatience[id] *= (1.0 - dt);
// startImpatience[id] has a value
startImpatience[id] += ((1.0 - dif) * dt);
// startImpatience[id] is -nan(ind)
Каждая переменная, инициализация которой вы не видите, да, все они имеют тип double или vector of double.
Я не вижу, что не так с кодом любая помощь приветствуется!