Я пытаюсь смоделировать прыгающий шар, который просто выплевывает числа x-позиции, y-позиции, времени и количества отскоков. На физике это работает отлично, но проблема в том, что когда я пытаюсь увеличить переменную ‘bounces’, она увеличивается на один каждый кадр вместо одного, а затем ждет следующего отскока.
Вот соответствующий цикл:
while(bounces<=maxBounces){
frames++;
seconds=frames/1000;
if(yPos>=0&&bounces==0){
initRads=getRads(initAng);
dropBall(initVel, initRads);
}
if(yPos<0){
yPos=0;
bounces++;
cout.precision(5);
cout<<seconds<<"\t"<<yPos<<"\t"<<xPos<<"\t"<<bounces<<"\n";
newVel=getVel(currYVel, currXVel, cor);
newAng = getAng(currYVel,newVel);
dropBall(newVel, newAng);
}
}
Ваша симуляция немного ошибочна. Вы должны иметь еще ветку, если yPos<0
это делает dropBall
,
Других решений пока нет …