У меня есть самолет прямоугольной формы и камера, установленная перпендикулярно ему.
Вид рендерера также в квадрате.
Камера могла перемещаться только вдоль оси Z от плоскости (0 ... бесконечность). Я ищу формулу для вычисления FOV по обновленному Z, поэтому плоскость будет того же размера, что и вид рендерера.
И наоборот, чтобы пересчитать положение камеры Z для заданного поля зрения, чтобы плоскость квадрата соответствовала квадрату вида рендерера.
Попробовал поиграть с формулой
var FOV = 2 * Math.atan( planeWidth / ( 2 * camera.position.z ) );
и
var FOV = 2 * Math.atan((aspect) / (2 * camera.position.z)) * (180 / Math.PI); //aspect is 1.0
Безуспешно. Есть идеи?