Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 9 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 01.10.2007
В трехмерном пространстве, шарик диаметра d1 перемещают из точки x1, y1, z1 в точку x2, y2, z2 (по прямой).
Но возможно на этом отрезке, шарик столкнется с другим шариком (непожвижным), у которого известны его координаты x3, y3, z3 и диаметр d3.

Как определить, столкнутся ли шарики?


Последний раз редактировалось OverClocker-New 23.02.2008 16:33, всего редактировалось 1 раз.


Партнер
 

Member
Статус: Не в сети
Регистрация: 05.12.2005
OverClocker-New
Невозможно определить не зная скорости перемещения двух шаров или они одинаковы?


 

Member
Статус: Не в сети
Регистрация: 19.09.2003
Откуда: нижний
второй то шарик стоит! то есть можно!
надо определить расстояние от второго шара до линии перемещения первого и если оно меньше или равно суммы радиусов двух шаров И второй шар находится между точками 1 и 2 - то столкнутся!
ps надеюсь первый перемещается по прямой?! иначе однозначного ответа нет!


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
uhb
А, если второй шар стоит, то посчитать можно, согласен.


 

Member
Статус: Не в сети
Регистрация: 01.10.2007
Как определить расстояние между вторым шаром и линией перемешения первого?

У первого шара, даже не "линия" перемещения, а "цилиндр", вот как раз надо определить, пересекается ли этот "цилиндр" со стоящим вторым шаром?

Подскажите, пожалуйста, формулы или сам код


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Ну давай посмотрим, я плохо владею геометрией, поэтому буду думать чисто логически.
И так у нас есть некая линейная траектория движения. Предположим, что наш объект будет двигаться t единиц времени. Тогда расстояние, которое он будет преодалевать по каждым осям в единицу времени:
x = ( x1 - x2 ) / t
y = ( y1 - y2 ) / t
z = ( z1 - z2 ) /t
Нам известны диаметры твоих двух шаров и знаем, что если расстояние между объектами станет меньше, чем:
d = (d1 / 2) + (d2 / 2)
то они столкнулся.
Таким образом перемещая объект по времени от 0 до t, мы знаем его местоположение в каждый момент времени. И нам остается вычислить для каждого момента времени t расстояние между двумя точками, если оно меньше, чем d, то значит объекты столкнулся.

Вот и поучается все довольно легко, расстояние между двумя точками можно определить, зная только теорему пифагора, она для трехмерного пространства не меняется насколько я помню.


 

Member
Статус: Не в сети
Регистрация: 01.10.2007
sashar2
1-ый шарик не движется во времени от одной точки к другой, он перемешается скачками, сначала он находится в 1-ой точке, потом сразу во 2-ой, но на пути может быть другой шарик


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
OverClocker-New
Это не имеет значение, ТЫ можешь представить, что он движется во времени. Это не поменяет решение задачи.


 

Member
Статус: Не в сети
Регистрация: 01.10.2007
Решение найдено

Всем спасибо


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 9 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan