Объясните человеческим языком что такое кватернион в 3d графике.
Цитата из википедии: Кватернио́ны (от лат. quaterni, по четыре) — система гиперкомплексных чисел, предложенная Гамильтоном в 1843 году.. Вы что-нибудь поняли? Значит дальше вам читать не надо, до свидания! Заходите еще..
Познакомься сначала с комплексными числами. Кватернионы - их расширение.
Сами по себе числа в кватернионе не говорят ниочём. На то и imaginary числа - мнимые - воображаемые.
Объект вращается матрицей, а не кватернионом.
Матрицу можно получить из кватерниона.
Кватернион по сути инструмент с помощью которой можно получить хорошую матрицу вращения.
Doom3
idMat3 idQuat::ToMat3( void ) const {
idMat3mat;
floatwx, wy, wz;
floatxx, yy, yz;
floatxy, xz, zz;
floatx2, y2, z2;
x2 = x + x;
y2 = y + y;
z2 = z + z;
xx = x * x2;
xy = x * y2;
xz = x * z2;
yy = y * y2;
yz = y * z2;
zz = z * z2;
wx = w * x2;
wy = w * y2;
wz = w * z2;
mat[ 0 ][ 0 ] = 1.0f - ( yy + zz );
mat[ 0 ][ 1 ] = xy - wz;
mat[ 0 ][ 2 ] = xz + wy;
mat[ 1 ][ 0 ] = xy + wz;
mat[ 1 ][ 1 ] = 1.0f - ( xx + zz );
mat[ 1 ][ 2 ] = yz - wx;
mat[ 2 ][ 0 ] = xz - wy;
mat[ 2 ][ 1 ] = yz + wx;
mat[ 2 ][ 2 ] = 1.0f - ( xx + yy );
return mat;
}
больше ничего и не нужно знать.
разве что как делать кватернион из обычных углов и нормализация кватерниона.
И в чём проблема? Всё, необходимое для их понимания, тебе расскажут в любом техническом ВУЗ'е - в рамках курса высшей математики.