Prędkość opadania czyli np numerycznie prosta jest metoda eulera. W 1d wygląda tak:
#include <iostream>
using namespace std;
int main()
{
double y0 = 500;
double y = y0, v=0, a=-10, dt = 0.01; // np zmiana polozenia na ekranie co 0.01 s
int k = 10000;
for(int i=0; i<k; i++)
{
v += a*dt;
y += v*dt;
}
cout<<y<<endl;
double t = k*dt;
cout<<y0+a*t*t/2<<endl; // porownanie ze wzorem z gimnazjum
return 0;
}
Analogicznie dla dwóch wymiarów rozłożenie na wektory:
for(int i=0; i<k; i++)
{
vx += ax*dt;
vy += ay*dt;
x += v*dt;
y += v*dt;
}
Zadziała gdy odpowiednio rozłożysz siły/przyśpieszenia na składowe. Zrobisz rzut ukośny. Jeżeli przyśpieszenie będzie zmieniać się w czasie np symulacja układu słonecznego to lepiej użyć coś innego (chociaż dla szczególnych warunków też będzie działać ładnie). Ale ogólnie prosty sposób - zmiana prędkości zmienia się przyśpieszenie razy czas, zmiana położenia - prędkość razy mały krok czasowy.