怎样用matlab将一个几何图形旋转,答对一定采纳

 我来答
宇逸ycl
2013-12-18 · TA获得超过4088个赞
知道大有可为答主
回答量:1589
采纳率:50%
帮助的人:1824万
展开全部

1.绕原点逆时针旋转任意角度θ

X=x*cos(θ)-y*sin(θ)

Y=x*sin(θ)+y*cos(θ)

2.绕任意点A(x0,y0)逆时针旋转任意角度θ

X=(x-x0)*cos(θ)-(y-y0)*sin(θ)+x0

Y=(x-x0)*sin(θ)+(y-y0)*cos(θ)+y0


示例:

x=[1 4 4 1 1];

y=[1 1 2 2 1];

plot(x,y,'b*-')                     %绘制一个矩阵

hold on

theta=pi/2;

x1=x*cos(theta)-y*sin(theta);

y1=x*sin(theta)+y*cos(theta);

plot(x1,y1,'r.:')                   %绕原点旋转90度

x2=(x-1)*cos(theta)-(y-1)*sin(theta)+1;

y2=(x-1)*sin(theta)+(y-1)*cos(theta)+1;

plot(x2,y2,'ko--')                %绕(1,1)点旋转90度

axis equal

line([-5 5],[0 0],'linestyle',':','color','k')

line([0 0],[-5 5],'linestyle',':','color','k')

axis([-5 5 -5 5])

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式