У меня трудное время, применяя векторные знания к реальной ситуации: я работаю над реализацией алгоритма обнаружения почти столкновения для кораблей (не предикторов) на основе бумаги this. У меня есть данные Местонахождение (x, y), курс (угол с севера) и скорость для каждого корабля (скажем, только корабль A и B).Расчет векторов на основе скорости и углов
Три компонента, в которых я нуждаюсь: относительная скорость между кораблями, единичный вектор, параллельный курсу судна, единичный вектор, перпендикулярный относительной скорости (общие формулы можно увидеть в главе 4). Первая формула даются в работе, в то время как следующие 2 я получил от книги по математике:
1) relative velocity V(BA) = C(B) - C(A) (all vectors; within brackets -> subscript)
Я предполагаю, что C означает курс (который является углом). По моему мнению, относительная скорость измеряется на расстоянии во времени, а вектор имеет величину (скорость?) И ориентацию (курс?).
2) unit vector = vector/magnitude
3) perpendicular vector = any vector <=> dot product = 0
Поэтому мой вопрос: как я могу использовать данные, у меня есть (то есть скорость, курс, местоположение) для расчета этих уравнений?
Что касается векторов, единственное, что приходит на ум для вычисления вектора, - это использовать две точки (так что 2 x, y пары), которые в этом случае кажутся нечетными.
Не совсем проблема Python, так как это чистая математика? – Torxed
Velocity - это вектор, он имеет величину и направление. И нет, это, вероятно, не ангел, а векторное вычитание. – Simon
Кажется, у вас проблемы с преобразованием полярных векторов (величина, угловая ориентация) в декартовую (горизонтальная величина, вертикальная величина). Вы можете [легко переключаться между двумя] (http://mathworld.wolfram.com/PolarCoordinates.html). – berna1111