Re: Два шаpика

From
pav ()
To
All
Date
2000-02-28T15:55:34Z
Area
RU.ALGORITHMS
From: "pav" <pav@intis.iom.tsc.ru>

Hi, All.
Mark Shevchenko <Mark.Shevchenko@p77.f27.n5093.z2.fidonet.org> сообщил в
новостях следующее:951741326@p77.f27.n5093.z2.ftn...

> Не так yж это и элементаpно. Дело в том, что два шаpика пpи хоpошей
скоpости,
> могyт "пpоскочить" дpyг сквозь дpyга, как это показано на pисyнке:

Уж сколько раз твердили миру :-). Сейчас по слогам разжую как сделать так
чтобы "ваши шары не пролетали".

> Хн - начальная позиция шаpика Х, Хк - конечная. Пpо пpостой pеализации
(когда
> изменение ситyации отсеживается чеpез фиксиpованные пpомежyтки вpемени),
Ан и

глупо это, товарисчи. Событиями в системе считаем соударения шаров со
стенками и между собой.Система в периодах между событиями движется
поступательно (ускорение, трение, гравитация, влияние лунного света на
рельсы и проч. считаем постоянными/переменными, главное что ни один объект
системы не испытывают влияние от другого), поэтому я считаю, что уже совсем
всем ясно, что бессмысленно в каждый такт отрисовки пересчитывать остаток
времени до следующего соударения (глупо, мы это знаем с самого начала).
После совершившегося события, (вначале - это начало :-) находим (один раз)
времена соударения каждого из шаров (не обязательно двух :-) со стенками и
между собой - следующих (возможных) событий, из них находим наиближайшее
(минимум) и прокручиваем систему до него. Затем повороты, потеря энергии,
пересчет наиближайшего события и пр. Дальше все повторяется . Ну уж, а
тактирование отрисовки - на ваш вкус - хоть по-квантово, хоть по-N-пиксельно
(вспомним старика Брезенхема), може еще как. Собственно это и есть бильярд
на N-шаров. И не только.

С уважением,
    Милованцев Павел.


--- ifmail v.2.15dev4
 * Origin: Tomsk State University (2:5020/400)