Есть ли способ математически сгенерировать последовательность обычных/стандартных вариантов времени экспозиции? Что-то вроде 1/5000, 1/2500, 1/1500, 1/1000...1/500, 1/250/1/125...1/60...1/30...1/8, 1/4, 1/2, 1, 2, 3, 4...8, 16, 32 (все в секундах).
Обратите внимание, что приведенная выше последовательность — это всего лишь пример для описания того, что я имею в виду. Разрыв между различными параметрами не обязательно должен быть таким же, как указано выше, как и фактические значения.
Кроме того, последовательность может быть комбинацией различных последовательностей, сгенерированных по-разному.
Значения, которые вы указываете, являются номинальными значениями, приблизительными значениями, которые не обязательно существуют на самом деле, исторически заявленными людьми как своего рода хорошие округленные числа. Таким образом, номинальные значения несколько произвольны, но соглашение более 100 лет стандартизировало их, чтобы они были вашим списком. Но камеры на самом деле используют более точные целевые значения, степени двойки.
Скорость затвора обязательно должна быть равна степени 2, каждая полная остановка соответствует двойному интервалу. Таким образом, точные значения, которые на самом деле использует камера, составляют 1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256, 1/512, 1/1024. и т. д. Люди просто называют их округленными приблизительными именами. Но математика и вычисления должны использовать точные значения.
Ваша камера может иметь выдержку 15 или 30 секунд (номинальная), но если вы засечете ее, она будет 16 или 32 секунды (точная). Если бы это было всего 15 или 30 секунд, это НЕ было бы точной 2-кратной остановкой, и план сбивался бы.
Эти фактические точные значения генерируются как 2 в степени числа остановок (0, 1, 2, 3, 4 и т. д.), причем все дробные значения являются отрицательным показателем степени. Fstops — положительный показатель степени квадратного корня из 2.
Третьи остановки представляют собой последовательность номеров остановок 0, 0,3333, 0,6667, 1, 1,3333, 1,6667, 2 и т. д.
for (i = 5; i > -10; i -= 1/3) { // thirds for 32 second to 1/1024 second
value = Math.pow(2, i);
}
Это точно используемые цели, а не приблизительные номинальные числа, как мы их себе представляем.
На моем сайте есть гораздо больше об этом по адресу https://www.scantips.com/lights/fstop2.html (нижняя часть этой страницы посвящена расчетам)
camera2
API которого позволяет контролировать время экспозиции в наносекундах. Реальная точность может и не достигать такого уровня, но она должна быть достаточно близкой, учитывая отсутствие механического затвора в камере телефона. Теперь я спрашиваю, будет ли полезным контроль более точный, чем точки. Я предполагаю, что полустопы были бы полезны только во временах, превышающих секунду.Shutter_Speed = 2 ^ (Стоп_Дельта)
Где Stop_Delta — это целое число, если вы хотите, чтобы останавливались на весь шаг. Ноль соответствует одной секунде. Диапазон примерно -12...+5 для вашего примера.
Каховиус
Мэттман944
Тунис