用python画心形函数,属于数学家的浪漫~

今天在微博上看到了一个动态的心形波浪,感觉挺有意思了。然后在网上查了查,了解到了笛卡尔心形函数,及其美丽的童话故事,所以打算用python画一画,玩一下。

下面这个是我在微博上看到的心形波浪。

首先

import numpy as np
from matplotlib import pyplot as plt
import math

pi = math.pi

然后

x = np.linspace(-3.3**0.5, 3.3**0.5, 6001).reshape(-1,1)
y = (x**2)**(1/3) + 0.9*np.sqrt(3.3 - x**2)*np.sin(40*pi*x)

plt.plot(x,y,color = 'r')
plt.xlim(-3,3)
# plt.savefig('心形波浪')
plt.show()

显示

心形波浪

下面这个是笛卡尔心形函数

X = np.linspace(0, 2*pi, 500)

x = 2 * np.sin(X) - np.sin(2 * X)
y = 2 * np.cos(X) - np.cos(2 * X) 

plt.plot(x, y,color = 'r')
plt.xlim(-5,5)
# plt.savefig('笛卡尔心形函数')
plt.show()

显示(相比于心,感觉更像马蹄哈哈)

笛卡尔心形函数

上面这两个都不是太理想,又查了查,找到了下面两个,更好看一些。

x = np.linspace(-2, 2, 401)

plt.plot(x, np.sqrt(1-(np.abs(x)-1)*(np.abs(x)-1)), color = 'r')
plt.plot(x, np.arccos(1-np.abs(x))-pi, color = 'r')
plt.xlim(-3,3)
# plt.savefig('两段式心形函数')
plt.show()

两段式心形函数

X=np.linspace(-6,6,1201)
x=16*(np.sin(X))**3
y=13*np.cos(X)-5*np.cos(2*X)-2*np.cos(3*X)-np.cos(4*X)

plt.plot(x, y, color = 'r')
plt.xlim(-22,22)
# plt.savefig('心形函数')
plt.show()

心形函数

我觉得最后这个最好看了

还有几个我不会画,等哪天会了再更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章