Я бы посоветовал, для наилучшего результата:
- Преобразовать векторы в кватернионы: http://www.rossprogrammproduct.com/t...%20FAQ.htm#Q56
- Произвести сферическую линейную интерполяцию (slerp): http://wat.gamedev.ru/articles/quate...nterpolyatsiya
- Получить обратно вектор: http://www.rossprogrammproduct.com/t...%20FAQ.htm#Q57
Или матрицу вращения: http://www.rossprogrammproduct.com/t...%20FAQ.htm#Q54
ИМХО ещё лучше хранить ориентацию сразу в кватернионах, т.к. у них не бывает "Gimbal lock":
http://www.rossprogrammproduct.com/t...%20FAQ.htm#Q34