Pentru absolvenții de facultate această problemă nu este o problemă, dar pentru noi, elevii din școlile profesionale și colegii, este misterul din spatele celor șapte blochează. Mai ales dacă ești ca mine, omit în mod constant matematici superioare.
Voi încerca să explice în propriile lor cuvinte, ceea ce este Quaternion în Ogre3d motorului grafic: este vectorul de direcție al obiectului, plus rola de-a lungul această direcție. Acesta și-a exprimat quaternion prin fund, așa că se uită la cele patru cifre nu va fi în măsură să spun exact unde obiectul este direcționat, și cât de mult este înclinat, în contrast cu vectorul. Cu aceasta trebuie să fie reconciliate.
Asta e, practic, întreaga curs. )
UPD: Îmi cer scuze că a introdus cititorii pe căi greșite. Quaternion - este axa în jurul căreia obiectul se va roti și unghiul la care vom roti obiectul în raport cu această axă. In total, patru componente quaternion: X, Y, Z și W. XYZ - aceeași axă de rotație (normalizează și fiecare componentă se înmulțește cu sinusul jumătății unghiului), W - un unghi de rotație (care este dată de cosinusul jumătate unghi).
primirea pseudocod unghiului quaternion și axa:
def quatFromAngleAxis (de sine, o, x, y, z): # vector lungime xyz l = sqrt (x ^ x + y ^ y + z ^ z) # normalizează xyz vector x = x / ly = y / lz = z / l # sinus jumătate din unghiul (a - unghi în radiani) Hsin = sin (a / 2) Se umple # xyz self.x = x * y = hsin self.y * hsin self.z = z * hsin # cosinusul jumătate din unghiul hCos = cos (a / 2) # umplere w self.w = hCos
Este important să ne amintim că Quaternion nu este rezultatul dorit, acesta este exprimat printr-o acțiune care poate fi aplicată oricărui obiect în spațiu.
Dacă perplecși, termenul „matrice“, am recomandăm să citiți nota: Care este matricea de 4 × 4 în jocurile tridimensionale?