就算会用python画颗心,可你依然还是只单身狗

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

随着AI的飞速发展,有志于此行的码农也是急剧的增加,带来的就是大家对算法、数学的兴趣也格外升高。 本文的来历是这样,今天某老同事在朋友圈发了一张屏拍,求公式。

看了一下还是难度不大,上半部分基本是两个半圆,下半部分是两个旋转了的反余弦函数。 不过我的数学也比较渣,看到这个步骤后面也就倒腾不清了,不过到这种程度在互联网上搜一搜找到答案还是不难的,很快就找到了正确的公式(以y=0为界限,肯定是需要两组解):

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

否则只是搜心形函数,肯定会得到一大票各式各样,但不吻合题意的图片,比如:

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

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

#!/usr/bin/env python3

import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(-2, 2, 200) 
y1 = np.sqrt(1-np.square(np.fabs(x)-1))
y2 = np.arccos(1-np.fabs(x))-np.pi

plt.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.quora.com/What-is-the-equation-that-gives-you-a-heart-on-the-graph

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android开发实战

重磅实战:如何用TensorFlow在安卓设备上实现深度学习,附Demo和源码

对于个人和公司来说,存在许多状况是更希望在本地设备上做深度学习推断的:想象一下当你在旅行途中没有可靠的互联网链接时,或是要处理传输数据到云服务的隐私问题和延迟...

773
来自专栏量子位

谷歌终于推出TensorFlow Lite,实现在移动设备端部署AI

安妮 编译整理 量子位 出品 | 公众号 QbitAI 还得从半年前说起。 今年5月的谷歌I/O大会上,安卓工程副总裁Dave Burke宣布将推出一个专门为移...

2989
来自专栏AI科技评论

开发 | 谷歌发布TensorFlow 1.4版本:支持分布式训练,迎来三大新变化

e Developers blog正式撰文发布TensorFlow 1.4版本,此次的更新迎来三个重大变化:Keras位于TensorFlow core中,Da...

2743
来自专栏玉树芝兰

如何用 Python 和 gensim 调用中文词嵌入预训练模型?

利用 Python 和 Spacy 尝试过英文的词嵌入模型后,你是不是很想了解如何对中文词语做向量表达,让机器建模时捕捉更多语义信息呢?这份视频教程,会手把手教...

701
来自专栏企鹅号快讯

谷歌TensorFlowLite正式发布,机器学习框架向移动端大步挺进!

上个月,谷歌正式宣布推出针对移动设备和嵌入式设备的轻量级解决方案 TensorFlow Lite。而在此之前,今年 5 月份的谷歌 I/O 大会上他们已经对此进...

1857
来自专栏悦思悦读

【机器学习实践】水果图片分类

学习理论之外,自己寻找资源动手实践,在实际做项目中巩固了习得的理论知识,并进一步体会到了日常积累的重要性。

823
来自专栏机器之心

教程 | 使用Gym和CNN构建多智能体自动驾驶马里奥赛车

3876
来自专栏小白课代表

软件分享 | SPSS 22 32位/64位 安装教程

SPSS for Windows是一个组合式软件包,它集数据录入、整理、分析功能于一身。用户可以根据实际需要和计算机的功能选择模块,以降低对系统硬盘容量的要求,...

953
来自专栏量子位

从零开始学习神经网络 | 视频教程

允中 发自 凹非寺 量子位 出品 | 公众号 QbitAI 爱好人工智能的你,一定想理解和创建神经网络吧,对不对? 好吧,我默认你是这么想的。呐,我们发现了一个...

2867
来自专栏嵌入式程序猿

温故而知新

做嵌入式开发控制系统,应该经常会用到PID(比例,积分,微分,proportional,integral,derivative)算法,PID 控制器以各种形...

40113

扫码关注云+社区