我想在MATLAB中编写一个代码,将全局坐标系转换为本地坐标系。更具体地说,我在全局坐标系中有二阶(3x3矩阵)的方向张量,我想旋转全局坐标系以使x轴与方向对齐。
第二阶的取向张量表示纤维的取向,其中对角线元素表示与x轴,y轴和z轴的取向度。非对角线元件代表光纤从轴上倾斜。
二阶方向张量的一个例子:
a_ij=
[0.2606 -0.1271 -0.0279
-0.1271 0.6832 0.0564
-0.0279 0.0564 0.0561]
这意味着光纤主要在y轴上取向,在xy平面中倾斜最大。 我现在的目标是旋转坐标系,使x轴与对角线元素的最高值对齐,在本例中为0.6832。
在我的研究中,我得出结论,我必须解决以下等式才能得到必要的角度:
a_primed=Q*a_unprimed*Q^T
a_primed的格式为:
[1 0 0
0 0 0
0 0 0]
和Q,它的转置Q ^ T将是旋转矩阵。 Rotation matrix, source: http://www.continuummechanics.org/cm/transformmatrix.html
这是计算必要角度的正确方法吗?另一种方法可能是在方向张量上使用主轴定理,但我对这里的问题有点遗失。
我希望你能指出我正确的方向。 非常感谢任何帮助!
-Fabian