В этой статье выводятся основные свойства вращения в 3-х мерное пространство.
Три Вращения Эйлера один из способов принести жесткое тело в любую желаемую ориентацию, последовательно делая вращения относительно оси 'фиксированной относительно объекта. Однако этого также можно добиться с помощью одного поворота (Теорема Эйлера вращения ). Используя концепции линейная алгебра показано, как можно выполнить это одиночное вращение.
Математическая формулировка
Позволять (ê1, ê2, ê3) быть система координат фиксируется в теле, что за счет изменения ориентации А выводится на новые направления
![{ displaystyle mathbf {A} { hat {e}} _ {1}, mathbf {A} { hat {e}} _ {2}, mathbf {A} { hat {e}} _ {3}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4bd761c288f7680f9fc4feb519ce5efe4293dcd5)
Любой вектор
![{ displaystyle { bar {x}} = x_ {1} { hat {e}} _ {1} + x_ {2} { hat {e}} _ {2} + x_ {3} { hat {e}} _ {3}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/53694ba3a99e93019960f78d3c37170e4c2c8dac)
вращение вместе с телом затем приводится в новом направлении
![{ displaystyle mathbf {A} { bar {x}} = x_ {1} mathbf {A} { hat {e}} _ {1} + x_ {2} mathbf {A} { hat { e}} _ {2} + x_ {3} mathbf {A} { hat {e}} _ {3},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f582106e353310938e6f28eadc3dd10115c046ed)
то есть это линейный оператор
В матрица этого оператор относительно системы координат (ê1, ê2, ê3) является
![{ displaystyle { begin {bmatrix} A_ {11} & A_ {12} & A_ {13} A_ {21} & A_ {22} & A_ {23} A_ {31} & A_ {32} & A_ {33} конец {bmatrix}} = { begin {bmatrix} langle { hat {e}} _ {1} | mathbf {A} { hat {e}} _ {1} rangle & langle { hat {e}} _ {1} | mathbf {A} { hat {e}} _ {2} rangle & langle { hat {e}} _ {1} | mathbf {A} { hat {e}} _ {3} rangle langle { hat {e}} _ {2} | mathbf {A} { hat {e}} _ {1} rangle & langle { hat {e}} _ {2} | mathbf {A} { hat {e}} _ {2} rangle & langle { hat {e}} _ {2} | mathbf {A} { hat {e}} _ {3} rangle langle { hat {e}} _ {3} | mathbf {A} { hat {e}} _ {1} rangle & langle { hat {e}} _ {3} | mathbf {A} { hat {e}} _ {2} rangle & langle { hat {e}} _ {3} | mathbf {A} { hat {e}} _ {3} rangle end {bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2212b75884b23c461182b79e64154f95a81fcba0)
В качестве
![{ displaystyle sum _ {k = 1} ^ {3} A_ {ki} A_ {kj} = langle mathbf {A} { hat {e}} _ {i} | mathbf {A} { hat {e}} _ {j} rangle = { begin {case} 0, & i neq j, 1, & i = j, end {cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a9b1c8aa0d108b862c53711f7e720564aa6730d8)
или эквивалентно в матричной записи
![{ displaystyle { begin {bmatrix} A_ {11} & A_ {12} & A_ {13} A_ {21} & A_ {22} & A_ {23} A_ {31} & A_ {32} & A_ {33} конец {bmatrix}} ^ { mathsf {T}} { begin {bmatrix} A_ {11} & A_ {12} & A_ {13} A_ {21} & A_ {22} & A_ {23} A_ {31 } & A_ {32} & A_ {33} end {bmatrix}} = { begin {bmatrix} 1 & 0 & 0 0 & 1 & 0 0 & 0 & 1 end {bmatrix}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/782b437fad23b1c8572b021a692374a22d4b95bd)
матрица ортогональный и поскольку правосторонняя базовая векторная система переориентируется в другую правостороннюю систему, детерминант этой матрицы имеет значение 1.
Вращение вокруг оси
Позволять (ê1, ê2, ê3) - ортогональная положительно ориентированная базовая векторная система в р3. Линейный оператор "поворот на угол θ вокруг оси, определяемой ê3"имеет матричное представление
![{ displaystyle { begin {bmatrix} Y_ {1} Y_ {2} Y_ {3} end {bmatrix}} = { begin {bmatrix} cos theta & - sin theta & 0 sin theta & cos theta & 0 0 & 0 & 1 end {bmatrix}} { begin {bmatrix} X_ {1} X_ {2} X_ {3} end {bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/80646cf8b63dd6fda09ba43c26bcdaa4afb929f2)
относительно этой системы базовых векторов. Тогда это означает, что вектор
![{ displaystyle { bar {x}} = { begin {bmatrix} { hat {e}} _ {1} & { hat {e}} _ {2} & { hat {e}} _ { 3} end {bmatrix}} { begin {bmatrix} X_ {1} X_ {2} X_ {3} end {bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5a7ab664b26971101b2080b06f722607b7532998)
поворачивается к вектору
![{ displaystyle { bar {y}} = { begin {bmatrix} { hat {e}} _ {1} & { hat {e}} _ {2} & { hat {e}} _ { 3} end {bmatrix}} { begin {bmatrix} Y_ {1} Y_ {2} Y_ {3} end {bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f4e0c19f7c717df0c3baa8a56e8501cda06993eb)
линейным оператором. В детерминант этой матрицы
![{ displaystyle det { begin {bmatrix} cos theta & - sin theta & 0 sin theta & cos theta & 0 0 & 0 & 1 end {bmatrix}} = 1,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e1653b01e3bea806f7554f9c5827cce4b76a4dac)
и характеристический многочлен является
![{ displaystyle { begin {align} det { begin {bmatrix} cos theta - lambda & - sin theta & 0 sin theta & cos theta - lambda & 0 0 & 0 & 1- lambda end {bmatrix}} & = left ( left ( cos theta - lambda right) ^ {2} + sin ^ {2} theta right) (1- lambda) & = - lambda ^ {3} + (2 cos theta +1) lambda ^ {2} - (2 cos theta +1) lambda +1 конец {выровнено}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2246c55bb58f6084344768286aa4623dc32c47f6)
Матрица симметрична тогда и только тогда, когда грех θ = 0, то есть для θ = 0 и θ = π. Дело θ = 0 - тривиальный случай тождественного оператора. По делу θ = π то характеристический многочлен является
![{ Displaystyle - ( лямбда -1) влево ( лямбда +1 вправо) ^ {2},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c7e579b306fb24ce90cc46af5f4e79e71c5fbb5d)
так что оператор вращения имеет собственные значения
![{ displaystyle lambda = 1, quad lambda = -1.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8eabe3e15e92048832309051b73ade1a14bca476)
В собственное подпространство соответствующий λ = 1 это все векторы на оси вращения, а именно все векторы
![{ displaystyle { bar {x}} = alpha { hat {e}} _ {3}, quad - infty < alpha < infty.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c6102021adaeb0254f47d21b1aa2b64659ddf2de)
В собственное подпространство соответствующий λ = −1 состоит из всех векторов, ортогональных оси вращения, а именно всех векторов
![{ displaystyle { bar {x}} = alpha { hat {e}} _ {1} + beta { hat {e}} _ {2}, quad - infty < alpha < infty , quad - infty < beta < infty.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b7c6ee5c72d905ecba193dbdcf37fd23ce4caa40)
Для всех остальных значений θ матрица не симметрична и при грех2 θ > 0 есть только собственное значение λ = 1 с одномерным собственное подпространство векторов на оси вращения:
![{ displaystyle { bar {x}} = alpha { hat {e}} _ {3}, quad - infty < alpha < infty.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c6102021adaeb0254f47d21b1aa2b64659ddf2de)
Матрица поворота по углу θ вокруг общей оси вращения k дан кем-то Формула вращения Родригеса.
![{ Displaystyle mathbf {R} = mathbf {I} cos theta + [ mathbf {k}] _ { times} sin theta + (1- cos theta) mathbf {k} mathbf {k} ^ { mathsf {T}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ba095a0d9f8cc06da18c2d0047cf97bc16a63149)
куда я это единичная матрица и [k]× это двойная 2-форма из k или же матрица кросс-продукта,
![{ displaystyle [ mathbf {k}] _ { times} = { begin {bmatrix} 0 & -k_ {3} & k_ {2} k_ {3} & 0 & -k_ {1} - k_ {2 } & k_ {1} & 0 end {bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1573d3b3ad8e4eebc511b590146c4dd8985f139c)
Обратите внимание, что [k]× удовлетворяет [k]×v = k × v для всех векторов v.
Общий случай
Оператор поворота на угол θ вокруг указанной оси », описанное выше, является ортогональным отображением, и его матрица относительно любой системы базовых векторов является ортогональная матрица. Кроме того, его определитель имеет значение 1. Нетривиальный факт противоположен тому, что для любого ортогонального линейного отображения в р3 с определителем 1 существуют базовые векторы ê1, ê2, ê3 такая, что матрица принимает «канонический вид»
![{ displaystyle { begin {bmatrix} cos theta & - sin theta & 0 sin theta & cos theta & 0 0 & 0 & 1 end {bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ca674da6f6119e943df3edc2cdd32ed45332bf68)
за некоторую стоимость θ. Фактически, если линейный оператор имеет ортогональная матрица
![{ displaystyle { begin {bmatrix} A_ {11} & A_ {12} & A_ {13} A_ {21} & A_ {22} & A_ {23} A_ {31} & A_ {32} & A_ {33} конец {bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ac508f987f107dc66b3e9707990a27c7b499a4b2)
относительно некоторой базовой векторной системы (f̂1, f̂2, f̂3) и эта матрица симметрична, "теорема о симметричном операторе" верна в рп (любое измерение) применяется, говоря, что он имеет п ортогональные собственные векторы. Это означает, что для трехмерного случая существует система координат ê1, ê2, ê3 такая, что матрица принимает вид
![{ displaystyle { begin {bmatrix} B_ {11} & 0 & 0 0 & B_ {22} & 0 0 & 0 & B_ {33} end {bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d95f2ac62954a02584a4bc2b4160666d51a0f4ff)
Поскольку это ортогональная матрица, эти диагональные элементы Bii равны 1 или -1. Поскольку определитель равен 1, эти элементы либо все равны 1, либо один из элементов равен 1, а два других равны -1. В первом случае это тривиальный тождественный оператор, соответствующий θ = 0. Во втором случае он имеет вид
![{ displaystyle { begin {bmatrix} -1 & 0 & 0 0 & -1 & 0 0 & 0 & 1 end {bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/895e96276088b07ea49e6cb7185080822c678221)
если базовые векторы пронумерованы так, что вектор с собственным значением 1 имеет индекс 3. Тогда эта матрица имеет желаемый вид для θ = π.
Если матрица несимметрична, вектор
![{ displaystyle { bar {E}} = alpha _ {1} { hat {f}} _ {1} + alpha _ {2} { hat {f}} _ {2} + alpha _ {3} { hat {f}} _ {3},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6e6ccf0b95bd58e1dca4ef3897e9effa18307cd4)
куда
![{ displaystyle alpha _ {1} = { frac {A_ {32} -A_ {23}} {2}}, quad alpha _ {2} = { frac {A_ {13} -A_ {31) }} {2}}, quad alpha _ {3} = { frac {A_ {21} -A_ {12}} {2}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c11479d2355a36c85bb3ad6a4acb82c3bbb52fcb)
отличен от нуля. Этот вектор является собственным вектором с собственным значением λ = 1. Параметр
![{ displaystyle { hat {e}} _ {3} = { frac { bar {E}} {| { bar {E}} |}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7ce0945d97e65d88625b8946200c183b84fd46c9)
и выбор любых двух ортогональных единичных векторов ê1 и ê2 в плоскости, ортогональной ê3 такой, что ê1, ê2, ê3 образуют положительно ориентированную тройку, оператор принимает желаемый вид с
![{ displaystyle { begin {align} cos theta & = { frac {A_ {11} + A_ {22} + A_ {33} -1} {2}}, sin theta & = | { bar {E}} |. end {выравнивается}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/725abe8343a6b6fc4ae15d701a84ecaee99649eb)
Приведенные выше выражения на самом деле справедливы и для случая симметричного оператора вращения, соответствующего вращению с θ = 0 или же θ = π. Но разница в том, что для θ = π вектор
![{ displaystyle { bar {E}} = alpha _ {1} { hat {f}} _ {1} + alpha _ {2} { hat {f}} _ {2} + alpha _ {3} { hat {f}} _ {3}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7b635d47db3d7eb0c97403c85d5f18262703bb14)
равен нулю и бесполезен для нахождения собственного подпространства собственного значения 1 и, следовательно, оси вращения.
Определение E4 в качестве потому что θ матрица для оператора вращения:
![{ displaystyle { frac {1-E_ {4}} {E_ {1} ^ {2} + E_ {2} ^ {2} + E_ {3} ^ {2}}} { begin {bmatrix} E_ {1} E_ {1} & E_ {1} E_ {2} & E_ {1} E_ {3} E_ {2} E_ {1} и E_ {2} E_ {2} & E_ {2} E_ {3} E_ {3} E_ {1} & E_ {3} E_ {2} & E_ {3} E_ {3} end {bmatrix}} + { begin {bmatrix} E_ {4} & - E_ {3} & E_ { 2} E_ {3} & E_ {4} & - E_ {1} - E_ {2} & E_ {1} & E_ {4} end {bmatrix}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/953f758765407b22207dcac182da7adda5b74e8a)
при условии, что
![{ displaystyle E_ {1} ^ {2} + E_ {2} ^ {2} + E_ {3} ^ {2}> 0.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f8c5323612eac61efb2f8c3a96adb1b0fbbc5b5a)
то есть кроме случаев θ = 0 (оператор идентичности) и θ = π.
Кватернионы
Кватернионы определяются аналогично E1, E2, E3, E4 с той разницей, что половина угла θ/2 используется вместо полного угла θ. Это означает, что первые 3 компонента q1, q2, q3 компоненты вектора, определенные из
![{ displaystyle q_ {1} { hat {f}} _ {1} + q_ {2} { hat {f}} _ {2} + q_ {3} { hat {f}} _ {1} = sin { frac { theta} {2}}, quad { hat {e}} _ {3} = { frac { sin { frac { theta} {2}}} { sin theta}}, quad { bar {E}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/791165d768d47034d5090194eb2de9d172617111)
и что четвертый компонент - это скаляр
![{ displaystyle q_ {4} = cos { frac { theta} {2}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a36b996b5736e30d15c16565232c426a2a6837de)
Как угол θ определенная из канонической формы, находится в интервале
![{ displaystyle 0 leq theta leq pi,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f74dd87960597768a580c7566ca268c765224ab3)
обычно это было бы q4 ≥ 0. Но используется «двойственное» представление вращения с кватернионами, то есть (q1, q2, q3, q4)}} и (−q1, −q2, −'q3, −q4) - два альтернативных представления одного и того же вращения.
Сущности Ek определяются из кватернионов как
![{ displaystyle { begin {align} E_ {1} & = 2q_ {4} q_ {1}, quad E_ {2} = 2q_ {4} q_ {2}, quad E_ {3} = 2q_ {4 } q_ {3}, [8px] E_ {4} & = q_ {4} ^ {2} - left (q_ {1} ^ {2} + q_ {2} ^ {2} + q_ {3 } ^ {2} right). End {align}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6811db245e604ac02fdfb45933cab1bb92328af1)
Используя кватернионы, матрица оператора вращения имеет вид
![{ displaystyle { begin {bmatrix} 2 left (q_ {1} ^ {2} + q_ {4} ^ {2} right) -1 & 2 left (q_ {1} q_ {2} -q_ {3 } q_ {4} right) & 2 left (q_ {1} q_ {3} + q_ {2} q_ {4} right) 2 left (q_ {1} q_ {2} + q_ {3 } q_ {4} right) & 2 left (q_ {2} ^ {2} + q_ {4} ^ {2} right) -1 и 2 left (q_ {2} q_ {3} -q_ {1} q_ {4} right) 2 left (q_ {1} q_ {3} -q_ {2} q_ {4} right) & 2 left (q_ {2} q_ {3} + q_ {1} q_ {4} right) & 2 left (q_ {3} ^ {2} + q_ {4} ^ {2} right) -1 end {bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d56f943558dc77a87d6586abb016f7972814f47d)
Числовой пример
Рассмотрим переориентацию, соответствующую Углы Эйлера α = 10°, β = 20°, γ = 30° относительно данной базовой векторной системы (f̂1, f̂2, f̂3). Соответствующая матрица относительно этой базовой векторной системы (см. Углы Эйлера # Ориентация матрицы )
![{ displaystyle { begin {bmatrix} 0,771281 & -0,633718 & 0,059391 0,613092 & 0,714610 & -0,336824 0,171010 & 0,296198 & 0,939693 end {bmatrix}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/90c0f76521e8a071da2efaf48bd37bc3e73c4502)
и кватернион
![{ displaystyle (0,171010, -0,030154,0,336824,0,925417).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ce6bcc0392dfc876e8b64885bb3a41fad4ed08fd)
Каноническая форма этого оператора
![{ displaystyle { begin {bmatrix} cos theta & - sin theta & 0 sin theta & cos theta & 0 0 & 0 & 1 end {bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ca674da6f6119e943df3edc2cdd32ed45332bf68)
с θ = 44.537° получается с
![{ displaystyle { hat {e}} _ {3} = (0,451272, -0,079571,0,888832).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2d05b23f34d43fec3a3337c7f2bfaef34e486f02)
Кватернион относительно этой новой системы тогда
![{ displaystyle (0,0,0,378951,0.925417) = left (0,0, sin { frac { theta} {2}}, cos { frac { theta} {2}} right) .}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7be3308661b77860c19763de3a7771b965922075)
Вместо того, чтобы делать три вращения Эйлера на 10 °, 20 °, 30 °, ту же ориентацию можно получить одним единственным поворотом на 44,537 ° вокруг ê3.
Рекомендации
- Шилов Георгий (1961), Введение в теорию линейных пространств, Прентис-Холл, Библиотека Конгресса 61-13845.