Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
 Аватар для tonline_kms65
-16 / 0 / 0
Регистрация: 17.09.2016
Сообщений: 232

Зависимость угла поворота объекта от его скорости

09.04.2020, 07:27. Показов 9944. Ответов 195
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все здравствуйте.
Мне нужна помощь в таком вопросе. У меня есть самонаводящаяся ракета, она летит -ищет противника, когда находит - меняет направление в строну найденного противника.
Вот и вопрос - меняет направление она резко, а я хочу понять принцип, как можно менять направление полета плавно.
Сам полет происходит по схеме:
в таймере толкаю ракету в первоначальном направлении вектора(прицел), с тиком 0.1 сек.
в полете (в цикле) идет поиск ближайших противников(находящихся в пределах прямой видимости).
при обнаружении противника задаю новый вектор до найденной цели, и соответственно ракета движется уже по этому вектору.
Я понимаю так, каждый тик таймера ракета перемещается на то расстояние, что составляет длинна этого вектора. Вектор нормализую, что бы иметь возможность управлять событиями(типа столкновений и т.д.)и нормализованному задаю скорость. Полет происходит с этой скоростью.
Может быть при обнаружении противника нужно, для снижения скорости, получить разность векторов направлений(старого и нового), этакую дельту, и в зависимости от этого менять скорость, можно эти данные, примерно, получить экспериментальным путем, забить их в массив и потом оттуда получать - это самый быстродействующий способ будет по моему.
Мне бы сам принцип понять.

Много перегуглил - так ничего и не понял, только запутался еще больше.
Может быть есть такие, кто все это прошел, и сможет "на пальцах" объяснить принцип работы кода.
Просьба у меня такая, не нужны формулы(их еще нужно в код перевести, а что бы перевести, нужно их понять)я их уже насмотрелся, нужен сам принцип.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2020, 07:27
Ответы с готовыми решениями:

Найти зависимость угловой скорости от угла поворота
Диск начинает вращаться вокруг закрепленной оси с угловым ускорением, изменяющимся по закону ε=ε0cosϕ, где ε0 -...

Найти зависимость от времени угла α между векторами скорости и ускорения , его величину в момент времени t
Найти зависимость от времени угла α между векторами скорости и ускорения , его величину в момент времени t 1 , если известен закон...

Взаимозависимость угла поворота и угловой скорости
Здравствуйте, помогите пожалуйста разобраться. Взаимозависимости уголь \varphi поворота с угловой скорости \omega можно написать так: ...

195
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 13:59
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Excalibur921 Посмотреть сообщение
или большая шероховатость ее траектории тогда ракету при k=1 должно сильно мотать в стороны.
Чтоб ее мотать начало нужно интеллектуальное маневрирование и большая дальность. Т.е. дальность пуска к примеру километров 50. Ходим влево в право с амплитудой километров 5 постепенно сближаясь с носителем пустившим ракету. Суть маневра - затянуть пуск своей ракеты чтобы сблизится на дальность с которой раскачать ее уже не возможно. Работает только для полуактивного наведения когда пустивший ракету носитель должен подсвечивать цель своим радаром - т.е. вынужден продолжать сближение.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 14:29
Я думал найдете ошибку формулы пост 59.
Пашет только с книги пост 60.

А почему не делают линейной экстраполяции места встречи с учетом линейного роста или спада скорости цели по двум фреймам?

Или сложней по 3 фреймам и кривой?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 14:39
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Или сложней по 3 фреймам и кривой?
Как нам это поможет получить угол поворота?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 14:50
Это позволит экстраполировать координаты цели точней т.к. практически траектория Не прямая и скорость на траектории цели не константа. Вот только дрожание при k=1 может быть еще больше.
Может это скорей как алгоритм наведения когда цель близко.
Название: ScreenShot01015.jpg
Просмотров: 19

Размер: 4.3 Кб
Линейная экстраполяция дает точку D, но настоящая то E…
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 15:01
Даже линейная экстраполяция траектории без учета скорости на траектории может давать большие ошибки. Цель разгоняется, но читаем то два фрейма С В и это не может быть известно и думаем что цель D , а прочитали бы 3 фрейма A B C стало видно что цель E.
Странно что это не учитывают.
Название: ScreenShot01016.jpg
Просмотров: 19

Размер: 4.5 Кб
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 16:37
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Вот только дрожание при k=1 может быть еще больше.
Если дрожит нужно или k уменьшать или добавлять интегральное звено или делать и то и другое.

Добавлено через 1 час 21 минуту
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Цель разгоняется, но читаем то два фрейма С В и это не может быть известно и думаем что цель D , а прочитали бы 3 фрейма A B C стало видно что цель E.
Странно что это не учитывают.
Мы идем в точку встречи с нашей максимальной скоростью. Как бы там цель не разгонялась если наша максимальная скорость выше мы ее все равно догоним - от этого меняется только точка встречи и больше ничего. А если нет то ничего сделать не сможем по определению.

Добавлено через 6 минут
При этом допустим мы учитываем ускорение цели. Цель замечает пуск подставляет нам бок и дает кратковременно форсаж. Ракета в результате выворачивается в сторону ускорения по максимуму. Цель нижней полупетлей уходит в противоположную сторону с отстрелом ловушек. Пока ракета раздуплится цель уже на всех парах на предельно малых где датчику ее засекти сложно идет к носителю.
Т.е. считаем что цель противодействует. На это надо реагировать но спешка в реакции важна только при ловле блох. Экстртаполяция - это предположение, соответственно будем вестись на все ложные выпады цели. А так оно реагирует только на то что происходит по факту.

Добавлено через 6 минут
Кстати именно по этому практически все эффективные противоракетные маневры направлены не на уклонение от ракеты а на срыв захвата.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 16:46
Всеравно по 3 фреймам точней удар на близкой дистанции.
Это просто как вариант улучшить точность попадания в игре. Можно экстраполировать всего пару фреймов. А от наведения по линейной экстраполяции не убежит так? Есть вообще формулы траекторий типичных противоракетных маневров? Вот для этого типа наведения с поста 60? Критерий точности минимум расстояния до цели или некоторый порог расстояния, без заумностей. Я могу сделать любую кривую, но я не шарю в маневрах, может есть что-то известное из книжек? Некий хитрый краказябр в 3д.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 17:00
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Критерий точности минимум расстояния до цели или некоторый порог расстояния, без заумностей.
Если ракета ПЗРК влетела в сопло цели - это не какая то сверх точности алгоритма. Это отказ дистанционного взрывателя.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 17:06
Как провести интерполяционную кривую через произвольные 3 точки в 3д?
Для интерполяции и немного экстраполяции скорости по идее можно взять полином Лагранжа\Ньютона. А вот с интерполяционной траектории вопрос…

Вам известны такие кривые? На википедии есть парабола по 3 точкам но ее нельзя повернуть на угол в 3д…ну я то могу сделать но уравнение усложнится. Может есть что- то готовое? Кривые безье 2 степени проходят по 2 точкам а средняя мимо.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 17:12
Excalibur921, Ну ряд Тейлота к примеру. Сколько надо производных столько и замеряете. Только больше двух все равно бессмысленно. 1я - скорость, 2я - ускорение, 3я - скорость перемещения РУД и РУС пилотом цели - т.е. очень кратковременное действие. Дальше уже гладких производных не будет в принципе - будет то что пилоту цели взбредет в голову. Ну а вообще по построительный методу хотя бы как то применим только тогда когда траекторию цели можно считать прямолинейной а скорость постоянной.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 17:20
А как тогда попадают на сверхзвуковых скоростях где резкие маневры невозможны физически но и аппарат идет всегда по плавной но дуге где малый промах это будет сотня метров?
Тоже линейно интерполируют траектории цели?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 17:36
Excalibur921, Туда где летают на таких скоростях пушка не достанет. А ракета она как бы корректируемый боеприпас. Точность достигается исключительно постоянной коррекцией расчета. И наибольшую роль в ней играет точность замера угла визирования.

Добавлено через 5 минут
Именно поэтому пропорциональная навигация и рулит - замер производится с ракеты а соответственно на терминальном участке где она особенно важна она как раз и возрастает. В отличии от прямого радиокомандного наведения где замер осуществляется с пусковой.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 17:41
Терминальный участок пост 64 пропорциональная навигация наводит в точку D, но аппарат в E. Промах 100 метров =).
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 17:50
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Терминальный участок пост 64 пропорциональная навигация наводит в точку D, но аппарат в E. Промах 100 метров =).
Либо что то не так с алгоритмом/ настройками регулятора, либо маневренность ракеты ниже необходимой. а так в принципе куда она целится сейчас при маневре цели не важно - она повторяет маневр с упреждением - те.е. подрезает цель на повороте. Именно поэтому маневренность должна превосходить маневренность цели - чтобы подрезать нужен меньший радиус виража.

Добавлено через 6 минут
Опять же - с каким шагом по времени у вас идет симуляция? В реальности оно вообще работает непрерывно а не дискретно. Так что чем больше FPS симуляции тем точнее будет.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 18:11
Какая симуляция? 0_0
Я предложил алгоритм простого наведения в начале темы по плавной кривой а это оказался “метод прямого наведения”.
Сам нашел единственно работающую формулу упреждения и улучшил ее коэффициентом k. Ваша формула не работает, уже 3 раза показал с картинками =).
Также непонятный бред в формулах по ссылке
https://en.wikipedia.org/wiki/... navigation
вы сказали что там заумно и много лишнего.

Это я предлагаю как чисто идею алгоритма улучшить наведение для игры по 3 фреймам траектории.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 18:14
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Промах 100 метров =).
Друган как то рассказывал. Сдавал он зачет по стрельбе из танка. А там как раз БТР-ы списали. Ну и каждому свежую мишень подтягивали. Ну ложит первый выстрел метрах в 10 от БТР. Офицер ему - ну 5 свободен. тот типа так не попал же. Ну типа поехали посмотрим как не попал. Поехали. БТР как решето с дырками размером с кулак.

Эт я к чему - если это ракета ЗРК дальнего действия т.е. что то типа С-200 С-300 то Б-52 в клочья. Т.е. размах крыльев Б-52 - 56,4 метра длина - 48,5 метра. При этом ракета имеет дистанционный взрыватель чтобы подорвать БЧ в сотне-другой метров от цели. Ей не в какую то точку попасть надо а нанести цели обширные повреждения. Именно для этого БЧ осколочно-фугасная и осколкам которые разлетаются по конусу нужна достаточная дистанция чтобы площадь поражения была достаточной для уничтожения цели.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 18:19
Но и алгоритм нужен не для С-300, а для игры с дискретными фреймами.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 18:52
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Ваша формула не работает, уже 3 раза показал с картинками =).
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Какая симуляция? 0_0
Судя по этому вопросу вы просто не поняли как это работает. Алгоритм работает не однократно при старте, а все время полета ракеты. Т.е.определили угол поворота на текущий фрейм. повернули. переместили цель и ракету на вектор их скорости помноженный на время фрейма. И в следующем фрейме повторили опять. И так до встречи ракеты с целью. Тогда ракета за несколько последовательных фреймов выходит на курс перехвата, а при маневре цели корректирует этот курс. Причем так работает как прямое наведение так и пропорциональное, с той лишь разницей что прямое наведение вносит коррекциию при движении цели (ракета идет прямо на цель), а пропорциональное при изменении векотора скорости цели (ракета идет в точку упреждения).
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
12.04.2020, 19:09
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Алгоритм работает не однократно при старте, а все время полета ракеты.
А…так чего не сказали что это специальная рекурсивная формула? Вот оно что. Я тот проверил все другие на одном кадре для наглядности.

А куда она наводит если скорость ракеты меньше скорости цели? Формула работает для таких случаев? А если встречный курс но ракета медленней цели? По идее так лучший курс параллельный цели.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2020, 19:15
Цитата Сообщение от Excalibur921 Посмотреть сообщение
А куда она наводит если скорость ракеты меньше скорости цели?
Ну естественно что разве что на курсах близких к встречному когда ракете до точки встречи нужно пройти меньшую дистанцию чем цели. А догнать того у кого больше скорость по определению невозможно.

Добавлено через 2 минуты
Цитата Сообщение от Excalibur921 Посмотреть сообщение
А…так чего не сказали что это специальная рекурсивная формула?
Дык сказано же было в самом начале - последовательно вычисляем угол визирования и из него угол поворота. Ну и как бе словосочетания "градиентный спуск" и "итеративный поиск в процессе коррекции траектории" тоже об этом прямо говорят.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.04.2020, 19:15

Зависимость проекции вращательного момоента сил, действующей на тело, от угла поворота
Всем добрый вечер, ну или день! столкнулся с такой задачей, вроде бы как решил но сомневаюсь. На рисунке представлен график зависимости...

Как рассчитать поворот угла, зная координаты трех точек до поворота и после поворота угла
Как рассчитать поворот угла (в градусах), зная только координаты трех точек до поворота и после поворота данного угла? Заранее спасибо.

Найти зависимость скорости от угла
1.100 1) Слова "Здравствуйте", "Пожалуйста" и "Спасибо" вы уже проходили? Правило 3.1. Уважительно относитесь к другим участникам...

Изменение угла поворота объекта в 2D проекте Unity3D
Есть объект расположенный под углом (0, 0, -20), хочу сделать так, чтобы при нажатии кнопки "Вверх", объект стал параллелен...

Найти зависимость от времени угла α между векторами скорости и ускорения
Найти зависимость от времени угла α между векторами скорости и ускорения, его величину в момент времени t1, если известен закон изменения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru