Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Математика


Ответ
 
Опции темы Опции просмотра
Старый 01.07.2016, 11:17   #11 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от romacool2 Посмотреть сообщение
вроде А и Б сделал но не могу понять как привязать длину круга которую я нашел чтоб выяснить столкнуться ли объекты или нет . в) Будем считать, что объекты должны столкнуться, если - возможное кратчайшее расстояние между ними меньше суммарной длины объектов И - это расстояние будет достигнуто в момент времени, превышающий t1.
М-да... Старался я, расписывал, разжевывал - да всё, видать, впустую.
Какие круги?! Зачем?!! Всё, что Вам нужно - это задать величины L1 и L2 (некие абстрактные "размеры"), потом найти расстояние наибольшего сближения Dmin, а затем проанализировать выполнение условия:
если Dmin ≤ L1 + L2, то столкновение произойдёт, в противном случае - нет.
Между прочим, точка "столкновения" вовсе не обязательно должна совпасть с точкой пересечения траекторий.
Сложность лишь в том, чтобы найти Dmin. Выражение для D(t) я Вам привёл в предыдущем посте, туда нужно подставить координаты от времени, продифференцировать по времени то, что получится, и результат приравнять к нулю. Писанины много, но в конце там должно получиться просто линейное уравнение.
Впрочем, как знаете: хотите рисовать круги - Ваше дело.

Ладно, вот я даже вывел выражение для tt (момент времени, соответствующий максимальному сближению объектов):
tt_1.jpg
(обратите внимание на знак "-" перед дробью!).
Знаменатель этого выражения обращается в 0 при условии параллельности траекторий, но эту ситуацию мы должны исключить заранее, сделав в программе соответствующее ветвление.
Теперь вычисляем tt, и если оно положительно и превышает t1, то подставляем в формулу для D(t), тем самым находим расстояние наибольшего сближения, а дальше - как расписано выше (сопоставляем с L1+L2).
Уф! Больше, похоже, ничем помочь не могу. На СИ, к сожалению, не пишу (паскалист).
Vladimir_S вне форума   Ответить с цитированием

Старый 01.07.2016, 11:17
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме часто создаются аналогичные темы

Помогите составить программы с матрицами
Составить алгоритм и написать код программы
Помогите составить программы на C++
Помогите, пожалуйста, составить программы

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:34.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.