|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#11 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() Цитата:
Какие круги?! Зачем?!! Всё, что Вам нужно - это задать величины L1 и L2 (некие абстрактные "размеры"), потом найти расстояние наибольшего сближения Dmin, а затем проанализировать выполнение условия: если Dmin ≤ L1 + L2, то столкновение произойдёт, в противном случае - нет. Между прочим, точка "столкновения" вовсе не обязательно должна совпасть с точкой пересечения траекторий. Сложность лишь в том, чтобы найти Dmin. Выражение для D(t) я Вам привёл в предыдущем посте, туда нужно подставить координаты от времени, продифференцировать по времени то, что получится, и результат приравнять к нулю. Писанины много, но в конце там должно получиться просто линейное уравнение. Впрочем, как знаете: хотите рисовать круги - Ваше дело. Ладно, вот я даже вывел выражение для tt (момент времени, соответствующий максимальному сближению объектов): ![]() (обратите внимание на знак "-" перед дробью!). Знаменатель этого выражения обращается в 0 при условии параллельности траекторий, но эту ситуацию мы должны исключить заранее, сделав в программе соответствующее ветвление. Теперь вычисляем tt, и если оно положительно и превышает t1, то подставляем в формулу для D(t), тем самым находим расстояние наибольшего сближения, а дальше - как расписано выше (сопоставляем с L1+L2). Уф! Больше, похоже, ничем помочь не могу. На СИ, к сожалению, не пишу (паскалист). |
|
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На форуме часто создаются аналогичные темы Помогите составить программы с матрицами Составить алгоритм и написать код программы Помогите составить программы на C++ Помогите, пожалуйста, составить программы |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|