Если у вас есть косинусы углов, образованные путем объединения каждого из i, j, k с каждым из xhat, yhat и zhat (всего девять углов), у вас есть составляющие для матрицы направляющих косинусов. Например, см. http://www.ae.illinois.edu/~tbretl/ae403/handouts/06-dcm.pdf (или просто косинусная матрица направления Google). Направляющая косинусная матрица - это просто другое название матрицы преобразования или вращения.
Будьте осторожны, хотя!
Единой стандартной схемы не существует. Вы должны знать, что это так, и внимательно читать литературу.
- Вы вращаете объект или трансформируете координаты? Вращение и преобразование являются сопряженными операциями. Некоторые люди (многие люди!) Используют термин «матрица вращения», когда они означают «матрицу преобразования», и наоборот.
- Вы представляете векторы как векторы столбцов или строки? Здесь есть намного больше последовательности; большинство людей используют векторы столбцов, а не векторы строк для таких вещей, как позиции, скорости и т. д. НО есть очень веские причины использовать векторы строк (или векторы столбцов, если вы один из этих противоположностей) для вещей, которые должным образом принадлежат двойственному пространству.
- Кватернионы имеют даже большую неоднозначность представления, чем матрицы. В этом нет ничего плохого (я все время использую кватернионы), но вы должны остерегаться этих неясностей, когда читаете газету или книгу, просматриваете чужой код или обмениваетесь данными.
- Наконец, матрицы и кватернионы являются лишь двумя из многих диаграмм на SO (3). Существует множество способов представления поворотов в 3-х пространствах.