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

Posted 月色的流浪空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了就算会用python画颗心,可你依然还是只单身狗相关的知识,希望对你有一定的参考价值。

技术分享图片

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

随着AI的飞速发展,有志于此行的码农也是急剧的增加,带来的就是大家对算法、数学的兴趣也格外升高。
本文的来历是这样,今天某老同事在朋友圈发了一张屏拍,求公式。
技术分享图片
看了一下还是难度不大,上半部分基本是两个半圆,下半部分是两个旋转了的反余弦函数。
不过我的数学也比较渣,看到这个步骤后面也就倒腾不清了,不过到这种程度在互联网上搜一搜找到答案还是不难的,很快就找到了正确的公式(以y=0为界限,肯定是需要两组解):


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


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

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

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

#!/usr/bin/env python3

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
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













以上是关于就算会用python画颗心,可你依然还是只单身狗的主要内容,如果未能解决你的问题,请参考以下文章

ES6 你是懂了,可你真的会用了吗?(这10点,检验你是否中招了)

数位DP恨7不成妻

hdu-4507 吉哥系列故事——恨7不成妻

B - 吉哥系列故事——恨7不成妻

吉哥系列故事――恨7不成妻 HDU - 4507

HDU-4507-吉哥系列故事-恨7不成妻