🔄 Що демонструє ця симуляція
Кути Ейлера (рискання, тангаж, крен) інтуїтивно зрозумілі, але страждають від gimbal lock: коли дві осі обертання збігаються (наприклад, тангаж = ±90°), втрачається один ступінь свободи, і обертання стає непередбачуваним. Кватерніони — чотиривимірні числа q = w + xi + yj + zk, відкриті Гамільтоном у 1843 році, — представляють обертання без сингулярностей. SLERP (сферична лінійна інтерполяція) плавно інтерполює між двома кватерніонними орієнтаціями вздовж найкоротшої дуги на 4D гіперсфері, даючи рух зі сталою кутовою швидкістю без ривків.
Як користуватися
- Змініть повзунки Рискання / Тангаж / Крен, щоб задати цільову орієнтацію.
- Увімкніть Примусовий gimbal lock, щоб встановити тангаж = 90°, і спостерігайте, як Ейлерова сторона втрачає вісь обертання.
- Перемкніть SLERP-інтерполяцію, щоб побачити плавну поведінку на противагу перескокам з боку кватерніона.
- Автообертання застосовує безперервне обертання для порівняння шляхів.
- Лівий куб використовує послідовні матриці обертання Ейлера; правий — еквівалентний одиничний кватерніон.
Чи знали ви?
Вільям Роуан Гамільтон вирізав правила множення кватерніонів (i² = j² = k² = ijk = −1) на мосту Брум у Дубліні 16 жовтня 1843 року. Сьогодні кватерніони незамінні в аерокосмічній галузі (системи орієнтації космічних апаратів), робототехніці й кожному 3D-ігровому рушії — Unity, Unreal і Godot за замовчуванням використовують кватерніонні обертання внутрішньо. Бортовий комп'ютер «Аполлона» використовував гіроскопічний блок інерціальних вимірювань; поблизу gimbal lock астронавтам доводилося переорієнтовувати апарат, щоб не втратити навігацію.
Про цю симуляцію
Цей візуалізатор розміщує два однакові куби поруч: лівий обертається за допомогою кутів Ейлера (рискання, тангаж і крен, застосовані як послідовні матриці обертання), тоді як правий керується одиничним кватерніоном q = w + xi + yj + zk. Коли ви змінюєте орієнтацію, кватерніонна сторона плавно наближається до цілі за допомогою SLERP — сферичної лінійної інтерполяції вздовж найкоротшої 4D дуги, — дозволяючи побачити, як кватерніони уникають сингулярностей, що вражають кути Ейлера.
🔬 Що показано
Два дротяні куби на Canvas 2D, відрендерені з простою перспективною проєкцією та сортуванням граней алгоритмом художника. Куб Ейлера будується з матриці рискання-тангаж-крен; кватерніонний куб перетворює еквівалентний одиничний кватерніон на матрицю обертання 3x3. Примусове встановлення тангажу 90 градусів призводить до gimbal lock на кубі Ейлера, тоді як кватерніонна сторона зберігає всі три осі незалежними.
🎮 Як користуватися
Перетягуйте повзунки Рискання, Тангаж і Крен (кожен від -180 до 180 градусів), щоб задати цільову орієнтацію. Повзунок Швидкість автообертання (0-30) безперервно обертає рискання й крен. Позначте «Примусовий gimbal lock», щоб зафіксувати тангаж на 90 градусах, перемкніть «SLERP-інтерполяцію», щоб порівняти плавне згладжування з миттєвими перескоками, і скористайтеся «Показати осі», Пауза та Скинути. Панель w, x, y, z у реальному часі показує поточний кватерніон.
💡 Чи знали ви?
Вільям Роуан Гамільтон вигадав кватерніони в спалаху натхнення 16 жовтня 1843 року і вирізав правило i у квадраті = j у квадраті = k у квадраті = ijk = мінус одиниця на дублінському мосту Брум. Сьогодні кожен провідний 3D-рушій — Unity, Unreal і Godot — зберігає обертання як кватерніони внутрішньо.
Поширені запитання
Що таке кватерніон і навіщо він для обертання?
Кватерніон — це чотирикомпонентне число q = w + xi + yj + zk, що кодує 3D-обертання як точку на 4D одиничній гіперсфері. Одиничний кватерніон представляє будь-яку орієнтацію без сингулярностей чи неоднозначності Ейлерових кутів, тому саме він є стандартом для графіки, робототехніки й керування орієнтацією в аерокосмічній галузі.
Що таке gimbal lock і як його показує демонстрація?
Gimbal lock трапляється, коли дві з трьох осей обертання Ейлера збігаються, тож втрачається один ступінь свободи. Позначка «Примусовий gimbal lock» встановлює тангаж 90 градусів: на лівому кубі рискання і крен тоді обертаються навколо однієї візуальної осі, тоді як правий кватерніонний куб зберігає всі три осі повністю незалежними.
Що насправді робить прапорець SLERP?
SLERP, сферична лінійна інтерполяція, змішує поточний і цільовий кватерніони вздовж найкоротшої дуги великого кола на гіперсфері з постійною кутовою швидкістю. З увімкненим прапорцем кватерніонний куб плавно наближається до нових орієнтацій; без нього він миттєво перескакує до цілі кожного кадру, тож різницю добре відчутно.
Чи фізично й математично точна ця симуляція?
Так. Вона використовує стандартне перетворення рискання-тангаж-крен у кватерніон, нормалізує результат до одиничного кватерніона й перетворює назад через канонічну формулу кватерніон-у-матрицю. Процедура SLERP включає звичну зміну знака для найкоротшого шляху та лінійний запасний варіант, коли два кватерніони майже паралельні, відповідно до підручникових реалізацій.
Якщо кватерніони кращі, чому досі використовують кути Ейлера?
Кути Ейлера інтуїтивно зрозумілі, бо рискання, тангаж і крен напряму відповідають повсякденним поняттям на кшталт напрямку й нахилу, що робить їх ідеальними для введення даних користувачем і відображення. Ціна цього — gimbal lock і незручна інтерполяція, тому багато систем приймають введення в Ейлерових кутах, але внутрішньо переводять їх у кватерніони для самих обчислень обертання.