Я працюю над деяким AI руху, де немає перешкод і рух обмежений площиною XY. Я обчислюю два вектори, v , напрямок повернення судна 1 і ш , вектор, що вказує з положення корабля 1 на корабель 2.
Потім я обчислюю кут між цими двома векторами за формулою
arccos((v · w) / (|v| · |w|))
Проблема, яку я маю, полягає в тому, що arccos
повертає значення лише від 0 ° до 180 °. Це унеможливлює визначення того, чи повинен я повернути ліворуч або праворуч на інший корабель.
Чи є кращий спосіб зробити це?
Mathf.DeltaAngle()
.