我解这个问题的思路是这样:. f: Q- p: X! V9 Y2 U$ W' m& d
% n' D M5 t* X1 O' t首先题目忘说了:XYZ是卡迪尔坐标系。( H0 c2 s% s9 T; J. G9 a
# f& C; j( d% V4 k7 C' L1 e我假设一个局部坐标系,也是卡迪尔坐标系,将局部坐标系的原点O`与b一端点重合,Z轴正方向与b向量方向重合。然后问题可以化简为a绕局部坐标系Z轴转动theta角(假设a在局部坐标系下的坐标)6 R4 A7 T) o! J* u6 W 6 O$ H+ `, r' ?0 ? 由以上假设可以推出 a绕b旋转theta角在局部坐标系下坐标,记为a1。(这中间涉及了绕轴旋转theta角后如何求坐标的问题,比较简单,当然用兰月刀大侠的极坐标更容易一点,但最后要转化为卡迪尔坐标系下坐标)0 i+ Q/ ]2 o5 @; K# [- Z 4 q! J* n5 o4 I; h 接下来:坐标系转换之一---旋转 0 K# g6 G0 U* B l/ J& A7 A7 V# S( A' W8 w' o# T; Y C (为了帮助理解我假设一个“中间坐标系”,这个坐标系原点O``与局部坐标系重合,但其X'',Y'',Z''轴分别于XYZ坐标系XYZ轴平行,且方向相同)& `, R! M/ w, k& e6 } 求a1向量在X''Y''Z''坐标系下的坐标:a1坐标前乘以旋转矩阵[R](注意要根据自己列的式子相乘,我列的是矩阵,所以乘以[R]之前也乘了个坐标矩阵),可得该坐标系下a向量坐标,记为a2 9 I+ E7 G6 ]8 o: ]3 I. |* V[R]是3X3的向量。矩阵其中每一元素代表原坐标系和现坐标系3根轴角度的cosine值 8 H4 K5 g6 K: f+ x* ]1 Y7 g1 ~6 C9 }. c) \7 v& S' l 坐标变换之二:平移 4 S; @4 T# G) A & d4 R/ P* C: k) @' |( z现在讲X''Y''Z''下的a2坐标转换到XYZ下的a坐标: j1 T: n; H& L* x
7 [3 b. M; F+ C1 P这个问题就简单了。向量相加的问题。, l, C( n2 a' ?- Y: o& E o''在XYZ下坐标记为O1.* y* z3 S/ L: o+ T* H) ]* n a向量旋转theta角后在XYZ坐标系下坐标表示为:a=a2+O1 ; U6 y. q8 c: B- ^0 H5 G& { $ O. h3 Q# \5 F2 [. hPS:其他大侠有其他想法吗,就像lanyuedao大侠那样。3 E c" J* i" K$ S0 ?0 Y; R; T 6 [2 k/ H% i( ^9 H
|