Як змусити поршень рухатися неправильно (і чому це чути)

Найпростіший спосіб намалювати працюючий двигун — прив’язати поршень до синуса. Один рядок коду, виглядає переконливо, і майже ніхто не помітить різниці. Я спробував саме так — і зупинився на першій же хвилині, коли ввімкнув сповільнення. Синус бреше, і бреше несиметрично Поршень не гойдається рівномірно. Шатун має скінченну довжину, і через це верхня половина ходу проходиться швидше за нижню. Реальне положення: y = R·cos(θ) + √(L² − R²·sin²(θ)) де R — радіус кривошипа (у OM636 це 50 мм, звідси хід 100 мм), L — довжина шатуна. Відношення L/R тут приблизно 3,5 — доволі «коротке», тому асиметрія помітна на око. Поршень зависає біля верхньої мертвої точки помітно довше, ніж очікуєш. І це не косметика: саме там відбувається впорскування, саме через це форкамера встигає зробити свою справу. Коли я замінив синус на цю формулу, змінилося дещо неочікуване — ритм звуку. Звук як наслідок, а не як файл Спокуса тут теж очевидна: взяти запис мотора, зациклити, змінювати playbackRate від обертів. Працює, звучить непогано, і розсипається на сповільненні — бо на 0.04× швидкості зациклений семпл перетворюється на гудіння. Тому в симуляторі немає жодного аудіофайлу. Кожен циліндр має власну фазу (порядок роботи 1-3-4-2, зсуви 360/540/180/0 градусів), і коли фаза перетинає межу робочого ходу, це подія. Подія породжує удар: короткий сплеск білого шуму через bandpass на 125 Гц із загасанням 110 мс, плюс окремий високочастотний «цокіт» на 2300 Гц — той самий дизельний брязкіт від зазорів у клапанах OHV. Поверх — низька пилка на частоті спалахів. Наслідок: звук не треба синхронізувати з картинкою. Він і є картинкою, просто в іншій модальності. Сповільнюєте час — удари роз’їжджаються і чутно чотири окремі постріли замість гулу. Прибираєте подачу — обертів менше, інтервали ростуть, з’являється та сама нерівність холостого ходу, яку я навіть не програмував окремо. Розподільний вал я спочатку зробив неправильно Друга помилка була дурнішою. Я крутив кулачки з тією ж швидкістю, що й колінвал. Візуально майже нормально, поки не почнеш дивитися на конкретний циліндр — і тоді видно, що клапани відкриваються двічі за цикл. Дизель — чотиритактний, повний цикл займає два оберти колінвала, тому вал розподілу крутиться рівно вдвічі повільніше. Я лишив цю передачу 2:1 видимою зліва на екрані замість того, щоб сховати її в кожух: це, мабуть, найкорисніша річ у всьому розрізі для того, хто вперше розбирається, як працює чотиритактник. Паливо як параметри, а не як меню П’ять видів палива — не косметичні пресети. Кожен має чотири числа: множник часу запуску, димність, віддача потужності й змащувальна здатність. Останнє найцікавіше: гас майже не димить і чудово заводиться на морозі, тому здається найкращим вибором — поки не побачиш лічильник зносу ПНВТ, який росте втричі швидше. Рослинна олія взагалі не заведе холодний двигун, треба спершу прогріти на дизелі до 60 °C. Ніде не написано «гас поганий». Гравець просто бачить два лічильники й робить висновок сам. Це, здається, працює краще за будь-який туторіал. Що далі Наступним хочу зробити режим механіка: регулювання клапанних зазорів на слух, бо саме цим цей мотор і живий досі. Якщо у вас є досвід із реальним OM636 і я щось наплутав у геометрії — напишіть, виправлю.
Files
OM636 Engine Simulator
Дизель Mercedes OM636 у розрізі — працює по-справжньому
| Status | Released |
| Author | Leoni Studio |
| Genre | Simulation, Educational |
| Tags | cutaway, diesel, engine, html5, mechanics, mercedes, Physics, Retro, ukrainian |
Leave a comment
Log in with itch.io to leave a comment.