用python做一个表白软件手机版_用python写一个5.20的表白小程序吧

本文讲述了如何使用Python和matplotlib库绘制一个基于笛卡尔心形公曲线的图像,以此作为520表白的创意方式。通过代码示例,展示了如何生成心形图案,并提供了通过更改颜色映射来自定义图像的个性化选项,例如使用'spring'和'magma'等颜色主题。文章还提及了这个数学公式的背后故事,以及它作为表白神器的可能性。
摘要由CSDN通过智能技术生成

(这两天老用matplotlib画那种很严肃的论文图,实在是很想偷偷画点儿别的放松下。)

恰好今天520,发现一个很美的数学公式。

这样的公式始祖来源于数学家笛卡尔的心形公曲线。而这背后是一个凄美的爱情故事:

数学家笛卡尔成为了瑞典公主的数学教师,笛卡尔把他最新的研究——直角坐标系,教给了聪慧的公主,代数和几何的完美结合,这也就是笛卡尔日后创立的解析几何的雏形。

然而,他们的恋情传到了国王的耳朵里,国王大发雷霆要棒打鸳鸯,下令要将笛卡尔处死。公主苦苦哀求父王,国王才姑且将他放逐回国,公主却被软禁在深宫。

当时欧洲正在流行黑死病,身体孱弱的笛卡尔回法国不久,就染上重病。在生命进入倒计时的日子,朝思暮想、日夜思念公主,每天都给她写信,盼望着她的消息。这些信却都被国王半路拦截,郁郁寡欢的公主一封信也没收到。

笛卡尔用最后的真情写完13封信,寄出后他便与世长辞,告别了世界,告别了可爱的公主。

最后一封信上只有一个方程式:r=a(1-sinθ)。

国王看不懂,大家都认为这个方程里隐藏着不可告人的秘密,他召集全城的数学家,却无一人能解开这个方程之谜。国王看不到公主的笑脸,也是忧心忡忡,于是把这封信交给了她。拿到信的公主欣喜若狂,她找来纸和笔,就把方程图形画了出来……公主潸然泪下。

今天我们就应时应景地用另一个数学公式把它复现出来吧!

代码是这样的:

import numpy as np

import matplotlib.pyplot as plt

x_cords = np.linspace(- 100, 100, 500)

y_cords = np.linspace(- 100, 100, 500)

points = []

for y in y_cords:

for x in x_cords:

if ((x * 0.03) ** 2 + (y * 0.03) ** 2 - 1) ** 3 - (x * 0.03) ** 2 * (y * 0.03) ** 3 <= 0:

points.append({"x": x, "y": y})

heart_x = list(map(lambda point: point["x"], points))

heart_y = list(map(lambda point: point["y"], points))

plt.scatter(heart_x, heart_y, s=10, alpha=0.5, c=range(len(heart_x)), cmap="gist_rainbow")

plt.show()

运行结果嘛就是一开始那张图片。

嗯,也可以当表白神器用呢。

不过还没有完,因为我发现这段代码还可以个性化定制:

试试用下面这些英文单词替换倒数第二行代码中的 gist_rainbow

spring

summer

autumn

winter

ocean

rainbo

wmagma

cool

Reds

然后再运行一下

看看会有什么不一样?

我呢最喜欢spring和magma

你呢?

最后,放上我的最爱,spring:

运气都用来相遇

陪伴就成了奢侈

Anyway,520快乐!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值