🔄 Кватерніони та Обертання — Gimbal Lock і SLERP

Ейлерові кути проти кватерніонів · Gimbal lock · Плавна інтерполяція

ЕЙЛЕРОВІ КУТИ КВАТЕРНІОН

Орієнтація

Анімація

Кватерніон

w1.000
x0.000
y0.000
z0.000

🔄 Що Демонструє

Ейлерові кути (рискання, тангаж, крен) інтуїтивні, але страждають від gimbal lock: коли дві осі обертання вирівнюються (наприклад, тангаж = ±90°), один ступінь свободи втрачається і обертання стає хаотичним. Кватерніони — чотиривимірні числа q = w + xi + yj + zk, відкриті Гамільтоном у 1843 — представляють обертання без сингулярностей. SLERP (Spherical Linear intERPolation) плавно інтерполює між двома кватерніонними орієнтаціями вздовж найкоротшої дуги на 4D-гіперсфері.

Як Користуватися

Чи Знали Ви?

Вільям Роуен Гамільтон вирізав правила множення кватерніонів (i² = j² = k² = ijk = −1) на мосту Бруема в Дубліні 16 жовтня 1843 року. Кватерніони тепер є основою в аерокосмічній техніці, робототехніці та кожному 3D-ігровому движку — Unity, Unreal та Godot використовують кватерніони за замовчуванням. Комп'ютер навігації Apollo використовував гіроскопічний підвіс; біля 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 і незручна інтерполяція, тож багато систем приймають введення в Ейлерових кутах, але перетворюють його на кватерніони всередині для самих обчислень обертання.