Rotation Matrix

http://mathworld.wolfram.com/RotationMatrix.html


When discussing a rotation, there are two possible conventions: rotation of the axes, and rotation of the object relative to fixed axes.

RotationMatrix

In R^2, consider the matrix that rotates a given vector v_0 by a counterclockwise angle theta in a fixed coordinate system. Then

 R_theta=[costheta -sintheta; sintheta costheta],
(1)

so

 v^'=R_thetav_0.
(2)

This is the convention used by the WolframLanguage command RotationMatrix[theta].

RotationMatrixAxes

On the other hand, consider the matrix that rotates the coordinate system through a counterclockwise angle theta. The coordinates of the fixed vector v in the rotated coordinate system are now given by a rotation matrix which is the transpose of the fixed-axis matrix and, as can be seen in the above diagram, is equivalent to rotating the vector by a counterclockwise angle of -theta relative to a fixed set of axes, giving

 R_theta^'=[costheta sintheta; -sintheta costheta].
(3)

This is the convention commonly used in textbooks such as Arfken (1985, p. 195).

In R^3, coordinate system rotations of the x-, y-, and z-axes in a counterclockwise direction when looking towards the origin give the matrices

R_x(alpha)=[1 0 0; 0 cosalpha sinalpha; 0 -sinalpha cosalpha]
(4)
R_y(beta)=[cosbeta 0 -sinbeta; 0 1 0; sinbeta 0 cosbeta]
(5)
R_z(gamma)=[cosgamma singamma 0; -singamma cosgamma 0; 0 0 1]
(6)

(Goldstein 1980, pp. 146-147 and 608; Arfken 1985, pp. 199-200).

Any rotation can be given as a composition of rotations about three axes (Euler's rotation theorem), and thus can be represented by a 3×3 matrix operating on a vector,

 [x_1^'; x_2^'; x_3^']=[a_(11) a_(12) a_(13); a_(21) a_(22) a_(23); a_(31) a_(32) a_(33)][x_1; x_2; x_3].
(7)

We wish to place conditions on this matrix so that it is consistent with an orthogonal transformation (basically, a rotation or improper rotation).

In a rotation, a vector mustkeep its original length, so it must be true that

 x_i^'x_i^'=x_ix_i
(8)

for i=1, 2, 3, where Einstein summation is being used. Therefore, from the transformation equation,

 (a_(ij)x_j)(a_(ik)x_k)=x_ix_i.
(9)

This can be rearranged to

a_(ij)(x_ja_(ik))x_k=a_(ij)(a_(ik)x_j)x_k
(10)
=a_(ij)a_(ik)x_jx_k
(11)
=x_ix_i.
(12)

In order for this to hold, it must be true that

 a_(ij)a_(ik)=delta_(jk)
(13)

for j,k=1, 2, 3, where delta_(ij) is the Kronecker delta. This is known as the orthogonality condition, and it guarantees that

 A^(-1)=A^(T),
(14)

and

 A^(T)A=I,
(15)

where A^(T) is the transpose and I is the identity matrix. Equation (15) is the identity which gives the orthogonal matrix its name. Orthogonal matrices have special properties which allow them to be manipulated and identified with particular ease.

Let A and B be two orthogonal matrices. By the orthogonality condition, they satisfy

 a_(ij)a_(ik)=delta_(jk),
(16)

and

 b_(ij)b_(ik)=delta_(jk),
(17)

where delta_(ij) is the Kronecker delta. Now

c_(ij)c_(ik)=(ab)_(ij)(ab)_(jk)
(18)
=a_(is)b_(sj)a_(it)b_(tk)
(19)
=a_(is)a_(it)b_(sj)b_(tk)
(20)
=delta_(st)b_(sj)b_(tk)
(21)
=b_(tj)b_(tk)
(22)
=delta_(jk),
(23)

so the product C=AB of two orthogonal matrices is also orthogonal.

The eigenvalues of an orthogonal rotation matrix mustsatisfy one of the following:

1. All eigenvalues are 1.

2. One eigenvalue is 1 and the other two are -1.

3. One eigenvalue is 1 and the other two are complex conjugates of the form e^(itheta) and e^(-itheta).

An orthogonal matrix A is classified as proper (corresponding to pure rotation) if

 det(A)=1,
(24)

where det(A) is the determinant of A, or improper (corresponding to inversion with possible rotation; improper rotation) if

 det(A)=-1.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值