Функция, чтобы получить X, Y положение объекта, вращающегося вокруг точки, учитывая расстояние и угол в радианах? - PullRequest
1 голос
/ 12 июня 2010

Я пытаюсь закодировать функцию для камеры, которая вращается вокруг точки.Предположим, 3D-координатная плоскость, где Z вверх.Игнорировать Z.

Допустим, позиция камеры начинается с (0, 0, z).Объект для орбиты находится, скажем, (50, 50, z).Таким образом, у нас есть расстояние ~ 70 единиц.Вызов функции с {(50, 50, z), 70, x}, где x - это положение на орбите, в радианах, должно возвращаться туда, где должно быть положение камеры.

Я полагаю, что это включает cos и tan но мой триггер не так уж и хорош ...

point3d getCameraPosition(point3d objectPosition, float distance, float rotationRadians)
{
    // ???
}

1 Ответ

3 голосов
/ 12 июня 2010
return position + Point(distance*cos(angle), distance*sin(angle))
...