matlab将图片旋转的代码_从零开始的matlab学习笔记——(27)图像旋转与动态图...

matlab应用——求极限,求导,求积分,解方程,函数绘图,三维图像,拟合函数....更多内容尽在个人专栏:matlab学习

昨天思考了一下,因为笔者的GUI只是刚刚入门,如果直接说的话也说不了多少东西,所以先挖个坑,我们还是继续学习一些基础内容

这一节我们聊聊图像的旋转和动态图的绘制

rotate函数:

rotate函数可以将函数图像进行一定的旋转处理

调用格式rotate(f,v,x)

三个参数,f是需要进行旋转的函数,v是一个一行三列的矩阵[x,y,z],矩阵中每个元素只有0 1两个取值,代表绕哪个轴旋转,x是旋转的角度

我们看一个例子:

t=linspace(0,10*pi,200);

x=sin(t)+t.*cos(t);

y=cos(t)-t.*sin(t);

z=t;

subplot(1,2,1)

plot3(x,y,z);

xlabel('x轴');

grid on;

subplot(1,2,2)

f=plot3(x,y,z)

rotate(f,[1 0 0],90)

xlabel('x轴');

grid on;

这个例子用的是之前我们绘制过的三维螺旋线,具体详见第21节

浅吻板牙:从零开始的matlab学习笔记——(21)三维曲线绘制​zhuanlan.zhihu.com
1363470655c25da11dd9ee0326e9ced7.png

我们把它以x轴旋转90度:

288ad7ac8c016858d9194775846c03a8.png

动态图:

动态图制作我们需要用到循环结构,不知道大家还记不记得:

浅吻板牙:从零开始的matlab学习笔记——(5)循环​zhuanlan.zhihu.com
1363470655c25da11dd9ee0326e9ced7.png

for i=a:dx:b

代码

pause(n)

end

我们再来看一个新函数pause

调用格式:pause(n)延迟n秒之后在进入下一个循环

来看一个例子:

t=linspace(0,10*pi,200);

x=sin(t)+t.*cos(t);

y=cos(t)-t.*sin(t);

z=t;

f=plot3(x,y,z);%注意这里用f存储一下函数

xlabel('x=sint+tcost');

ylabel('y=cost-tsint');

zlabel('z=t');

title('三维螺旋线');

axis([-50,50,-50,50,0,40])

grid on;

for i=0:360000

rotate(f,[0 0 1],1)

pause(0.003)

end

这个就是对之前的三维螺旋线进行不断的旋转,我们来看一下效果:

2538a1f3a852542f3c763dd5cb4fe529.png
https://www.zhihu.com/video/1209422442017746944

有点粗糙,不过大体上还是个动态的

这一节我们说了说图像的旋转以及用旋转来绘制冬天图像,下一节我们再说说图像切面的问题

欢迎喜欢的朋友点赞关注收藏啊:)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值