博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
就算会用python画颗心,可你依然还是只单身狗
阅读量:6841 次
发布时间:2019-06-26

本文共 821 字,大约阅读时间需要 2 分钟。

heart1.png

:) 标题是开玩笑的,千万别认真。

随着AI的飞速发展,有志于此行的码农也是急剧的增加,带来的就是大家对算法、数学的兴趣也格外升高。

本文的来历是这样,今天某老同事在朋友圈发了一张屏拍,求公式。
heart0.jpeg
看了一下还是难度不大,上半部分基本是两个半圆,下半部分是两个旋转了的反余弦函数。
不过我的数学也比较渣,看到这个步骤后面也就倒腾不清了,不过到这种程度在互联网上搜一搜找到答案还是不难的,很快就找到了正确的公式(以y=0为界限,肯定是需要两组解):

\[ y = \sqrt{1-(\left| x \right|-1)^2}, arccos(1-\left| x \right|)-\pi \]

否则只是搜心形函数,肯定会得到一大票各式各样,但不吻合题意的图片,比如:
timg?image&quality=80&size=b9999_10000&sec=1526750623357&di=8b18bef5ed15eb5c28180013e1b09c56&imgtype=0&src=http%3A%2F%2Fimg5.duitang.com%2Fuploads%2Fitem%2F201406%2F16%2F20140616214851_JsMwt.jpeg

验证这个公式用mathmatic最方便,不过刚换了电脑,刚好没装。

最近在做python3方面的事情,5分钟用python3写了一个验证程式,源码附上:

#!/usr/bin/env python3import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-2, 2, 200) y1 = np.sqrt(1-np.square(np.fabs(x)-1))y2 = np.arccos(1-np.fabs(x))-np.piplt.plot(x, y1, 'r',x,y2,'r') plt.axis([-2.5, 2.5, -3.5, 1.5])plt.title('Heart of numbers, By @andrew', fontsize=16)plt.show()

绘制的结果就是题头图。

程序用到了matplotlib和numpy两个库,运行前需要先用pip3安装一下。

参考资料

转载于:https://www.cnblogs.com/andrewwang/p/9061942.html

你可能感兴趣的文章
有米平台上最赚钱的应用是怎样使用积分墙的?
查看>>
微软MCITP系列课程(三)本地用户与组账户的管理
查看>>
使用 StateServer 保存 Session 解决 Session过期,登陆过期问题。
查看>>
ubuntu 10.04.2本机 部署给力百货全过程20110530
查看>>
AutoVBA获取基本图元对象
查看>>
不用服务器也能跑的框架-wojilu-续篇
查看>>
Ubuntu 11.04 x64 下安装Python
查看>>
如果利用xjplugin编写基于web的应用系统
查看>>
ExpandableListActivity的使用
查看>>
C#, XML中有中文加载出错问题的处理
查看>>
Java那些事之正则表达式
查看>>
SQL Server T-SQL高级查询
查看>>
JSON在PHP中的应用
查看>>
判断是否联网
查看>>
私有化构造方法
查看>>
HDU 2802 找单词
查看>>
Wordpress XML-RPC协议说明
查看>>
比如取得一个div得innerHTML
查看>>
网站DIV+css弹性+固宽布局案例
查看>>
开发者需知:优秀程序设计的18大原则
查看>>