Дифракція та інтерференція — коли світло огинає кути
Дифракція — поширення хвиль навколо перешкод і крізь отвори — це те, де геометрична оптика перестає працювати, а хвильова природа світла стає беззаперечною. Дослід Томаса Юнга з двома щілинами 1801 року зруйнував ньютонівську корпускулярну теорію світла; згодом Огюстен-Жан Френель кількісно описав його через принцип Гюйгенса-Френеля. Сьогодні дифракція задає межу роздільної здатності кожного оптичного приладу, визначає колір компакт-дисків і керує здатністю рентгеноструктурного аналізу виявляти молекулярні структури.
1. Принцип Гюйгенса-Френеля
Кожна точка хвильового фронту діє як вторинне точкове джерело сферичних хвилелетів. Амплітуда в будь-якій точці P є когерентною суперпозицією всіх вторинних хвилелетів попереднього хвильового фронту:
2. Дифракція на одній щілині
3. Інтерференція на двох щілинах (Юнг)
4. Дифракційна ґратка
5. Диск Ейрі та межа роздільної здатності
6. Режими Френеля та Фраунгофера
7. Симулятор дифракції на JavaScript
// Інтенсивність дифракції Фраунгофера для довільного 1D-отвору
// з використанням числового ДПФ (або аналітично для стандартних форм)
function singleSlitIntensity(theta, lambda, a) {
const beta = (Math.PI * a * Math.sin(theta)) / lambda;
if (Math.abs(beta) < 1e-10) return 1;
const sinc = Math.sin(beta) / beta;
return sinc * sinc;
}
function doubleSlitIntensity(theta, lambda, a, d) {
const envelope = singleSlitIntensity(theta, lambda, a);
const delta = (Math.PI * d * Math.sin(theta)) / lambda;
const interference = Math.cos(delta) ** 2;
return envelope * interference;
}
function gratingIntensity(theta, lambda, a, d, N) {
const envelope = singleSlitIntensity(theta, lambda, a);
const delta = (Math.PI * d * Math.sin(theta)) / lambda;
let multi;
if (Math.abs(Math.sin(delta)) < 1e-10) {
multi = N * N;
} else {
const r = Math.sin(N * delta) / Math.sin(delta);
multi = r * r;
}
return envelope * multi / (N * N); // нормалізація
}
// Генерує картину інтенсивності на екрані на відстані L
function diffractionPattern(type, params, screenW = 0.05, L = 1, nPoints = 2000) {
const pts = [];
for (let i = 0; i < nPoints; i++) {
const y = (i / nPoints - 0.5) * screenW;
const theta = Math.atan(y / L);
let I;
if (type === 'single')
I = singleSlitIntensity(theta, params.lambda, params.a);
else if (type === 'double')
I = doubleSlitIntensity(theta, params.lambda, params.a, params.d);
else
I = gratingIntensity(theta, params.lambda, params.a, params.d, params.N);
pts.push({y: y * 1000, I}); // y у мм
}
return pts;
}
// Приклад: ґратка 600 ліній/мм, λ=589нм, N=200 освітлених щілин
const pattern = diffractionPattern('grating', {
lambda: 589e-9,
a: 0.8e-6, // ширина щілини 0,8 мкм
d: 1/600000, // 600 ліній/мм → d у м
N: 200
}, 0.1, 1);
const peak = Math.max(...pattern.map(p => p.I));
console.log(`Пік при I = ${peak.toFixed(3)}`);
8. Застосування
Рентгеноструктурний аналіз
Кристалічні площини (крок d ~0,1–1 нм) діють як дифракційні ґратки для рентгенівських променів (λ~0,1 нм). Закон Брегга nλ = 2d sinθ визначає піки. Обернене перетворення Фур'є інтенсивностей піків → електронна густина → молекулярна структура.
Оптична літографія
Виробництво інтегральних схем друкує елементи за допомогою дифракційно обмеженої оптики. Роздільна здатність за Релеєм = k₁·λ/NA (NA = числова апертура). Крайнє ультрафіолетове (EUV, λ=13,5 нм) дозволяє елементи розміром 3 нм.
Голографія
Інтерференція опорного променя та розсіяного об'єктного променя записує дифракційну ґратку, яка відтворює 3D-хвильовий фронт об'єкта при освітленні. Кодуються і фаза, і амплітуда.
Спектрометри
Блискучі (блейзовані) дифракційні ґратки (з нахиленими гранями борозен) концентрують дифраговане світло в один порядок для максимальної ефективності. Ешелле-ґратки використовують високі порядки дифракції для надвисокої роздільної здатності спектроскопії.