Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

Бильярд...   Найти похожие ветки 

 
Ricks ©   (2006-06-18 12:32) [0]

... вернее столкновения. Народ, помогите мне разобраться со столкновениями шаров. Шары у меня взаимодействуют нормально, разлетаются куда надо, но проблема вот в чем - ИНОГДА большинство шаров начинают носиться как угорелые по всему столу, это происходит из за неконтролируемого прироста скорости, но откуда он берется неясно.
Вот мой кусочек кода:

для i-ого и j-ого шаров:
sx[.], sy[.] - положение шара
vx[.], vy[.] - скорость шара

  dx:=sx[j] - sx[i];
  dy:=sy[j] - sy[i];
  d:=rad[i] + rad[j];
  u:=sqrt(sqr(dx) + sqr(dy)) - d;
  if u < 0 then begin
   a:=ArcTan2( dy, dx );
   u:=abs(u);
   
   sx[i]:=sx[i] - cos(a) * u;
   sy[i]:=sy[i] - sin(a) * u;
   sx[j]:=sx[j] + cos(a) * u;
   sy[j]:=sy[j] + sin(a) * u;

   v1:=sqrt( sqr( vx[i] ) + sqr( vy[i] ) );
   v2:=sqrt( sqr( vx[j] ) + sqr( vy[j] ) );
   vx[i]:=vx[i] - (v1+v2) * cos(a);
   vy[i]:=vy[i] - (v1+v2) * sin(a);
   vx[j]:=vx[j] + (v1+v2) * cos(a);
   vy[j]:=vy[j] + (v1+v2) * sin(a);

PS: в теории я знаю - закон сохранения количества движения и закон сохранения энергии, но я думаю я их не так реализовал...


 
Ricks ©   (2006-06-18 12:47) [1]

Что из этого выходит можете посмотреть здесь:
http://www.ricks.pisem.net/b.zip


 
Ricks ©   (2006-06-19 00:57) [2]

Все, разобрался - где-то нашел то что нужно,
вот результат моих полудневных стараний:
http://www.ricks.pisem.net/b2.zip


 
Rial ©   (2006-06-19 01:22) [3]

Прикольно.
Только шарики слишком долго едут с очень маленькой скоростью.
Сделай нижний предел больше.
А силу кия наращивай быстрее.


 
Algol   (2006-06-20 13:00) [4]

А вращательное движение шара учитывается ?
А удар "с подскоком" ?


 
Ricks ©   (2006-06-20 14:44) [5]


> Rial ©

Уже сделал, еще что-нибудь придумаю, выложу новую версию

> Algol

Это в планах...



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
3-1172611235
Master_
2007-02-28 00:20
2007.05.20
Ttable и проблемма транзакций


2-1177746016
Cj
2007-04-28 11:40
2007.05.20
Paramstr(?)


15-1177325971
mrhx
2007-04-23 14:59
2007.05.20
VISG: visual and smart GUI builder.


2-1177582863
sergeyst
2007-04-26 14:21
2007.05.20
Как работать со сканером?


2-1177672097
Perf2k2
2007-04-27 15:08
2007.05.20
Строка из ListView передается не полностью