2021-520程序员的浪漫_Python
2021-05-20 本文已影响0人
Justin小贾同学
笛卡尔心形线_一个浪漫又悲情的爱情故事
笛卡尔是法国著名的哲学家,数学家和科学家。笛卡尔心形函数来自于一个美丽的爱情传说。相传笛卡尔落魄在瑞典之时,被瑞典王国一位喜欢数学的公主所欣赏,把他请进了王宫当老师,他们在研究数学的世界中日久生情,国王知道后,大发雷霆要处死笛卡尔。公主百般求情,笛卡尔被驱逐回法国,不久得了黑死病,他给公主写了13封信,公主收到了,信上面有一个方程:r=a(1-sinθ),画出来的就是一个心形线。他用一生至爱的方程告诉他爱她,这也是被人们所认为的最美的表达爱情的公式,被世人称为笛卡尔心形线。
一、陪伴
又是一年520,距离2014年06月25日已经过去2521天了。
7年的陪伴,7年的吵吵闹闹。
亲,一路走来,感谢你的支持与陪伴。
I love three things in the world, Sun for day, moon for night and you forever
====================================================华丽的分割线====================================================
吾以笛卡尔心形线表心意
二、笛卡尔心形线
我们先来看看长什么样
笛卡尔心形线emememm,这个爱心胖胖的。
python代码如下
import numpy as np
import matplotlib.pyplot as plt
## x=a*(2*cos(t)-cos(2*t))
## y=a*(2*sin(t)-sin(2*t))
a = 1
t = np.linspace(0 , 2 * np.pi, 1024) # 等差数列 0-2pai分成1024像素
X = a*(2*np.cos(t)-np.cos(2*t))
Y = a*(2*np.sin(t)-np.sin(2*t))
plt.plot(Y, X,color='red')
plt.show()
三、再画一个爱心
you are my heartpython代码如下
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as ma
x = np.linspace(-1.81,1.81,1000)
plt.axis('off')#不显示坐标轴
plt.xlim(x.min()*1.2,x.max()*1.2)
ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['left'].set_position(('data',0))
ax.spines['bottom'].set_position(('data',0))
def update(y):
plt.plot(x,y,color='red')
plt.plot(-x,y,color='red')
def generator():
a = 0 #可改变a的大小来改变生成心的速度
i = 0.01
count = 0
while True:
y = x**(2/3.1) + np.sqrt(0.8*(3.3-x**2))*np.sin(a*np.pi*x)
yield y
a += i
count += 1
if count > 100 and count < 500:
i += 0.05
if count > 500:
i += 0.2
anim = ma.FuncAnimation(plt.gcf(),update,generator,interval=5)
plt.show()
结语
愿天下有情人终成眷属!