考研党曾经受尽心形函数七十二变之苦
如今敢问在座各位对心形曲线方程还知多少呢?
下面一起来了解一下心形曲线的几种表达形式吧~
1.直角坐标方程
x 2 + y 2 + a x = a ∗ s q r t ( x 2 + y 2 ) x^2+y^2+ax=a*sqrt(x^2+y^2) x2+y2+ax=a∗sqrt(x2+y2)
2.极坐标方程
水 平 方 向 : r = a ( 1 − c o s θ ) 水平方向:r=a(1-cosθ) 水平方向:r=a(1−cosθ)
垂 直 方 向 : r = a ( 1 − s i n θ ) 垂直方向:r=a(1-sinθ) 垂直方向:r=a(1−sinθ)
3.参数方程
x = a ( 2 c o s ( t ) − c o s ( 2 t ) ) x=a(2cos(t)-cos(2t)) x=a(2cos(t)−cos(2t))
y = a ( 2 s i n ( t ) − s i n ( 2 t ) ) y=a(2sin(t)-sin(2t)) y=a(2sin(t)−sin(2t))
话不多说,码来到~
import numpy as np
import matplotlib.pyplot as plt
# 生成x坐标 -2到2范围 的 等差数列数组,数组元素一共1500个
x = np.linspace(-2, 2, 1500)
# 上半部分爱心函数线段
y1 = np.sqrt(1 - (np.abs(x) - 1) ** 2)
# 下半部分爱心函数线段
y2 = -3 * np.sqrt(1 - (np.abs(x) / 2) ** 0.5)
# fill_between是填充线段内部的颜色
plt.fill_between(x, y1, color='red')
plt.fill_between(x, y2, color='red')
# 控制x轴的范围
plt.xlim([-2.5, 2.5])
# 生成文本,指定文本位置 ,字体大小
plt.text(0, -0.4, 'I love you!', fontsize=30, fontweight='bold', color='yellow', horizontalalignment='center')
# 去除刻度
plt.axis('off')
plt.show()