我解这个问题的思路是这样:" ~3 K( {* E" G( V X
; u/ J* Q8 y1 m首先题目忘说了:XYZ是卡迪尔坐标系。 ( n5 K0 M# z' Y) O3 B 0 J$ ~# l' f& M7 [我假设一个局部坐标系,也是卡迪尔坐标系,将局部坐标系的原点O`与b一端点重合,Z轴正方向与b向量方向重合。然后问题可以化简为a绕局部坐标系Z轴转动theta角(假设a在局部坐标系下的坐标) / N$ j5 I! ~* o$ M8 S/ m9 z, B2 R4 N, H! P 由以上假设可以推出 a绕b旋转theta角在局部坐标系下坐标,记为a1。(这中间涉及了绕轴旋转theta角后如何求坐标的问题,比较简单,当然用兰月刀大侠的极坐标更容易一点,但最后要转化为卡迪尔坐标系下坐标) 3 E" ?1 [3 y' i/ `6 @+ F* {5 v4 O$ O( I! l$ M/ o5 j, H 接下来:坐标系转换之一---旋转 7 n% X3 {0 ]* C& r' h5 j/ ?' v' a$ Q) v; Y Y ~. j5 H6 D (为了帮助理解我假设一个“中间坐标系”,这个坐标系原点O``与局部坐标系重合,但其X'',Y'',Z''轴分别于XYZ坐标系XYZ轴平行,且方向相同)+ O* o. b2 M' |1 z% i6 ?- X 求a1向量在X''Y''Z''坐标系下的坐标:a1坐标前乘以旋转矩阵[R](注意要根据自己列的式子相乘,我列的是矩阵,所以乘以[R]之前也乘了个坐标矩阵),可得该坐标系下a向量坐标,记为a2$ z5 @9 r0 D: P1 N [R]是3X3的向量。矩阵其中每一元素代表原坐标系和现坐标系3根轴角度的cosine值8 h# D2 g1 G0 B
& O6 }( {9 U$ d坐标变换之二:平移/ A, X6 M$ P0 U9 ?& u1 [ 4 `1 H) ]$ u9 M2 j/ w' I2 a4 Z 现在讲X''Y''Z''下的a2坐标转换到XYZ下的a坐标' {" G P3 {6 G6 k6 A ( i$ o0 G; f9 o* v7 \ 这个问题就简单了。向量相加的问题。 ( Q$ S6 \' ~9 S# n1 G6 c) bo''在XYZ下坐标记为O1. 8 A1 Y, h! m% Z; K9 u6 a6 ea向量旋转theta角后在XYZ坐标系下坐标表示为:a=a2+O1 $ l7 }3 x* s* A1 b ! U c3 c" O4 ^5 U" Y' e8 b: xPS:其他大侠有其他想法吗,就像lanyuedao大侠那样。# M# U# K K+ T$ d
: Z6 z! A- i- r& E |