Но все таки хотелось бы разобраться до конца
Трогательно и похвально
![Smile :)](./images/smilies/icon_smile.gif)
.
Далее я, по-видимому, предлагаю то же, что и
GAA, только другими словами, более близкими к моему мозгоустройству.
Первый подход.
Имеется вектор --- ось вращения
![$OA=(\ldots)$ $OA=(\ldots)$](https://dxdy-03.korotkov.co.uk/f/6/3/7/63759921c9841f8bbe0ed15f036a0d4e82.png)
. Поскольку мы не умеем поворачивать вокруг неё, но умеем, например, вокруг оси
![$OZ$ $OZ$](https://dxdy-02.korotkov.co.uk/f/d/1/6/d16c9ef002bf1794e8532e34f337f50282.png)
, то поищем преобразование
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
, такое, чтобы оно нашу ось выставило вертикально. Раз уж вектор
![$OA$ $OA$](https://dxdy-01.korotkov.co.uk/f/c/b/b/cbb6812e5783c165a751afa398dcb53682.png)
был получен из
![$OZ$ $OZ$](https://dxdy-02.korotkov.co.uk/f/d/1/6/d16c9ef002bf1794e8532e34f337f50282.png)
двумя поворотами, эту подзадачу, видимо, решают два обратных поворота, сначала на
![$-\beta$ $-\beta$](https://dxdy-01.korotkov.co.uk/f/0/5/0/050b512933ffb47ee6369369425241a482.png)
, потом на
![$-\alpha$ $-\alpha$](https://dxdy-02.korotkov.co.uk/f/1/8/f/18f225af1d6f8f01f3893d9c0d2ea91882.png)
:
![$T=T_{-\alpha}\cdot T_{-\beta}$ $T=T_{-\alpha}\cdot T_{-\beta}$](https://dxdy-03.korotkov.co.uk/f/e/0/1/e017e77ce32eae03034356172caeb29b82.png)
. Убедитесь, что да, векторочек ОА встал вертикально:
![$T\cdot OA=(0,0,1)$ $T\cdot OA=(0,0,1)$](https://dxdy-04.korotkov.co.uk/f/7/e/4/7e4f6dc1e5a3aaf224fa6303698a920082.png)
. Теперь совершаете известный поворот вокруг оси
![$OZ$ $OZ$](https://dxdy-02.korotkov.co.uk/f/d/1/6/d16c9ef002bf1794e8532e34f337f50282.png)
на
![$\gamma$ $\gamma$](https://dxdy-02.korotkov.co.uk/f/1/1/c/11c596de17c342edeed29f489aa4b27482.png)
(описываемый некой матрицей
![$T_\gamma$ $T_\gamma$](https://dxdy-01.korotkov.co.uk/f/0/5/3/05382f51fe934970190c25abb7673e3382.png)
). Теперь совершаете преобразование, обратное
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
. Итог: искомая матрица ---
![$T^{-1}T_\gamma T$ $T^{-1}T_\gamma T$](https://dxdy-02.korotkov.co.uk/f/1/5/c/15c44f5f864bac50a277e5596643314782.png)
. В частности, если было
![$T=T_2 T_1$ $T=T_2 T_1$](https://dxdy-03.korotkov.co.uk/f/a/d/a/ada8ad099ac6abefba9f30c57808b53682.png)
, то итог будет
![$(T_2 T_1)^{-1}T_\gamma T_2 T_1=T_1^{-1} T_2^{-1}T_\gamma T_2 T_1$ $(T_2 T_1)^{-1}T_\gamma T_2 T_1=T_1^{-1} T_2^{-1}T_\gamma T_2 T_1$](https://dxdy-01.korotkov.co.uk/f/8/f/5/8f5b476b9802e3cb743d1cc8dba2467482.png)
.
Самопровека: действие полученной матрицы на ось
![$OA$ $OA$](https://dxdy-01.korotkov.co.uk/f/c/b/b/cbb6812e5783c165a751afa398dcb53682.png)
должно оставлять её на месте при любом
![$\gamma$ $\gamma$](https://dxdy-02.korotkov.co.uk/f/1/1/c/11c596de17c342edeed29f489aa4b27482.png)
.
Второй подход.
Но по-хорошему задачу надо решать в общей постановке, т.е. заняться чисто выводом той самой универсальной формулы. И желательно в приличных обозначениях. Забыть про Ваш конкретный смысл углов
![$\alpha,\beta$ $\alpha,\beta$](https://dxdy-03.korotkov.co.uk/f/a/4/e/a4e80986c12176a9830ef85b8225d81682.png)
: это некий частный случай, который потом можно подставлять в универсальную формулу.
Имеется вектор --- ось вращения
![$\Omega=(u_x=\cos \alpha,\:u_y=\cos\beta, u_z=\cos\gamma)$ $\Omega=(u_x=\cos \alpha,\:u_y=\cos\beta, u_z=\cos\gamma)$](https://dxdy-03.korotkov.co.uk/f/2/a/d/2ad7b82f85096cdfc6d04a1aeebfc33982.png)
(
![$u_x^2+u_y^2+u_z^2$ $u_x^2+u_y^2+u_z^2$](https://dxdy-04.korotkov.co.uk/f/3/9/7/397407687e6ff58eaa757f083354739a82.png)
; или возьмите сферические координаты,
как предлагал GAA) . Поскольку мы не умеем поворачивать вокруг неё, но умеем, например, вокруг оси
![$OZ$ $OZ$](https://dxdy-02.korotkov.co.uk/f/d/1/6/d16c9ef002bf1794e8532e34f337f50282.png)
, то поищем преобразование
![$R$ $R$](https://dxdy-02.korotkov.co.uk/f/1/e/4/1e438235ef9ec72fc51ac5025516017c82.png)
, такое, чтобы оно нашу ось выставило вертикально:
![$R\Omega=OZ=(0,0,1)$ $R\Omega=OZ=(0,0,1)$](https://dxdy-03.korotkov.co.uk/f/2/e/2/2e29fa11c6900ebde51e61dd172d8c9e82.png)
. Вам было проще искать такой поворот, когда углы
![$\alpha,\beta$ $\alpha,\beta$](https://dxdy-03.korotkov.co.uk/f/a/4/e/a4e80986c12176a9830ef85b8225d81682.png)
трактовались в Вашем смысле (наша полемика про "составляют" --- "повёрнуты"). Что же, используйте это, посмотрите например те же проекции, найдите переход от одной терминологии к другой. Или поймите, что это предварительное преобразование есть поворот на некий угол
![$\xi=?$ $\xi=?$](https://dxdy-01.korotkov.co.uk/f/4/e/a/4ea41acd339ccc4850ffe7230da26e6782.png)
вокруг оси
![$\Omega'=\Omega\times OZ$ $\Omega'=\Omega\times OZ$](https://dxdy-01.korotkov.co.uk/f/c/7/f/c7f1cdc7a3411508862acc9063f4e4b382.png)
(векторное произведение; не забыть потом про нормировку). Попробуйте его наглядно представить и реализовать. Далее --- тот же поворот на угол
![$\theta$ $\theta$](https://dxdy-03.korotkov.co.uk/f/2/7/e/27e556cf3caa0673ac49a8f0de3c73ca82.png)
или
![$\omega$ $\omega$](https://dxdy-03.korotkov.co.uk/f/a/e/4/ae4fb5973f393577570881fc24fc205482.png)
(потому что обозначение
![$\gamma$ $\gamma$](https://dxdy-02.korotkov.co.uk/f/1/1/c/11c596de17c342edeed29f489aa4b27482.png)
нам теперь не нравится) вокруг
![$OZ$ $OZ$](https://dxdy-02.korotkov.co.uk/f/d/1/6/d16c9ef002bf1794e8532e34f337f50282.png)
и обратное преобразование,
![$R^{-1}$ $R^{-1}$](https://dxdy-03.korotkov.co.uk/f/e/4/0/e40552a06d4910968483601af35437f882.png)
.
Самопровека: действие полученной матрицы на ось
![$\Omega$ $\Omega$](https://dxdy-02.korotkov.co.uk/f/9/4/3/9432d83304c1eb0dcb05f092d30a767f82.png)
должно оставлять её на месте при любом
![$\theta$ $\theta$](https://dxdy-03.korotkov.co.uk/f/2/7/e/27e556cf3caa0673ac49a8f0de3c73ca82.png)
.
Добавлено спустя 20 минут 48 секунд:
И поймите-осознайте, что если Вы вектор
![$v_0$ $v_0$](https://dxdy-04.korotkov.co.uk/f/7/5/1/751613a1a4da78db7647a339cbf261c382.png)
повернули матрицей
![$M_1$ $M_1$](https://dxdy-03.korotkov.co.uk/f/6/f/5/6f549764f2f97bec950c14de5352994a82.png)
, то получили вектор
![$v_1=M_1v_0$ $v_1=M_1v_0$](https://dxdy-01.korotkov.co.uk/f/8/4/8/84837edc79a5b076f2acc31a431f964b82.png)
.
Если Вы затем вектор
![$v_1$ $v_1$](https://dxdy-01.korotkov.co.uk/f/4/1/9/41922e474070adc90e7c1379c28d22fe82.png)
повернули матрицей
![$M_2$ $M_2$](https://dxdy-02.korotkov.co.uk/f/d/c/e/dced8cd0d35e2af2d3499c10d7ee628982.png)
, то получили вектор
![$v_2=M_2v_1=M_2(M_1v_0)=M_2M_1v_0=(M_2M_1)v_0$ $v_2=M_2v_1=M_2(M_1v_0)=M_2M_1v_0=(M_2M_1)v_0$](https://dxdy-04.korotkov.co.uk/f/b/7/0/b70f219abaa8b106c5cf80fda83734c682.png)
.
Если Вы затем вектор
![$v_2$ $v_2$](https://dxdy-02.korotkov.co.uk/f/5/3/2/53292819177dbb29ba6d92fe3aa2880c82.png)
повернули матрицей
![$M_3$ $M_3$](https://dxdy-04.korotkov.co.uk/f/7/e/d/7edb093218f7ba2b5c51886398fa9caf82.png)
, то получили вектор
![$v_3=M_3v_2=M_3M_2M_1v_0$ $v_3=M_3v_2=M_3M_2M_1v_0$](https://dxdy-02.korotkov.co.uk/f/5/7/d/57d483fe7c79faa095608ee834eea55182.png)
.
Эти три операции можно заменить одним действом, матрицей
![$M=M_3M_2M_1$ $M=M_3M_2M_1$](https://dxdy-01.korotkov.co.uk/f/4/c/a/4ca12a5adf79fecd17c68206daaa0e5f82.png)
.
Тем самым я обосновал Вам порядок матриц в произведении --- 3, 2, 1 для последовательности действий 1, 2, 3.