Что такое калькулятор фокусного расстояния?
Этот калькулятор определяет фокусное расстояние объектива (в миллиметрах), необходимое для того, чтобы охватить заданное поле зрения (FOV, его ещё называют углом обзора) на конкретной матрице камеры. Это чисто геометрический инструмент, который подходит для любой оптической системы — полнокадровой, APS-C, Micro Four Thirds, промышленных камер машинного зрения или смартфонов. Никаких привязок к конкретной стране или бренду здесь нет.
Как пользоваться калькулятором
Введите нужный размер матрицы в миллиметрах. Для горизонтального угла обзора возьмите ширину матрицы, для вертикального — высоту, для диагонального — диагональ. Главное — не путать их между собой. Затем укажите желаемый угол обзора в градусах и сразу получите фокусное расстояние.
Разбор формулы
Матрица, объектив и сцена образуют два прямоугольных треугольника, сходящихся в точке объектива. Половина размера матрицы — это противолежащий катет, а фокусное расстояние — прилежащий катет для половины угла обзора. Отсюда получаем:
$$f = \frac{\text{Sensor (mm)}}{2 \cdot \tan\left(\dfrac{\text{FOV}}{2} \cdot \dfrac{\pi}{180}\right)}$$
Здесь d — размер матрицы, а FOV — угол обзора. Угол сначала делят пополам и переводят из градусов в радианы, и только потом берут тангенс.
Пример расчёта
Возьмём полнокадровую матрицу шириной 36 мм и желаемый горизонтальный угол обзора 60°. Половина угла обзора — это 30°, а \(\tan(30°) \approx 0{,}5774\). Тогда $$f = \frac{36}{2 \times 0{,}5774} \approx 31{,}18 \text{ мм}$$ — это близко к классическому «нормальному» широкоугольному объективу.
Частые вопросы
Какой размер матрицы выбрать? Подбирайте его под тот угол обзора, который вам важен: ширина — для горизонтального, высота — для вертикального, диагональ — для диагонального угла обзора.
Учитывает ли калькулятор дисторсию объектива? Нет. В основе лежит идеальная прямолинейная (точечная, pinhole) модель. Она точна для обычных объективов, но не для экстремальных «рыбьих глаз».
Можно ли задать угол обзора больше 180°? Нет — на 180° тангенс уходит в бесконечность, поэтому эта прямолинейная формула работает только для значений меньше 180°.