T2 = [cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1]; 改成绕(20,35)旋转
时间: 2024-02-23 20:02:47 浏览: 78
圆形旋转代码
要将旋转中心从原点移动到 (20, 35) 的话,需要进行如下步骤:
1. 将向量从 (x,y) 移动到 (x-20,y-35),即先进行平移变换 T1 = [1 0 -20; 0 1 -35; 0 0 1]。
2. 在新的坐标系中,对向量进行旋转变换 T2 = [cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1]。
3. 将旋转后的向量再移动回原来的坐标系,即再进行一次平移变换 T3 = [1 0 20; 0 1 35; 0 0 1]。
所以,绕 (20, 35) 旋转的变换矩阵为 T = T3 * T2 * T1,展开后为:
```
T = [cosd(theta) -sind(theta) 20-20*cosd(theta)+35*sind(theta);
sind(theta) cosd(theta) 35-20*sind(theta)-35*cosd(theta);
0 0 1]
```
其中,cosd和sind是MATLAB中的函数,表示求角度的余弦和正弦值。
阅读全文