吉文斯矩阵实现图片的旋转
程序员文章站
2022-05-02 10:07:54
...
吉文斯矩阵实现图片的旋转
吉文斯变换(Givens transformation)亦称平面旋转变换,数值代数的基本工具之一,它是一种正交变换,最常用的吉文斯变换是使变换后的向量的某个分量。
设则变换
或是平面上向量的一个旋转变换,其中
为正交矩阵,中的变换,其中
称为中平面的旋转变换,也称为平面旋转矩阵。
原图:
旋转60度:
旋转90度:
旋转180度:
旋转270度
代码
function H = hand
H = [3.15 -9.00
4.43 -6.55
6.13 -4.39
7.65 -2.21
7.52 -1.26
6.75 -0.95
5.60 -1.56
4.45 -2.85
3.07 -3.00
2.60 -1.70
2.73 0.59
3.22 3.66
3.39 6.79
2.84 7.92
2.10 7.41
1.48 4.25
0.68 0.79
0.81 4.96
0.66 8.36
-0.33 9.06
-0.99 8.09
-1.04 4.68
-1.17 0.90
-1.81 4.15
-2.63 7.45
-3.39 7.80
-3.86 6.97
-3.49 3.35
-3.13 -0.44
-4.78 1.87
-6.00 3.81
-6.95 3.92
-7.12 3.04
-5.82 -0.07
-4.76 -2.29
-4.52 -5.62
-4.00 -9.00]';
function dot2dot(X)
X(:,end+1) = X(:,1);%首尾相连接
t=input('请输入夹角');
%吉文斯矩阵
G=[cos(t),-sin(t);sin(t),cos(t)];
X=G*X;
plot(X(1,:),X(2,:),'.-','markersize',18,'linewidth',2)
axis(10*[-1 1 -1 1])
axis square
使用方法:
有问题可以联系小编QQ:2377389590
上一篇: 如果女人总是一往情深,遇见了要知道珍惜
下一篇: 用proxy实现mysql的读写分离
推荐阅读