Serhiy_UA
Jan 31 2012, 11:37
Привет математикам! Нужна ваша помощь.
У меня задача, имитировать видео сигнал от береговой РЛС гражданского назначения. Имитатор должен имитировать две цели (корабли), двигающиеся с произвольными курсами и скоростями, на произвольной дальности. Цели отображаются кругами с заданными диаметрами. В идеале луч радара пересекает окружность цели дважды, в ближней и дальней точке, расстояния к которым, собственно, нужно и найти.
На прилагаемом рисунке 1 отображен круг, с известным диаметром и координатами его центра, а также пересекающие его лучи. Всего за один 3-х секундный оборот антенны радара формируется 4096 лучей, ясно, что не все они пересекаю цель. Нужно найти номера тех лучей, что пересекают окружность, а также расстояния до точек пересечения от начала координат (места радара). Все расчеты выполняются в компьютере, а далее компьютер передает расчетные данные в обрабатывающую ПЛИС. ПЛИС в нужные моменты времени формирует сигнал от цели и далее, через аналоговый усилитель, передает видео сигнал в аппаратуру первичной обработки.
На рисунке 2 дан вид компьютерной программы, где отображены цели и пересекающие их лучи радара. То есть пересечений может быть достаточно много.
Вопрос такой. Как подойти к решению задачи о нахождении расстояний до точек пересечения прямой и окружности? Какие методы точней и рациональней?
MaslovVG
Jan 31 2012, 12:09
Задача сводится к решению простой системы 2 уравнений. Одно второй, другое первой степени. Где то 7-8 класс средней школы.
(x-a )^2+(y-b )^2=R^2 где (a,b ) центр окружности. R радиус.
y=kx+c прямая.
yuri_d
Jan 31 2012, 12:14
Не математик.
Почему бы не решить эту задачу "в лоб"? Она из разряда школьных задач про прямоугольные треугольники, синусы, косинусы...
Дано:
D - дальность цели
R - радиус круга цели
a - азимут цели
b - азимут луча
Решение:
1) опускаем перпендикуляр от цели на луч. Длинна перпендикуляра P = D * sin(a-b ). Если P > R, то пересечений нет.
2) расстояние от рлс до перпендикуляра L = D * cos(a-b ).
3) расстояние от перпендикуляра, до точек пересечения луча с кругом определяем из другого прямоугольного треугольника. H = sqrt(R*R-P*P)
4) искомые точки пересечения - это L+H и L-H
Есть ещё случай, когда D < R. Тут я его не рассматриваю.
Serhiy_UA
Jan 31 2012, 13:12
Спасибо большое, MaslovVG и yuri_d, за Ваши ответы!
Надо будет испытать оба эти метода.
А как по методу от MaslovVG будут выглядеть корни квадратного уравнения при решении системы, если нет пересечений? Мне как раз представлялось, что это и есть решение "в лоб"...
yuri_d, а Ваш метод красивее, вроде меньше вычислений, значит больше точности…
Может, есть еще методы?
P.S. И еще, если несколько поменять задачу, что тоже актуально, и вместо окружности будет направленный по ходу движению цели эллипс, видимо, тогда только через систему уравнений?
MaslovVG
Jan 31 2012, 14:04
Цитата(Serhiy_UA @ Jan 31 2012, 17:12)

Спасибо большое, MaslovVG и yuri_d, за Ваши ответы!
Надо будет испытать оба эти метода.
А как по методу от MaslovVG будут выглядеть корни квадратного уравнения при решении системы, если нет пересечений? Мне как раз представлялось, что это и есть решение "в лоб"...
Дискриминант результирующего квадратного уравнения будет отрицательным, и равным нулю если прямая только касается круга..
Что в школах уже и этому не учат?
AlexeyW
Jan 31 2012, 21:12
Цитата(MaslovVG @ Jan 31 2012, 18:04)

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