Režimy rotácie#

Blender umožňuje definovať rotácie niekoľkými spôsobmi. Každý z nich má rad výhod a nevýhod; neexistuje najlepší spôsob rotácie, pretože každý z nich je vhodný pre špecifické prípady.

Vo všetkých týchto režimoch znamenajú kladné hodnoty uhla smer rotácie proti smeru hodinových ručičiek, zatiaľ čo záporné hodnoty definujú rotáciu v smere hodinových ručičiek.

Hoci môžete rotovať prvkami použitím globálnej alebo lokálnej orientácie transformácie, tieto osi nie sú vhodné na definovanie rotácie, pretože účinok každej z nich nemožno izolovať od ostatných dvoch.

Vezmite si napríklad ľubovoľné tri hodnoty pre rotáciu X, Y a Z. Každú z nich vykonajte použitím globálnych alebo lokálnych osí. V závislosti od poradia, v akom ich vykonáte, získate rôzne konečné orientácie. Preto sú potrebné správne rotačné súradnicové systémy.

Eulerove režimy#

Systém osí, ktorý sa používa na vykonávanie Eulerových rotácií, je takzvaný Eulerov manipulátor rotácie (gimbal). Manipulátor rotácie je konkrétna sústava troch osí. Zvláštnosťou je, že osi majú medzi sebou hierarchický vzťah: jedna z osí je na vrchole hierarchie a má jednu zo zvyšných dvoch osí ako svojho bezprostredného potomka; táto dcérska os je zároveň rodičom zvyšnej osi, ktorá je na samom spodku hierarchie.

To, ktorá os je hore, ktorá uprostred a ktorá dole, závisí od konkrétneho Eulerovho manipulátora rotácie: existuje ich šesť typov, rovnako ako šesť možných kombinácií: XYZ, XZY, YXZ, YZX, ZXY a ZYX Eulerových režimov rotácie. Tieto režimy sú pomenované použitím písmen osí v poradí, počnúc osou na konci hierarchie a končiac osou na vrchole.

Hlavný problém týchto systémov nastáva, keď stratia svoju relatívnu kolmosť. A to sa stane, keď sa os v strede otáča a spôsobuje, že sa s ňou otáča aj os v spodnej časti. Zhoršuje sa to, keď sa táto dolná os blíži k 90° (alebo k ekvivalentným uhlom). V takom prípade zostane zarovnaná s osou na vrchole hierarchie. V tom okamihu sme práve stratili jednu os rotácie. To môže spôsobiť nespojité interpolácie pri animácii. Táto konkrétna strata osi je známa ako „Uzamknutie manipulátora rotácie“.

Rada

Skutočnú konfiguráciu osí manipulátora rotácie môžete vidieť v zobrazení 3D záberu tak, že povolíte manipulačný prvok objektu Rotácia a nastavíte ho na Manipulátor rotácie (z tlačidla manipulačného prvku v záhlaví). Zároveň by mal byť režim rotácie nastavený na niektorý z Eulerových režimov pre aktívny objekt.

Teraz môžete vykonať rotáciu okolo osi uprostred (napr. v režime XYZ Euler je to os Y) a uvidíte, ako ľahko sa dá skončiť s manipulátorom rotácie len s dvoma osami. V špecifickom prípade režimu XYZ Euler so zamknutým manipulátorom rotácie bude mať rotácia okolo osi X rovnaký účinok ako rotácia okolo osi Z, čo v praxi znamená, že nie je možné vykonávať žiadnu rotáciu okolo osi X.

Jednou z výhod tohto režimu je, že animačné krivky sú ľahko pochopiteľné a upraviteľné. Zvláštnu pozornosť však treba venovať tomu, keď sa stredová os blíži k hodnotám blízkym 90° (alebo ekvivalentným uhlom).

Režim uhla osi#

Tento režim nám umožňuje definovať os (X, Y, Z) a uhol rotácia (W) okolo tejto osi.

Ak definujeme rotáciu použitím interaktívnych rotácií (manipulátorom rotácie), hodnoty X, Y a Z neprekročia v absolútnej hodnote 1,0 a W sa bude pohybovať medzi 0 a 180 stupňami.

Ak chcete definovať rotáciu nad 180° (napr. definovať viacero otáčok), musíte upraviť hodnotu W priamo, ale hneď ako vykonáte interaktívnu rotáciu, táto hodnota sa opäť upraví. To isté platí pre hodnoty osí.

Tento systém je vhodný pre prvky otáčajúce sa okolo pevnej osi alebo na animáciu jedného z prvkov naraz (buď osi, alebo uhla). Problém môže nastať pri animácii (interpolácii) oboch prvkov súčasne: osi a uhla. Výsledný efekt nemusí byť podľa očakávania.

Manipulátor rotácie v tomto režime rotácie zobrazuje sústavu troch ortogonálnych osí, v ktorých os Z ide pozdĺž definovanej osi rotácie, t. j. smeruje do smeru definovaného bodom (X, Y, Z).

Systém osi a uhla je bez uzamknutia manipulátora rotácie, ale animačné krivky v tomto režime nie sú vôbec intuitívne, keď sa animuje os a uhol súčasne, v takom prípade je ťažké im porozumieť a upravovať ich.

Režim Kvaternión#

V tomto režime sú rotácie tiež definované štyrmi hodnotami (X, Y, Z a W). X, Y a Z tiež definujú os a W uhol, ale robí to úplne inak ako uhol osi. Dôležitý je tu vzťah medzi všetkými štyrmi hodnotami.

Aby sme to opísali intuitívne, zoberme si účinok súradnice X: spôsobuje rotáciu prvku okolo osi X až o 180 stupňov. To isté platí pre Y a Z. Účinok súradnice W spočíva v tom, že sa týmto rotáciám vyhne a ponechá prvok s nulovou rotáciou. Konečná orientácia je kombináciou týchto štyroch efektov.

Keďže vzťah medzi zložkami určuje konečnú orientáciu, vynásobením alebo vydelením všetkých štyroch čísel konštantnou hodnotou sa dosiahne rovnaká rotácia.

Tento režim je ideálny na interpoláciu medzi každým párom orientácií. Netrpí uzamknutím manipulátora rotácie ani žiadnym nežiaducim efektom interpolácie. Jedinou nevýhodou je, že nemôžete interpolovať medzi dvoma orientáciami, ktoré sú od seba vzdialené viac ako 180°, pretože animácia medzi nimi prejde najkratšou cestou. Ak teda chcete animovať rotujúci prvok, musíte nastaviť veľa medziľahlých kľúčových snímok, vzdialených od seba najviac 180°.

Manipulátor rotácie v tomto režime je ekvivalent Lokálne a nemá žiadny špeciálny význam.

Animačné krivky v tomto režime nie sú intuitívne, preto je ťažké ich pochopiť a upravovať.

Viac o kvaterniónoch#

Táto časť nie je veľmi užitočná pre 3D umelcov, ale môže byť vhodná pre zvedavcov alebo vedcov.

Kvaternióny sú číselnou sústavou rozširujúcou komplexné čísla. Predstavujú štvorzložkový vektor, ktorého zložky sa v Blenderi nazývajú X, Y, Z a W. Pri interaktívnej rotácii v režime kvaterniónov zostáva tzv. norma (dĺžka) kvaterniónu konštantná. Podľa definície sa norma kvaterniónu rovná 1,0 (to je normalizovaný kvaternión). Keď v Blenderi vyberiete režim kvaternión, komponenty XYZW opisujú normalizovaný kvaternión.

Poznámka

Norma kvaterniónu q je matematicky definovaná ako:

\[\lvert q \rvert = \sqrt{X^2 + Y^2 + Z^2 + W^2}\]

Ak je však jedna z kvaterniónových zložiek počas interaktívnej transformácie zablokovaná príslušným tlačidlom blokovania, norma nezostane nezmenená, pretože táto zablokovaná zložka sa nebude môcť upraviť tak, aby si zachovala jednotkovú normu.

Rada

Interaktívne rotácie manipulačným prvkom nemenia normu aktuálneho kvaterniónu. Individuálnou úpravou jednej zložky XYZW môžete zmeniť normu. Ak chcete, aby norma bola opäť 1,0, môžete sa prepnúť do ľubovoľného režimu rotácie a opäť sa vrátiť do kvaterniónu.

Komponenty rotácie kvaterniónu sú v úzkom vzťahu s komponentmi osového uhla. Aby sme našli zhodu, musíme sa najprv zaoberať normalizovanou verziou kvaterniónu, teda takou, ktorej norma sa rovná 1,0. Ak chcete normalizovať kvaternión, stačí vydeliť každú jeho zložku jej normou. Ako sme už videli, vydelením všetkých štyroch hodnôt rovnakým číslom získame rovnakú orientáciu.

Keď sme vypočítali zložky normalizovaného kvaterniónu, vzťah so zložkami osového uhla je nasledovný:

  • X, Y a Z znamenajú presne to isté, čo v prípade osového uhla: definujú len os, okolo ktorej sa rotácia uskutočňuje.

  • W možno použiť na získanie skutočnej rotácie okolo definovaného uhla. Platí nasledujúci vzorec (za predpokladu, že kvaternión je normalizovaný): \(W = \cos(\frac{a}{2})\), kde a je vlastne hľadaný uhol rotácie. To znamená: \(a = 2 \arccos{W}\).

Ďalšie úvahy#

V režimoch osových uhlov a kvaterniónov môžeme uzamknúť rotácie v interaktívnych režimoch na základe jednotlivých komponentov namiesto toho, aby sme to robili podľa osí. Túto možnosť uzamknutia môžeme aktivovať tlačidlami uzamknutia vedľa príslušných tlačidiel Rotácia transformácie.

Pokiaľ ide o animácie rotácie, všetky kľúčové snímky musia byť definované v rovnakom režime rotácie, ktorý musí byť zvoleným režimom rotácie pre objekt počas celej animácie.