У тебя point пердаётся как локальные координаты (в центре окружности) или глобальные?
И если это точка в диапазоне х (0; 1) у (0; 1), то она не полностью входит в красный круг. А зона, где эта точка будет находиться это больше будет похоже на квадрат, чем на круг.
И ещё как располагается эта зона конкретнее, если это двумерный вектор, а нужно найти трёхмерный. Типо в какой плоскости эта зона должна находиться? Например перпендикулярно оригинальному вектору.
Wataru, Поменяем условие, известна точка origin (крестик) с которой направлен вектор, а target точка в центре предпологаемой окружности, d будет перпендикулярна окружности.
Pragma Games, Хорошо, есть у вас направление на d. У вас есть координаты target? Если target - в центре окружности, то значит d указывает строго на нее? Ведь перпендикулярная окружности прямая проходит через центр.
1. Умножим наш point на r.
2. Повернём (rx, ry, 1) так, чтобы (0,0,1) → d. Ищите эту матрицу где-то в движке: вы имитируете разброс оружия — так что это будет матрица поворотов камеры. Если прицел не в центре экрана (бывает для всяких там гранатомётов) — применяем ту же самую поправку. Если видовая матрица и матрица наводки развязаны (бывает в сетевой игре) — то брать матрицу наводки, понятно.
3. Снова нормализуем.