Другие языки программирования и технологии
Объясните человеческим языком что такое кватернион в 3d графике.
Познакомься сначала с комплексными числами. Кватернионы - их расширение.
И в чём проблема? Всё, необходимое для их понимания, тебе расскажут в любом техническом ВУЗ'е - в рамках курса высшей математики.
Валерий Пелевин
Проблема в том, что мне 53 и учиться в ВУЗе я уже не хочу)
Асланбек Айтжанов
не знаете - игнорируйте вопрос
Сами по себе числа в кватернионе не говорят ниочём. На то и 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;
}
больше ничего и не нужно знать.
разве что как делать кватернион из обычных углов и нормализация кватерниона.
Объект вращается матрицей, а не кватернионом.
Матрицу можно получить из кватерниона.
Кватернион по сути инструмент с помощью которой можно получить хорошую матрицу вращения.
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;
}
больше ничего и не нужно знать.
разве что как делать кватернион из обычных углов и нормализация кватерниона.
Похожие вопросы
- При помощи какой программы можно делать изображения в формате HDRI для 3D графики? Спасибо!!!
- какие программы для создания 3D графики вы знаете и где их скачать?!
- Правда что ноутбуки не предназначенны для нагрузки, и немогут хорошо обрабатывать 3D графику?
- Что такое компиляция? На простом человеческом языке объясните значение этого слова?
- Объясните пожалуйста, что нужно сделать человеческим языком) ) А то никак не пойму, заранее спасибо.
- Что лучше выбрать 3d графику или сайтостроение? Подразумевается как способ заработка, удаленно, по причине здоровья (
- Объясните нормальным языком!
- Объясните доступным языком, что такое "интерфейс" в ООП
- while(!((str[i]>='0'&&str[i]<='9')||str[i]=='\0')) как перевести на человеческий язык это условие? - Язык си
- как разогнать процессор, объясните доступным языком)))