Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск точек соприкосновения на маршруте следования 
:(
    Опции темы
Гость05
Дата 30.8.2005, 10:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всем привет!

игровая модель:
- 2D
- есть отряды(точки), у каждого отряда есть зона ответственности (некая окружность, радиусы различны)
- перемещение происходит по векторам (не по клеткам, под любым углом)
- при попадании одного отряда в зону ответственности другого должны произойти некие действия (бой)
- перемещение отрядов должно происходить одновременно
- скорость перемещения со временем может изменяться

проблема:
- как реализовать алгоритм обрабатывающий подобную задачу


Рассмотрел два варианта но оба в итоге не подошли:

1) простое пересичение отрезков не подходит т.к.:
а) наличиствуют зоны ответственности
б) действие протекает во времени

2) в каждый момент времени проверять наличие противника в зоне ответственности так же не подходит т.к. изза возможного изменения скорости невозможно определить минимальный шаг


В общем мне в голову ничего больше не пришло, может кто ещё что посоветует?

Спасибо
  Вверх
podval
Дата 30.8.2005, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



Тема перемещена из раздела "Алгоритмы"
PM WWW ICQ   Вверх
CD20
Дата 2.9.2005, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.8.2005

Репутация: нет
Всего: 1



Я так понял, что отруды какбы опоясываются оружностями. Следовательно, если расстояник между их центрами меньше суммы их радиусов, - они пересекаются.
PM MAIL   Вверх
Guest
Дата 12.9.2005, 21:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Без проверки в каждый момент времени наверно невозможно. Разве что сделать события когда отряд начинает двигаться.
А зону ответственности посчитать нетрудно:
d=sqrt(abs(x1-x2)^2+abs(y1-y2)^2);
если d меньше суммы радуисов, то происходят действия...

  Вверх
Гость05
Дата 13.9.2005, 12:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











если кому интересно есть развитие этой темы:
на algolist.manual
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0839 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.