matlab二维平面内,坐标绕任意点旋转的代码
二维平面内坐标绕任意点旋转的matlab代码
·
clear;
clc;
n=10;
A=rand(2,n); %随机生成10组原始坐标
angleDeg=30; %旋转角度,30代表逆时针旋转30°
angleRad = deg2rad(angleDeg); %将角度从度转换为弧度
center=[1,2]; %旋转中心点
T=zeros(2,2); %平面内的坐标旋转矩阵
T(1,1)=cos(angleRad);
T(1,2)=-sin(angleRad);
T(2,1)=sin(angleRad);
T(2,2)=cos(angleRad);
% 计算旋转后的坐标
B=A; % 创建旋转后的坐标矩阵B
B(1,:)=B(1,:)-center(1,1); % 将旋转中心平移到旋转中心(即原点) ,所以x坐标也平移
B(2,:)=B(2,:)-center(1,2); % 将旋转中心平移到旋转中心(即原点) ,所以y坐标也平移
B=T*B; % 应用旋转矩阵
B(1,:)=B(1,:)+center(1,1); % 将旋转后的点平移回原来的位置
B(2,:)=B(2,:)+center(1,2); % 将旋转后的点平移回原来的位置
% B即为旋转后的坐标

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)