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

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

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

   Страница 1 из 1
 
Поиск в этой теме:
Канал Orbiter: «Наведение Фау по координатам?»
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Вопрос возник к управленцам: существует ли не-итерационный аналитический алгоритм наведения простого одноступенчатого изделия (я сейчас с автопилотом Фау играюсь) по координатам старта и падения? Вот ведь учил все это когда-то...почти все забыл Расстроен
    Добавлено: 21:48 21-06-2006   
Bloodest
 155 EGP


Рейтинг канала: 3(40)
Репутация: 18
Сообщения: 944
Откуда: Питерские мы
Зарегистрирован: 07.10.2004
Ну без итераций не обойтись. Вопрос где и как их делать.

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

Реализуем этот простенький алгоритм. Главное чтобы он хорошо воспроизводился- контролируем угол атаки на момент завершения завала. Чем меньше разброс - тем выше будет точность.

Сперва методом перебора угла завала достигаем максимальной дальности полета. Дальше методом перебора составляем таблицу - момент отсечки - дальность полета.

Вот и все ни какой математики - голая эмпирика...

Собственно так она и летала...
    Добавлено: 15:50 22-06-2006   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Спасибо! Это, в общем, да, понятно. Но как насчет азимута? Он-то вычислялся заранее, до старта, и не корректировался. А насколько я понимаю, эффект от вращения Земли (который надо учитывать при наведении по азимуту) будет зависеть от времени полета (чем больше дальность, тем больше успеет проползти цель вместе с Землей). А время полета, получается, можно прикинуть лишь приблизительно, для идеальной траектории... Так? Или я что-то путаю?

p.s. Азимут мне тоже нужно посчитать заранее, в редакторе сценариев, то есть, до реального полета. Как оно, впрочем, и на самом деле было. И пока что именно с вращением Земли самые проблемы...
    Добавлено: 19:17 22-06-2006   
Bloodest
 155 EGP


Рейтинг канала: 3(40)
Репутация: 18
Сообщения: 944
Откуда: Питерские мы
Зарегистрирован: 07.10.2004
Дык сперва реализуй автомат управления двигателями.
Затем стартуй точно на север и посмотри какой будет снос.
Впринципе его тоже можно затабулировать.
Дело в том что вращение Земли достаточно сложная штука во влиянии на траекторию - атмосфера тоже вращается - верхние слои имеют большуюю скорость - и они "сдувают" ракету с курса (обычно это идет на высотах от 10 до 30 км)- возникает ошибка всреднем в полградуса.

Ну дык азимут дело устроения антуража - как оформишь кокпит - можно никак - скажем жмешь ctrl T(arget) - появляется окно для ввода параметров цели (до кучи, через разделители)- хотя выгоднее сделать нечто полигона - цели объекты - косм корабли пустышки с мешами в виде зданий - вводится просто номер цели. Затем ctrl L(aunch) - пуск. Обратная информация через отладочную строку.
Сперва можно просто делать разворот ракеты на азимут по ctrl T - читаем статус ракеты - меняем азимут - записываем статус.

Алгоритмы работы с сферическими координатами (не мои - из одного из аддонов MFD - вроде от LunarLanding)
Код:


#define RADIUS_PLANET 6371e3

double CalcSphericalDistance(VECTOR3 Pos1, VECTOR3 Pos2)
{
   double DeltaLat = Pos2.y - Pos1.y;
   double DeltaLong = Pos2.x - Pos1.x;

   double A = pow(sin(DeltaLat/2.), 2.) + cos(Pos1.y) * cos (Pos2.y) * pow(sin(DeltaLong/2.), 2.);
   double C = 2. * atan2(sqrt(A), sqrt(1. - A));
   return (RADIUS_PLANET * C);
}

double CalcSphericalBearing(VECTOR3 Pos1, VECTOR3 Pos2)
{

#define LAT1 Pos1.y
#define LAT2 Pos2.y
#define LONG1 Pos1.x
#define LONG2 Pos2.x

   // Since we can't do mod with doubles...
   double Result = atan2(sin(LONG1 - LONG2) * cos(LAT2),
               cos(LAT1) * sin(LAT2) - sin(LAT1) * cos(LAT2) * cos(LONG1 - LONG2));

   if (Result > (2*PI)) {
      Result -= 2*PI;
   }

   return Result;

#undef LAT1
#undef LAT2
#undef LONG1
#undef LONG2

}



void CalcOffsetLatLong(VECTOR3 Pos, VECTOR3& Result, double Distance, double Angle)
{
#define LAT x
#define LONG y

   double sinDeltaLong, cosDeltaLong, DeltaLong;

   Result.LAT = asin(sin(Pos.LAT) * cos(Distance) + cos(Pos.LAT) * sin(Distance) * cos(Angle));
   sinDeltaLong = (sin(Angle) * sin(Distance)) / cos(Result.LAT);
   cosDeltaLong = (cos(Distance) - sin(Pos.LAT) * sin(Result.LAT)) /
               (cos(Pos.LAT) * cos(Result.LAT));
   
   DeltaLong = atan2(sinDeltaLong, cosDeltaLong);
   Result.LONG = Pos.LONG - DeltaLong + PI;

   // Mod
   if (Result.LONG > (2*PI)) {
      Result.LONG -= 2*PI;
   }

   Result.LONG -=PI;
#undef LAT x
#undef LONG y
}

#undef RADIUS_PLANET



CalcSphericalDistance - расстояние от 1 до 2. вектора - то что выдает GetEqPos из SDK орбитера
CalcSphericalBearing - азимут
CalcOffsetLatLong - обратная к двум предыдущим...
    Добавлено: 08:24 23-06-2006   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Спасибо!

Затабулировать азимутальные поравки - мысль интересная, мне в голову не приходила Улыбка А ведь немцы неспроста таблицами стрельбы пользовались. Ну, правда, у нас мощностей вычислительных поболе, можно и самим считать Улыбка . Другое дело, что слишком глубоко в дебри лезть тоже лениво бывает.

Поправки по дальности (на аэродинамику, в основном) я так и закладываю, эмпирические, от тестовых отстрелов. С азимутом вариаций больше (по широтам), но... посмотрим. Думаю, еще функции местного дополнительно горизонта гадят: Я их использую, а не инерциальные (которых в API и нет вовсе).

Сферические формулы - да, совершенно те же самые, что я использую. А кокпит мне пока вообще не нужен. Мой редактор сценариев - не часть Орбитера, а отдельная программа, мостик между Орбитером и Google Earth. Примерно так: в GE ставишь ракеты (штук 10, просто как точки), указываешь цели (тоже как точки), сохраняешь в klm, потом в редакторе импортируешь klm, назначаешь цели ракетам, сохраняешь scn. Так что задача Орбитера довольно ограниченная - просто отстрел сценария, и никакой особой интерактивности там не предусмотрено. Тот же редактор затем служит для анализа результатов отстрела и экспорта в GE (чтобы посмотреть, что куда на самом деле попало Улыбка ).
    Добавлено: 18:51 23-06-2006   
Bloodest
 155 EGP


Рейтинг канала: 3(40)
Репутация: 18
Сообщения: 944
Откуда: Питерские мы
Зарегистрирован: 07.10.2004
Google Earth - интересная штуковина, но как я понял она данные на диск (долговременно) не кеширует - мопедчикам будет туговато...
    Добавлено: 07:53 26-06-2006   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Ну, тут-то как раз (по пунктам) все просто:

- на модемы и Орбитер не рассчитан с его размерами релизов и патчей;
- 95% целевой аудитории (включая меня) живут там, где даже про самые быстрые модемы забыли уже давно;
- остальные 5% аудитории движутся в том же направлении;
- GE имеет локальный кэш, что возможно делает ее в принципе работоспособной на модеме, хотя мне уже и не представить, как это будет выглядеть (разве вот когда летом в Россию заеду...)
- klm-файлы - это простой xml, потенциально совместимый с абсолютно любой картографической системой, поддерживающей waypoints. Которая может быть и локальной. Да и в интернете - вроде бы тот же Google Maps (куда более гуманный к ресурсам) то ли уже начал их напрямую поддерживать, то ли вот-вот начнет.

Так что особых проблем с GE я не вижу. Главная проблема - время: сейчас у меня на работу с Орбитером бывает максимум пара часов в неделю (в хорошую неделю). Таким темпом много не наваяешь, поэтому в прототипах все болеее-менее работает, но пока до чего-го представительского дело дойдет - глядишь, и модемы везде повымрут Улыбка
    Добавлено: 22:32 26-06-2006   
IgoryanSS
 760 EGP


Модератор
Рейтинг канала: 1(6)
Репутация: 166
Сообщения: 1308

Зарегистрирован: 28.10.2005
igel :
- на модемы и Орбитер не рассчитан с его размерами релизов и патчей;

Тут я с вами не соглашусь. Размеры Orbiter постоянно уменьшаются и мне, пользователю модема(dual-up),не составляет особого труда его скачать(даже учитывае его обновления). Да, конечно, это каждый раз занимает по несколько часов, но зато я получаю игру. Отсюда вывод: главное не быстрый интернет, а желание Подмигиваю
igel :
- 95% целевой аудитории (включая меня) живут там, где даже про самые быстрые модемы забыли уже давно;
И чтоже это по вашему мнению за целевая аудитория, и какие районы её проживания?
_________________
Чтобы слова не расходились с делом, нужно молчать и ничего не делать
    Добавлено: 23:03 26-06-2006   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
По моим наблюдениям на форумах, Орбитер - это почти чисто европейское развлечение. Америка, пожалуй, на втором месте (оба побережья, что неудивительно - крупные промышленные центры). Канада (где я сижу) тоже есть немножко, и тоже крупные города. Россия постепенно прирастает - но пока, по моему, тоже в основном Москвой и Питером. Соответственно, и целевая аудитория распределяется приерно так же: в главном фокусе - Европа. С ней, кстати, и осторожничать приходится больше всего: крутой народ, основная движушая сила... но - поголовные пацифисты, а проект изрядно милитаристский Улыбка Но зато и сильно исторический, с хорошим образовательным потенциалом, а это для них уже счиается большим плюсом Улыбка Ну и, наконец, я заметил, что в сообществе Google Earth европейцы активны чуть ли не больше американцев (из чего я заключаю, что проблем с модемами у них нет, а интерес, напритив, наличествует). Так интересное попадание может быть Улыбка
    Добавлено: 23:29 26-06-2006   
Bloodest
 155 EGP


Рейтинг канала: 3(40)
Репутация: 18
Сообщения: 944
Откуда: Питерские мы
Зарегистрирован: 07.10.2004
A... Теперь целенаправленность понятна... Одобрям...

ЗЫ Но тем не менее лудше штоб пару сценариев были готовыми - для безлошадных.

ЗЫ ЗЫ А в Росии с адсл еще долго и далеко - и в Питере и Москве тож...
Гыг главное не в охвате а в ширине каналов провайдера - стоимости трафика - а он очень дорогой - по западным меркам просто заоблачные цены. Именно по этому что гугль не кешируется (в отличие от насовского ворлд винд)- стоимость работы с таким тулзом будет очень высока. Тут шкурный интерес работает - скачал - твое - юзай как хош - а в гугле не так - это не твое и когда выключишь - все потеряешь ( в смысле изображений поверхности).
И вообще у гугля, я смотрю, трясун на счет их драгоценных изображений ...
    Добавлено: 12:16 27-06-2006   
Thorton
 87 EGP


Рейтинг канала: 3(36)
Репутация: 12
Сообщения: 696
Откуда: Томск
Зарегистрирован: 15.05.2006
Цитата:
главное не в охвате а в ширине каналов провайдера - стоимости трафика

Стоимость траффика все же важнее ширины канала, например у меня ADSL со скоростью 7 Мбит/с, а толку от этой скорости почти ноль, если учесть помегабайтную тарификацию. Крупные файлы все равно дешевле во много раз выкачать по мопеду.
А попользовавшись GE продется наверное потом почку или глаз продать для оплаты счета за Интернет Улыбка

Давайте уже заканчивать с обсуждением того, у кого какой интернет Подмигиваю
IgoryanSS
    Добавлено: 13:53 27-06-2006   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Да, обсуждение деталей GE несколько не по теме, но все-таки, чтобы не бросать его на "неточной" фазе, поясню, по возможности кратко. GE - кэширует. Размер кэша определяется в опциах программы. Эффект кэша заметен на глаз даже при быстром соединении (понятно же, что человек чаще всего будет "лазать" по своим любимым местам шарика Улыбка ). Гугль вовсе не дрожит за свои фото (вот, даже обидно чуть стало за свой любимый сервис! Хы... ) Только дурак может надеяться хоть как-то ограничить то, что уже скачалось на комп пользователя - а в Гугле отнюсь не дураки сидят... ну и не пытаются Улыбка. Хохмы ради набрал (прямо в гугле Гы-гы ) поиск "google earth cache location" - и пожалуйста, куча информации про то, где именно на жестком диске сидят файлы кэша. Там, понятно, не jpg-файлы, а база данных, которую еще ковырять надо, но я дальше и искать не стал - ясно, что это уже давным-давно расковыряли, только и нужно что поискать в том же гугле да скачать нужный унстрУмент... Ой, а вот это уже не такой уж и офф-топик получается: подобный тул может быть лучше, чем скриншоты - а о чем-то таком был разговор в теме про Байконур!

Ну а теперь обратно к моей теме. Готовых сценариев будет - туева хуча! Я сейчас перелопачиваю горы исторического материала, просто глаза разбегаются! Пеенемюнде, Близна, КапЯр, Уайт Сэндз, операция Backfire... Бовое применение - Лондон, Антверпен, Париж - а по неподтвержденным данным, даже Питер! А случайные залеты в Швецию и Мексику?! А всякие "веселые" сценарии? Например, куда может долететь Фау, стоящая в Смитсониевском музее, если ее втихаря заправить и пустить? А если не сумеет полететь как следует, то где грохнется? Ой, не могу!.. А другие "музейные" ракеты?

Что и говорить, насыщенная у Фау была история, так что сценарии будут. Собственно, визуальный редактор сценариев нужен в первую очередь мне самому - материала так много, что просто возиться с текстовыми конфиг-файлами нереально, утонешь. Так что, наваяв сценарии, отдавать редактор в общем и не обязательно, и Гугль вроде бы и не нужен. Но... главный прицел у всего проекта - "играбельность". А у нее главный принцип - "пользователь все-таки должен получать больше удовольствия от игры, чем разработчик - от ее разработки" Хы... . И я заметил две хороших "плюхи" с редактором. Во-первых, "мелкое хулиганство" в виде возможности поставить батарею Фау прямо в своем дворе и шарахнуть по соседним городам придает такую пикантность и остроту, что ей-богу жалко ее херить. Во-вторых, "зеленые и плоские" равнины Орбитера все-таки недостаточно визуально интересны, недостаточно контрастны в качестве целей. Поэтому для тестовых отстрелов я просто ставлю батарею на Багамах и бью по району Канаверала - просто потому, что он детальнее всего проработан. Стрельба же в исторически правильной, но плоской и размытой Европе эмоционально проигрывает "обстрелу Канаверала"... но только до того момента, как загрузишь результаты в GE! Если район покрыт hi-res-кадрами (а они там большей частью покрыты) - то fun coefficient немедленно возвращается туда, где ему и положено быть! Так что, боюсь, что без GE можно будет обойтись, а вот без потерь при этом - вряд ли...
    Добавлено: 05:34 29-06-2006   
Канал Orbiter: «Наведение Фау по координатам?»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Народ, я от вас просто плавлюсь. (fox68)

  » Наведение Фау по координатам? | страница 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