Witam. Z nudów napisałem w fpc programos, który symuluje spadającą i odbijającą się (od dolnej krawędzi ekranu) piłkę. TYlko zauważyłem dziwną rzecz: gdy ustawię siłę odbicia (tj stosunek prędkości przed i po odbiciu) na 1 to... piłka nie wraca dokładnie w swoje miejsce tylko trochę niżej i dalej odbija się do tego poziomu. Pewnie chodzi o to, że jest "zjadana" część przesunięcia przy odbiciu... Im mniejsza prędkość przy kolizji, tym błąd jest mniejszy.
Będę wdzięczny za sugestię jak ten problem rozwiązać
Wiem że program jest nieco niechlujnie napisany ale co mi tam...
Będę wdzięczny za sugestię jak ten problem rozwiązać
Wiem że program jest nieco niechlujnie napisany ale co mi tam...
program grav1ty;
uses crt, graph;
var y, yspeed, maxyspeed, grav, lasty, bounce: real;
i, ster, tryb: integer;
begin
ster:=VGA; tryb:=VGAHi;
initgraph(ster,tryb,'C:\TP\BGI');
y:=0; lasty:=0;
yspeed:=0;
grav:=1;
i:=1;
bounce:=1;
repeat
yspeed:=yspeed+grav;
y:=y+yspeed;
if y>479 then
begin
y:=479;
yspeed:=yspeed*-bounce;
end;
line(i,round(lasty),i+1,round(y));
writeln('y: ',y:4:1,'; yspeed: ',yspeed:4:1);
delay(50);
inc(i);
lasty:=y;
until keypressed;
end.