Два шарика
- 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)