Ogolnie to szukam jakiegos wzoru ktory mi pomoze wyhamowac predkosc (V pilki) wiedzac ze jedyna sila ktora dziala na pilke to -mg bo V = V - mg; jest zle :C
no i powiedzmy ze mam sobie pilke ktora wyrzucam do gory (nadaje jej V [predkosc] rowne 10 m/s
z jakis tam rownan na energie calkowita wychodzi ze obiekt wzniesie sie na wysokosc okolo 5 metrow
problem w tym ze moja pilka nie pokazuje zadnego innego ruchu niz ten w dol
no i co ja robie w kodzie normalnie obliczam zmiane czasu pomiedzy klatkami pozniej musze jakos wyhamowac predkosc ja uzywam jak na razie grawitacji tylko nie tak jak powinienem z tego widze.
bo jak mam przyrownywac sile ciezkosci do predkosci V = V - m*g; ;0
pozniej zmieniam pozycje pilki kozystajac ze wzoru s = V * t; czyli mam swoje V mam pozycje pilki i mnoze teraz V przez moj czas ktory wyliczylem na poczatku i to jeszcze mnoze przez wetkor kierunku, powstaly wektor dodaje do ostatniej pozycji pilki
void MISSLLE_HEADER__TimeFrame(TMissle& obj)
{
obj.t = GetTickCount();
double elapsed_time = (float(obj.t) - float(obj.timestart) )/1000.0;
obj.timestart = obj.t;
float g = 9.810f;
//-----------------------TimeFrame
obj.V = obj.V - g*obj.m;
t3dpoint vec = vector_multiple(obj.direction,obj.V*elapsed_time);
obj.pos = vectors_add(vec,obj.pos);
obj.oldpos = obj.pos;
}
oto jak wyrzucam obiekt
POCISK.pos.x = 22;
POCISK.pos.y = 300;
POCISK.pos.z = 0;
POCISK.direction = triplesingletoT3DPOINT(0,1,0);
POCISK.m = 0.450;
POCISK.V = 0;
POCISK.t = GetTickCount();
POCISK.V = 10.0;