中科大钢铁直男教你如何说爱

每当提到程序猿,总会觉得是一种傻傻的,呆呆的,萌萌的生物。他们靠代码为生,每天蹲在一个四方形的盒子面前,不知道在敲着一些什么乱七八糟的五颜六色的字符。于是,就有了这幅图。

虽然大部分的程序猿只能依靠new着对象来度过一个人的生活,但是还是有些程序猿幸运地遇到了属于自己的宇宙无敌聪明帅气的小可爱。那么作为一只傻呆萌的特殊生物,该如何向自己爱着的她表达深深的爱意呢?

送你一颗小心心

工具:Python+Turtle

说明:Turtle库是Python语言中内置的一个非常流行的简单的图像绘制的库,由Python2.6版本后引入。利用Turtle可以绘制各种有意思的图像,尤其适合画图给小朋友。

我们要用到的Turtle库的方法有:

代码该如何实现呢?我们来思考一番:首先从原点出发,按照逆时针方向先斜着向左上走一段直线距离;然后接着逆时针走一个弧形;到达原点同一竖线方向上时,接着再来一个弧形;最后再走一段直线距离,进行颜色的填充。

代码实现:

让我们一起来欣赏下最终的绘制效果:

际上,整个绘制过程是动态逐步完成的,大家可以自己试下呢。

再送一颗小心心

程序猿的数学能力可都不是很差的,写的了代码,也刷的了数学试题。于是程序猿们也可以利用数学的知识来绘制一颗小心心呢!

工具:Python+matplotlib+numpy

说明:matplotlib是Python的第三方的二维的图形绘制库,可以用来绘制高质量的图形,通过matplotlib,仅需要几行代码,就可以生成各种图形,如直方图,功率谱,条形图,错误图,散点图等;而numpy是Python的第三方的科学计算包,可以用来存储和处理矩阵的计算,提供可高精度的数值计算库。

我们要用到的绘制心形的公式如下:

接下来让我们一起实现绘制的代码:

绘制的效果如下所示:

实际上,不单单是上面的公式可以绘制呢。利用不同的数学公式,我们可以绘制不同的小心心呢!

还有一颗小心心

前面我们绘制的小心心都是二维的,是不是觉得二维的小心心不能充分表达自己的爱意呢?那么如何送出一颗三维的小心心呢?同样的,我们可以借助数学的魅力。

工具:Python+matplotlib+numpy+mpl_toolkits

说明:这里我们比前面多使用了mpl_toolkits包,用于绘制三维的图形。

我们要用到的数学公式如下:

然后我们从

“https://stackoverflow.com/questions/4478078/how-to-draw-a-heart-with-pylab”得到了实现的代码:

最后运行上面的代码,效果如下图所示:

这里总共给出了三个绘制小心心的方式,大家可以在此基础上修改代码,进一步完善自己的心意,比如去除坐标系,添加一些文本信息。

除了心,还有爱

作为一只程序猿,如果遇到了她,就不能再沉迷代码不可自拔了。爱是最长久的陪伴,放下手里的代码,去陪陪她,才是最好的表达爱的方式!

最后,小编给出一些其它的关于画小心心的方法的链接,大家可以参考:

1.http://www.mathematische-basteleien.de/heart.htm

编辑:蜗壳小肥、马宁馨

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806G0PZUF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券