Ефект Магнуса — чому обертові м'ячі викривляють траєкторію в повітрі
Коли тенісист б'є потужний форхенд із верхнім обертанням, а футболіст закручує штрафний навколо стінки, вони використовують ефект Магнуса: обертання об'єкта у рідині породжує бічну силу, перпендикулярну і до швидкості, і до осі обертання. Цей ефект, описаний Генріхом Магнусом у 1852 році, тепер пояснюється теорією циркуляції, асиметрією примежового шару та — для шорстких м'ячів — явищем коливання за швом. Його кількісний опис відкриває шлях до реалістичної симуляції польоту м'яча для будь-якого спортивного застосування.
1. Фізичний механізм
Обертовий м'яч захоплює навколо себе примежовий шар повітря завдяки в'язкому тертю. З того боку, де обертання додається до швидкості потоку, примежовий шар має більше кінетичної енергії — відрив затримується, слід відхиляється, і за третім законом Ньютона м'яч штовхається до боку з нижчим тиском.
2. Теорема Кутта-Жуковського
Для ідеального (нев'язкого, нестисливого) 2D-потоку навколо обертового циліндра циркуляція Γ (повний обертальний потік) дає підіймальну силу на одиницю розмаху:
3. Сила Магнуса та коефіцієнт підіймальної сили
4. Повні рівняння траєкторії
5. Спадання обертання в польоті
Обертання не є сталим — аеродинамічний момент уповільнює обертання впродовж усього польоту:
6. Аналіз за видами спорту
Теніс
Потужне верхнє обертання (форхенд Рафаеля Надаля ~3 200 об/хв) створює різкий провал після сітки. Слайс зі зворотним обертанням ковзає низько. Сила Магнуса може зрівнятися з вагою при високих швидкостях обертання.
Футбол
Штрафний Роберто Карлоса (1997): бічне обертання ≈ 600 об/хв, 100+ км/год. М'яч спершу зовні стінки, викривився на 3 м убік. Класична теорема Кутта-Жуковського в дії.
Бейсбол
Крученка: верхнє обертання «12–6» провалюється на ~0.5 м більше, ніж швидкий м'яч. Зворотне обертання чотиришовного фастболу зменшує провал. Асиметрія через шви створює пізній рух.
Гольф
Зворотне обертання драйвера 2 000–3 000 об/хв створює значну підіймальну силу. Ямочки роблять примежовий шар турбулентним, зменшуючи опір і посилюючи підіймальну силу на швидкостях м'яча для гольфу.
7. JavaScript-симулятор траєкторії м'яча
// 3D-траєкторія м'яча з ефектом Магнуса + опором за допомогою RK4
function vec3(x, y, z) { return {x, y, z}; }
const V = {
add: (a,b) => vec3(a.x+b.x, a.y+b.y, a.z+b.z),
scale: (a,s) => vec3(a.x*s, a.y*s, a.z*s),
len: (a) => Math.hypot(a.x, a.y, a.z),
norm: (a) => { const l=V.len(a)||1e-12; return V.scale(a,1/l); },
cross: (a,b) => vec3(a.y*b.z-a.z*b.y, a.z*b.x-a.x*b.z, a.x*b.y-a.y*b.x)
};
function ballTrajectory({
v0, // початкова швидкість {x,y,z} [м/с]
omega, // вектор обертання {x,y,z} [рад/с]
mass, // [кг]
radius, // [м]
Cd = 0.47, // коефіцієнт опору
dt = 0.005
}) {
const rho = 1.204; // густина повітря [кг/м³]
const A = Math.PI * radius ** 2;
function CL(speed) {
const sp = radius * V.len(omega) / (speed || 1e-9);
return 0.5 * sp; // лінійна модель
}
function accel(pos, vel) {
const speed = V.len(vel);
const factor = (0.5 * rho * A) / mass;
// Опір
const drag = V.scale(vel, -Cd * factor * speed);
// Магнус: F = rho/2 * A * CL * |v| * (omega_hat x v)
const omHat = V.norm(omega);
const magnus = V.scale(V.cross(omHat, vel), CL(speed) * factor * speed);
// Гравітація (−y — це вниз)
const grav = vec3(0, -9.81, 0);
return V.add(V.add(drag, magnus), grav);
}
let pos = vec3(0,1,0); // старт 1 м над землею
let vel = v0;
const path = [{...pos}];
while (pos.y >= 0) { // крок RK4
const k1v = accel(pos, vel);
const k1p = vel;
const k2v = accel(V.add(pos, V.scale(k1p, dt/2)), V.add(vel, V.scale(k1v, dt/2)));
const k2p = V.add(vel, V.scale(k1v, dt/2));
const k3v = accel(V.add(pos, V.scale(k2p, dt/2)), V.add(vel, V.scale(k2v, dt/2)));
const k3p = V.add(vel, V.scale(k2v, dt/2));
const k4v = accel(V.add(pos, V.scale(k3p, dt)), V.add(vel, V.scale(k3v, dt)));
const k4p = V.add(vel, V.scale(k3v, dt));
vel = V.add(vel, V.scale(V.add(V.add(V.add(k1v, V.scale(k2v,2)), V.scale(k3v,2)), k4v), dt/6));
pos = V.add(pos, V.scale(V.add(V.add(V.add(k1p, V.scale(k2p,2)), V.scale(k3p,2)), k4p), dt/6));
path.push({...pos});
}
return path;
}
// Футбольний штрафний — бічне обертання
const path = ballTrajectory({
v0: vec3(27, 3, 0), // ~100 км/год уперед, трохи вгору
omega: vec3(0, -62.8, 0), // ~600 об/хв бічного обертання (вісь y)
mass: 0.43, radius: 0.11
});
const land = path[path.length-1];
console.log(`Range ${land.x.toFixed(1)} m, lateral deviation ${land.z.toFixed(2)} m`);
8. Ротори Флеттнера — судно Магнуса
Антон Флеттнер у 1924 році побудував судно, що рухалося завдяки високим обертовим циліндрам замість вітрил. Сила Магнуса від вітру, що обтікав обертові циліндри, забезпечувала рушійну силу, з відношенням тяги до опору, кращим за звичайні вітрила за певних кутів вітру.
- Розміри ротора: сучасні ротори Флеттнера мають 2–5 м у діаметрі, 10–30 м заввишки, обертаючись на 100–300 об/хв.
- Тяга: F = C_L × (ρ/2) × U_вітру² × (D × H), де C_L може сягати 10–15 при відношеннях обертання Sp ≈ 3–5.
- Ефективність: ротор 30 м при вітрі 10 м/с дає ~80 кН тяги — еквівалент кількох сотень кВт механічної рушійної сили.
- Сучасне відродження: системи Norsepower Ro-Tor, встановлені на вантажних суднах (Bore Wind, Viking Grace), демонструють економію палива 5–30% на придатних торгових маршрутах.
- Обмеження: ефективність залежить від напрямку вітру — оптимальна, коли вітер під ~90° до бажаного курсу (галфвінд).