В последнее время я использую источник для вращения на своих 3D-моделях. Однако возникла проблема при вызове функции: ВращениеBetweenVectors, определенное в Учебное пособие 17 ( ссылка: http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-17-quaternions/). Я хочу повернуть вектор _from в вектор _to с использованием метода Quaternion. Два вектора определяются следующим образом и вычисляется кват между ними.Ошибки вращения кватерниона
vec3 _from(0, -0.150401f, 0.93125f), _to(-0.383022f, -0.413672f, 1.24691f);
quat _rot = RotationBetweenVectors(_from, _to);
vec3 _to1 = _rot * _from;
vec3 _to2 = _rot * _from * inverse(_rot);
то я использую этот кватернизованный _rot умножать вектор _from. Unluckly, результат _to1 и _to2 не равны вектору _to.
_rot gives {x=0.0775952041 y=-0.140000001 z=-0.0226106234 w=0.986847401}
_to1 gives {x=-0.264032304 y=-0.285160601 z=0.859544873 }
_to2 gives {x=-0.500465572 y=-0.390112638 z=0.697992325 }
Я ценю это, если какой-либо друг может помочь мне решить эту проблему? Большое спасибо!
спасибо! точно это так. он решен. – Edison