Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Расчет точки упреждения | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 2
На страницу: 1, 2  След. | Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Расчет точки упреждения»
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Есть кораблег.
Есть у него скорость (вектор)
Есть скорость полета снаряда (или определенное число, обозначающее, что это луч, а не снаряд)

Как найти в мировых (та хоть в любых) координатах точку, если в которую выстрелить, то можно попасть в этот объект, в данном случае - это кораблик.

Я додумал только
________________________
(скорость+позиция корабля)*скорость пули

но как-то не так..
_________________
MOV topka, C++
    Добавлено: 21:16 20-06-2006   
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Матрицу расположения помножить на кватернион движения и время... Я думаю... Не пинайте... Гы-гы
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 13:28 21-06-2006   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
himem :
кватернион движения


кватернион описывает поворот, а не движение..

короче ладно. Ой, не могу!.. Гы-гы
_________________
MOV topka, C++
    Добавлено: 18:46 21-06-2006   
Vladimir Kladov
 218 EGP


Репутация: 84
Сообщения: 80
Откуда: Novosibirsk, Russia
Зарегистрирован: 11.04.2006
Я на вас что-то не пойму. Это же простая (ну, не очень сложная) система уравнений. Исходные координаты пули + вектор скорости пули умножить на время полета t, с одной стороны. Исходные координаты цели + вектор скорости корабля-цели умножить на время t, с другой стороны. Вектор скорости корабля известен (Xvk, Yvk, Zvk), позиции корабля (Xk, Yk, Zk) и пули (Xp, Yp, Zp) известны.
Xk + t * Xvk = Xp + t * Xvp (то же для Y и Z).
Добавляется еще одно уравнение - скорость полета пули (тоже вектор) - по величине либо константа, либо константа + вектор скорости корабля, который стреляет. Особо точное решение искать не стоит, корабль, по которому целятся, может ведь и повернуть, и затормозить, и ускориться.

Я бы сделал (да и сделаю) проще. Есть такая штука - обратная связь. Допустим, стреляем мы трассирующей очередью. Делаем небольшое упреждение, решая уравнения, в котором t делаем величиной известной (например, подобрать линейную функцию, которая возвращает подходящее t в зависимости от дистанции до цели). И начинаем палить. Когда пуля уходит на большую дистанцию, чем до цели (т.е. промахнулась, или попала), она "сообщает", на сколько разошлась с целью. По результату 2х таких сообщений уже можно корректировать огонь. Идея ясна по-моему, хотя работает эффективно только на близкой дистанции - пока t мало.

Трассирующие очереди выглядят красиво. А лазер было проще рисовать (на спеке, как щас помню). Но если по-честному, то луч лазера вообще-то не видно со стороны, если только он не проходит через газовую среду, да еще и луч лазера должен быть видимым (а видимый свет не годится в качестве оружия - неэффективно, разве только если ослеплять пилота). Реально трассирующими снарядами тоже стрелять - палка о двух концах. Тот, по кому стреляют - предупрежден, и может уклониться, более того, видит, кто по нему стреляет. Нынче основное оружие (воздушного боя) это все-таки ракеты. Системы вооружений будущего это вообще особый разговор. Кстати, можно посмотреть в сторону старой доброй игрушки, Master Of Orion (кстати, огнестрельное оружие там вообще не котируется). Ладно, это я уклонился.
    Добавлено: 18:12 23-06-2006   
TpuCTaH
 63 EGP


Рейтинг канала: 1(4)
Репутация: 8
Сообщения: 128
Откуда: Харьков
Зарегистрирован: 12.06.2006
Извините что влезу. Но в том же оде, судя по инструкции, можно такое провернуть. Корабль - обект, Снаряд обект. А дальше детект колизион(всмысле обрабока столкновений). В оде наскоко помню даже есть тип обекта луч очень удобно наверное использовать лучевое оружие в таком ключе. Как это реализоват не спрашивайте Улыбка не знаю. Инструкцию 1 раз бегло прочитал Улыбка.
_________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.(с)Bjarne Stroustrup
С++&&DirectX
    Добавлено: 12:51 24-06-2006   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Нее. Тут малость по другому, хотя это тоже пойдет, но все же..

Есть 2 корабля. У каждого есть позиция и скорость.

Нужно найти в данный момент точку в мировом пространстве, на которую нужно смотреть, чтоб при выстреле (тут еще и скорость полета пули) пуля попала в корабль.

Т.е. в данный момент - без t (времени).
_________________
MOV topka, C++
    Добавлено: 22:24 04-07-2006   
Aerton
 70 EGP


Рейтинг канала: 1(8)
Репутация: 4
Сообщения: 67
Откуда: Новосибирск
Зарегистрирован: 20.08.2004
Vladimir Kladov правильно сказал, решаешь это уровнение, получаешь t. Подставляешь его, получаешь координаты.
    Добавлено: 10:52 05-07-2006   
Rattlemouse
 85 EGP


Репутация: 2
Сообщения: 74
Откуда: Москва
Зарегистрирован: 03.11.2003
Совет: в сети есть билеты и ответы по экзамену военной кафедры ПВО.
Там есть вопрос про методы наведения ракет на цель и методы слежения.
Оттуда можно достать все формулы.
И с постоянным пересчтом точки встречи и упреждающие скорость и просто угловое упреждение.
_________________
мы все умрём...
и нажмём на Load ;)
    Добавлено: 11:46 06-07-2006   
Vladimir Kladov
 218 EGP


Репутация: 84
Сообщения: 80
Откуда: Novosibirsk, Russia
Зарегистрирован: 11.04.2006
Смотреть? У вас, что пушка намертво приварена к кораблю. т.е. опять делаете как все. А что, целиться игрок тоже будет на глазок? Очередной тир (так сказать). Ну да, так интереснее, иначе играть никто не будет... я эти доводы уже слышал. Даже в конце прошлого века в воздушном бою использовалось самонаведение, и не только для ракет, но и для пушек. А сейчас вообще разрабатывают - не поверите - самонаводящиеся ПУЛИ для стрельбы ручным оружием.
    Добавлено: 15:57 06-07-2006   
TpuCTaH
 63 EGP


Рейтинг канала: 1(4)
Репутация: 8
Сообщения: 128
Откуда: Харьков
Зарегистрирован: 12.06.2006
Ну если пушка уж очень большая ~50% массы корабля? деваться некуда Улыбка. Всеравно основное оружие - ракеты или лучевое будет скорее всего.
_________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.(с)Bjarne Stroustrup
С++&&DirectX
    Добавлено: 17:05 06-07-2006   
Pavlon
 80 EGP


Репутация: 15
Сообщения: 107
Откуда: Киев
Зарегистрирован: 18.06.2006
Ну так всё правильно. Если пушка небольшая, да ещё прикупил сервоприводов, да ещё боевой комп по карману, то всё будет наводится автоматически(если хочешь, конечно), при этом алгоритм наведения уже описан выше. Но ведь можно придумать и спец бомбы выводящие всю "тонкую" электронику из строя! Тогда только в ручную... ну а вообще надо покрепче подумать над этими бомбами..

А вот у меня возник вопрос (не по теме, правда, но что-то родственное есть). Как с автопилотом быть? Если физика настоящая, то это довольно нехилая задача... Или я ошибаюсь?
    Добавлено: 17:34 10-07-2006   
Снуч
 941 EGP


Киборг
Рейтинг канала: 1(9)
Репутация: 232
Сообщения: 2696
Откуда: Ракслатенон
Зарегистрирован: 09.08.2005
Jurec :
Нужно найти в данный момент точку в мировом пространстве, на которую нужно смотреть, чтоб при выстреле (тут еще и скорость полета пули) пуля попала в корабль.

это что же, подсказка близоруким стрелкам чтоле делается? а как же мозг натренированный на виртуальных игрищах?
это всеравно что играть в шахматы с компутером и спрашивать про лучший ход в данный момент. не понимаю. Совсем запутался...

но если надо, то система уравнений уже написана выше. Подмигиваю
есть другой вариант, вероятностный конус. берётся направление движения в данный момент и рисуется конус с вершиной в центре масс корабля противника (ведь относительно него и будет поворот или изменение направления движения), телесный угол конуса определяется относительной величиной включающей в себя отношение скорости проивника к собственной скорости (я бы рекомендовал W = 2*пи*[1-1/(1+|V1/V2|)] функция с минимумом в точке когда выражение V1/V2 = 0, что соответствует либо нулевой V1 - абсолютная скорость объекта, либо бесконечной V2 - собственная абсолютная скорость; кроме того на бесконечностях стремится к значению 1), можно ещё ужать конус до некой боле компактной фигуры, но для этого надо знать характерные направления для маневра противника, что несомнено определяется расположением основных и вспомогательных двигателей. вот. в общих чертах. Подозрение.
    Добавлено: 18:20 10-07-2006   
Aerton
 70 EGP


Рейтинг канала: 1(8)
Репутация: 4
Сообщения: 67
Откуда: Новосибирск
Зарегистрирован: 20.08.2004
Цитата:
это что же, подсказка близоруким стрелкам чтоле делается? а как же мозг натренированный на виртуальных игрищах?

Компьютеру-то тоже надо в игрока стрелять Улыбка
    Добавлено: 11:58 11-07-2006   
Снуч
 941 EGP


Киборг
Рейтинг канала: 1(9)
Репутация: 232
Сообщения: 2696
Откуда: Ракслатенон
Зарегистрирован: 09.08.2005
Aerton :
Цитата:
это что же, подсказка близоруким стрелкам чтоле делается? а как же мозг натренированный на виртуальных игрищах?

Компьютеру-то тоже надо в игрока стрелять Улыбка
вот ещё. компутерам разрил бы идти только на таран, тем более что у них это переодически получается , хоть и невольно.
    Добавлено: 09:00 12-07-2006   
TpuCTaH
 63 EGP


Рейтинг канала: 1(4)
Репутация: 8
Сообщения: 128
Откуда: Харьков
Зарегистрирован: 12.06.2006
Jurec :
himem :
кватернион движения


кватернион описывает поворот, а не движение..

короче ладно. Ой, не могу!.. Гы-гы


Он описывает точное положение в пространстве обекта (где находиться и куда повернут)
_________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.(с)Bjarne Stroustrup
С++&&DirectX
    Добавлено: 11:39 12-07-2006   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Vladimir Kladov :
Смотреть? У вас, что пушка намертво приварена к кораблю. т.е. опять делаете как все...


Эээ.. это всмысле отсутствие турелей? Так почему же. Будет и то и то. Просто "Компьютеру-то тоже надо в игрока стрелять" Улыбка
_________________
MOV topka, C++
    Добавлено: 19:29 12-07-2006   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
тааак..

Бейте меня как хотите, говорите что хотитие, но я не могу решить уравнение, в котором ДВА НЕИЗВЕСТНЫХ члена!!!

Vladimir Kladov :
Xk + t * Xvk = Xp + t * Xvp

t - неизвестно
Xvp - тоже

что находить и куда подставлять в этом случае я просто не знаю Совсем запутался...

З.Ы. Если не сложно - напишите полную формулу, плизз.. Рыдания.
_________________
MOV topka, C++
    Добавлено: 20:09 30-07-2006   
Vladimir Kladov
 218 EGP


Репутация: 84
Сообщения: 80
Откуда: Novosibirsk, Russia
Зарегистрирован: 11.04.2006
Ну почему же t -то неизвестно? Дистанция до объекта есть, скорость полета пули есть, время узнать - тьфу, а не задача. Единственное, что тут как бы не так, это то, что дистанция - известна на сей момент, а надо на тот момент, когда пуля долетит, но тут как раз все равно надо вводить допуск. Типа дистанция меняется от d1 до d2, где d1=d-Dd, d2=d+Dd, и отсуда как бы промежуток решений появляется от t1 до t2. Кораблег же и повернуть может, и ускориться и замедлиться, про конус вероятного движения уже говорили тут...
    Добавлено: 20:35 30-07-2006   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
тьфу, блин, а меня
Aerton :
решаешь это уровнение, получаешь t

сбило просто

ссори
_________________
MOV topka, C++
    Добавлено: 20:44 30-07-2006   
Aerton
 70 EGP


Рейтинг канала: 1(8)
Репутация: 4
Сообщения: 67
Откуда: Новосибирск
Зарегистрирован: 20.08.2004
Я уже не помню, как я тогда считал. но t на момент попадания высчитывается без проблем.

Как было написано выше:
Xk + t * Xvk = Xp + t * Xvp
Yk + t * Yvk = Yp + t * Yvp
Zk + t * Zvk = Zp + t * Zvp

3 уравнения, 4 неизвестных.
Но (Xvp Yvp Zvp) в этом уравнение - это только направление полёта пули, а её скорость нам известна по параметрам оружия.

(Xvp^2 + Yvp^2 + Zvp^2) ^ 0.5 = Vp

Решив эту систему можно получить и направление стрельбы и время полёта.
    Добавлено: 10:47 31-07-2006   
Канал Игры Мечты: «Расчет точки упреждения»
На страницу: 1, 2  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Имею я право первый раз за два года создать тему с фигней??? (SunnyGale)

  » Расчет точки упреждения | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18