0.
首先讲一个美丽的故事:
1649年,斯德哥尔摩的街头,52岁的笛卡尔邂逅了18岁的瑞典公主克里斯汀。几天后,他意外的接到通知,国王聘请他做小公主的数学老师。跟随前来通知的侍卫一起来到皇宫,他见到了在街头偶遇的女孩子。从此,他当上了小公主的数学老师。
小公主的数学在笛卡尔的悉心指导下突飞猛进,笛卡尔向她介绍了自己研究的新领域–直角坐标系。每天形影不离的相处使他们彼此产生爱慕之心,公主的父亲国王知道了后勃然大怒,下令将笛卡尔处死,小公主克里斯汀苦苦哀求后,国王将其流放回法国,克里斯汀公主也被父亲软禁起来。
笛卡尔回法国后不久便染上重病,他日日给公主写信,因被国王拦截,克里斯汀一直没收到笛卡尔的信。笛卡尔在给克里斯汀寄出第十三封信后就气绝身亡了,这第十三封信内容只有短短的一个公式:r=a(1-sinθ)。国王看不懂,觉得他们俩之间并不是总是说情话的,将全城的数学家召集到皇宫,但没有一个人能解开,他不忍心看着心爱的女儿整日闷闷不乐,就把这封信交给一直闷闷不乐的克里斯汀。
公主看到后,立即明了恋人的意图,她马上着手把方程的图形画出来,看到图形,她开心极了,她知道恋人仍然爱着她,原来方程的图形是一颗心的形状。这也就是著名的”心形线”。
国王死后,克里斯汀登基,立即派人在欧洲四处寻找心上人,无奈斯人已故,先她一步走了,徒留她孤零零在人间…
好了,相信大家已经看到这个心型线的极坐标公式了:
r=a(1-sinθ)
这是个极坐标公式,没关系,python也可以画极坐标图,但是得先装两个库:matplotlib和numpy。
1.极坐标图(看代码,看注释)
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(0, 2 * np.pi, 1024) # 角度范围 0-2*pi,划为1024等份
plt.axes(polar=True) # 开启极坐标模式
plt.plot(T, 1. - np.sin(T), color="r")
plt.show()
这是摘自下面这篇博文的6行代码,可以说很厉害了
https://blog.csdn.net/wireless_com/article/details/69817498
运行效果如下:
但是…总觉得这个爱心….有点像苹果,然后又找到了下面这张图
然后自己动手画了一下这个瘦一点的爱心
2.瘦一点的爱心
import matplotlib.pyplot as plt
import numpy as np
plt.title('heart', fontsize=24)
x = np.linspace(-1, 1, 200)
# 把函数分为上下两个部分
y1 = np.sqrt(1-np.power(x, 2)) + np.power(np.square(x), 0.33)
y2 = -np.sqrt(1-np.power(x, 2)) + np.power(np.square(x), 0.33)
# 设置一下x轴、y轴的刻度和坐标间距
# 不自己设置用自动的不好看
my_x_ticks = np.arange(-2, 2.5, 0.5)
my_y_ticks = np.arange(-2, 2.5, 0.5)
plt.plot(x, y1, color='r')
plt.plot(x, y2, color='r')
plt.xticks(my_x_ticks)
plt.yticks(my_y_ticks)
plt.show()
运行一下,效果如下: