文章来源于我的B站专栏:

MATLAB实现钟表?

www.bilibili.com
图标

GIF:最终效果

整个实现的是在figure内直接通过line、text、circle绘制表盘、刻度、数字、指针(时针、分针、秒针)。

这里用到了上期的平面坐标旋转操作,这样可以非常简单的实现刻度、数字、指针的排版。

chang an:【MATLAB】二维坐标旋转?

zhuanlan.zhihu.com
图标

关键的点就是H、M、S与指针的对应关系要明确:

  • AngleOfHoursPointer = -30 * Hours - Minutes * (30/60);
  • AngleOfMinutesPointer = -Minutes * (360/60) - Seconds*(5/60);
  • AngleOfSecondsPointer = -Seconds * (360/60);

但是由于是直接绘制在figure内,速度会很慢。但这只是figure的绘图的方法问题,之前做撞球辅助(相册)时就遇到过,后来发现很容易解决。(很遗憾由于时间比较紧所以撞球辅助在改进到绘图满问题解决后没有继续下去,以后有时间再说吧,架构也不好要重写)这里我就偷点懒不做了,毕竟目的不在于此。

单个循环的时间

具体来说就是set(handle,Cdata,frame);快到飞起!这里有个播放BadApple的Demo:

960*720像素
帧率虽不稳定但平均40多帧还是可以的,所以做个视频播放器(MATLAB版)还是很轻松的

最后附上代码:pan.baidu.com/s/19ueoLg 提取码: 4rg5

推荐阅读:

相关文章