Два шарика

From
Valeriy Shabanov (2:5055/138.9)
To
Ivan Bessarabov
Date
2000-02-28T22:50:27Z
Area
RU.ALGORITHMS
Приветик, *Ivan*.

Пятница Февpаль 25 2000 19:22, Ivan Bessarabov топтал клаву для All:

 IB> Но как сделать, чтобы 2 шарика бегали по экрану, отражаясь не только
 IB> от краев, но еще и друг от друга???? Я потратил весь сегодняшний
 IB> день, пытаясь воплотить это в жизнь, вывел жуткую формулу, которая
 IB> оказалась неправильной!!!! Что делать ? Я абсолютно уверен, что эта
 IB> задача имет решение, так как это фрагмет бильярда ;)
От краёв ты формулу вывел. А для шаров вот как: Проверяешь расстояние между
шарами. Если оно меньше 2R (R-радиус шара). То проводишь перпендикуляр n-n к
отрезку O1-O2 (где O - центры шаров). Перпендикуляр проходит в том месте, где
шары соприкасаются.Вот так, как на рисунке, тока n-n понятно может состовлять с
      |n           осью Ox угол не 90 градусов. После этого делаешь отскок 
/--\|/--\        шаров от прямой n-n также как и от краёв, тока учитываешь,
 | O1 | O2 |       что n-n составляет с осью Ox угол = a. Так направления
  \--/|\--/        можно определить. А скорости шаров - это из курса физики.
      |n           Я сам как то искал решение этого, но не нашёл.

      Пока,  _Valeriy_.

     /[Team VSTU]  [Team Borman C++ Builder]  [Team OOP]/
... -=- Alien -=-
---
 * Origin: Солдат без работы - потенциальный преступник! (2:5055/138.9)