#专访# 标签为IT之家在IT圈所设的采访栏目,旨在邀请创作者参与分享他们的经验与见解,并提供一个交流的窗口。
本期的专题为"WWDC20 学生开发者奖学金",学生开发者奖学金是每年 WWDC 的重头戏之一,目的是奖励有才华的学生,同时鼓励更多学生加入编程开发。
以下为本人受IT之家邀请所撰写的内容。
一、关于我
大家好,我是 iOS 开发者徐正科,(即将)毕业于北京信息科技大学。 在高中时期接触到了 iPhone 和 MacBook,其系统流畅性深深的吸引了我。进入大学,决定深入探索 iOS,就这样,我成了一名 iOS 开发者。很幸运,近期曾先后从事于腾讯-QQ音乐和字节跳动-西瓜视频团队。
二、作品
本次作品的灵感来自于小时候玩过的玩具--万花尺,也叫繁花曲线规。我们可以选择不同大小的齿轮,将画笔插入到齿轮上的某个孔,绕外齿轮旋转,即可绘制出规整的图案。齿轮的大小,圆孔的位置,都将决定图案的形状。
通过研究齿轮的转动规律,发现通过代码实现一个繁花曲线规并不难,只需要实时获取圆孔的位置,并将这些位置连接成线,就可以得到想要的图案。为了创作更多的可能性,项目中允许完全自定义齿轮的大小,以及圆孔距离齿轮中心的位置,并且可以通过打开绘制动画来预览齿轮的运动轨迹。
通过菜单,你可以选择外齿轮(外圆)半径,内齿轮(内圆)半径,圆孔位置,以及画笔的颜色。当设置好这一切以后,长按 Start 即可绘制。
通过多种不同的组合,可以拼出无数中可能的图案。
项目中并没有使用到复杂的数学公式,仅仅是通过三角函数去计算圆孔的位置。先根据外齿轮计算内齿轮的圆心位置,再使用同样的方式即可计算出圆孔的位置。通过简单的数学公式即可实现图中的效果,不得不感叹数学真的是太奇妙了!
三、关于比赛
由于近期忙于工作和毕业,项目虽然早已构思完成,但在比赛接近尾声的时候才完成开发:)。我认为 WWDC Swift Student Challenge 更加注重创意,可以让体验者能够尽快熟悉产品。后续参加比赛的同学,可以将作品的创意放在第一位,比赛从开始到结束提交,只有短短的几天,所以可以将项目化繁为简,突出项目的特色。
四、近期想法
近期在学习 iPhone 摄影,以及 Final Cut 剪辑视频: )
同时在计划学习 OpenGL ES 和 OpenCV, 想开发一款自己的相机应用。 当然,正如标题所言,还有很多好玩的点子等待我去实现,希望不久的将来可以给大家带来更多的优质作品。
作品Github: https://github.com/ixzk/Spirograph
Email: xzkjob@gmail.com