Эта таблица сравнивает прозрачные основные жидкости, с выключенными пузырьками и мутностью. В редактор добавлен отдельный объёмный транспорт в пиве: пузырьки и слабое рассеяние.
Во всех профилях используется одна плоско-выпуклая геометрия: радиус передней поверхности 40 мм, толщина 8 мм, диаметр отверстия 20 мм, сзади плоская поверхность. Оболочка считается оптически пренебрежимой. Жидкость меняет преломление, отражение, поглощение, фокус и аберрации. Числа ниже — результаты этой модели, а не измерения самодельного объектива.
| Материал | nD при 20 °C | f зелёного | f/D | Лучший b зелёного | Пропускание 8 мм, RGB |
|---|---|---|---|---|---|
| Масло, аналог NIST | 1,46945 | 84,84 мм | 4,24 | 78,37 мм | 86,6 / 64,4 / 27,8% |
| Прозрачный бензин, модель | 1,425 | 93,70 мм | 4,68 | 86,95 мм | 99,8 / 99,8 / 99,4% |
| Светлый лагер, модель | 1,340 | 117,14 мм | 5,86 | 109,67 мм | 96,0 / 87,1 / 69,2% |
| Тёмный стаут, 80 EBC | 1,340 | 117,14 мм | 5,86 | 109,67 мм | 66,6 / 25,1 / 2,54% |
Для масла сохранена интерполяция сертифицированных данных NIST SRM 1922. Это минеральное масло как аналог; цвет моторного масла из ролика не измерялся. Поглощение RGB принято равным 0,018 / 0,055 / 0,16 мм⁻¹.
У бензина нет универсального показателя. В работе A Continuous Liquid-Level Sensor for Fuel Tanks Based on Surface Plasmon Resonance авторы измерили значения около 1,43 и 1,42 для двух бензинов. Мы принимаем промежуточное nD = 1,425 при условных 20 °C. Дисперсия задана приближением Коши n(λ) = nD + B(λ⁻² − λD⁻²), B = 0,004 мкм². B и температурный коэффициент −0,0005/°C — явно принятые параметры, не данные этой статьи. Слабое поглощение 0,0002 / 0,0003 / 0,0008 мм⁻¹ также предполагается. Дисперсию конкретного сорта топлива нужно измерять.
Для пива принято nD = 1,340: это представительное значение из справочника образцов производителя рефрактометров KRÜSS, а не сертификат на лагер. Температура 20 °C здесь — условие модели. Вклад спирта и экстракта не позволяет характеризовать все сорта одним числом. Спектральный ход приближён сдвигом измеренной дисперсии воды Daimon и Masumura, 2007; коэффициенты Sellmeier. Абсолютные разности водной дисперсии делятся на принятое 1,00027 для перехода к относительным показателям в воздухе. Это не полная модель смеси спирта, воды и экстракта. Температурный наклон −0,0001/°C принят как приближение водного раствора.
Для плоско-выпуклой линзы в параксиальном приближении f = R/(n−1), b = f − t/n. При полном отверстии сферическая аберрация сдвигает оптимальную плоскость. Поэтому программа находит общий фокус зелёного численно по минимуму геометрического RMS пятна, затем добавляет пользовательскую поправку. При смене жидкости физически подразумевается новая дистанция от линзы до матрицы. Сохраняются геометрия, параметры и поправка фокуса.
Светлый профиль Beer — прозрачный, фильтрованный, дегазированный светлый лагер. Приняты 8 EBC. Согласно лабораторному протоколу анализа пива, EBC = 25 A430 для кюветы 10 мм без разведения. Поэтому α430 = ln(10) EBC / 250 мм⁻¹. Проверка: при 8 EBC через 10 мм проходит 10^(−8/25) ≈ 0,479 света на 430 нм.
Одно измерение EBC не задаёт весь спектр. Здесь принято α(λ) = α430 exp[−(λ−430)/80], λ в нм; наклон 80 нм — допущение. Существование различий спектров и необходимость измерять их непосредственно показывает исследование UV/VIS спектров пива. Настройка Absorption умножает α и даёт исследовать более светлую или тёмную жидкость, сохраняя принятую форму спектра.
Пузырёк — новая граница жидкость/газ с сильным преломлением и отражением. Пена — множество таких границ. Мутность перераспределяет свет по углам; для неё нужны размеры частиц, концентрация и фазовая функция рассеяния. Эти свойства не следуют ни из nD, ни из EBC. Здесь сравнивается прозрачная основная жидкость; в новой объёмной модели свойства пузырьков и рассеяния заданы отдельными явными параметрами. Аналогично радужные цвета бензиновой плёнки зависят от интерференции и толщины плёнки, а не являются обязательным цветом объёмной бензиновой линзы.
Жидкость сама по себе не делает объектив макрообъективом. При этих размерах эффективные фокусы около 85–117 мм; увеличение зависит от расстояния до предмета и плоскости изображения. В тонколинзовом приближении предмет на расстоянии 2f даёт масштаб около 1:1. Для толстой линзы расстояния следует отсчитывать от главных плоскостей, а для реальной самодельной формы потребуется полная трассировка предметных лучей.
Редактор получает готовую плоскую фотографию и считает её угловым изображением далёкой сцены. Поле зрения нормализовано по фокусу каждого материала, чтобы сравнение сохраняло композицию; длинный фокус не превращается автоматически в увеличение кадра. Глубина и исходная дистанция съёмки неизвестны. Макроразмытие, перспективу и потерянный спектр восстановить нельзя.
Сохраняются закон Снеллиуса, Френель, фактическая длина пути в жидкости и экспоненциальное поглощение. Суммирование в линейном свете. Три RGB-полосы — приближение спектра. В прозрачном сравнении не моделируются рассеяние, пузырьки и переотражения; для пива они описаны в отдельном отчёте. Дифракция, глубина, пена, физический шум и тепловая конвекция по-прежнему отсутствуют. Mipmap приближает площадь пикселя по масштабу, без полного якобиана линзы.
Численные результаты JSON, скрипт node research/run-material-experiments.mjs, физические проверки node --test tests/*.test.mjs. Для каждого материала проверены обратимость лучей и соответствие параксиального фокуса независимому ABCD-выражению. При увеличении выборки фокуса с 2048 до 4096 лучей изменение b меньше 0,000001 мм; это сходимость алгоритма, а не точность реального материала. GPU отдельно сравнивается с CPU для всех четырёх профилей, включая поглощение и баланс цвета.
Исходное исследование масляной линзы и остальные источники →
В редакторе каждая жидкость теперь открывается со своим демонстрационным пресетом геометрии, экспозиции и объёмных параметров. Поэтому видимый контраст пресетов включает различия оптической установки. Приведённые здесь численные сравнения материалов используют одинаковую геометрию; для такого сравнения в редакторе задайте одинаковые параметры вручную. Правки запоминаются отдельно до перезагрузки, Reset возвращает только текущий пресет.