第一种方法:
# coding=gbk
import numpy as np
import matplotlib.pyplot as plt
# 爱心参数方程(经典公式)
t = np.linspace(0, 2*np.pi, 1000)
x = 16 * np.sin(t)**3
y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)
# 绘制爱心
plt.figure(figsize=(8, 8))
plt.plot(x, y, color='red', linewidth=3)
plt.fill(x, y, 'red', alpha=0.6) # 填充颜色
plt.axis('equal') # 保持比例
plt.axis('off') # 隐藏坐标轴
plt.title('Python Love', fontsize=20)
plt.show()
结果:
第二种方法:
# coding=gbk from turtle import * # 设置画布和画笔 speed(10) bgcolor("black") pensize(3) color("red", "pink") # 绘制爱心 begin_fill() left(140) forward(224) for _ in range(200): right(1) forward(2) left(120) for _ in range(200): right(1) forward(2) forward(224) end_fill() hideturtle() done()结果:
可视化绘制过程
第三种方法:
import plotly.graph_objects as go import numpy as np u, v = np.mgrid[0:2*np.pi:100j, 0:np.pi:100j] x = 16*np.sin(u)**3 * np.sin(v) y = (13*np.cos(u)-5*np.cos(2*u)-2*np.cos(3*u)-np.cos(4*u)) * np.sin(v) z = (13*np.cos(u)-5*np.cos(2*u)-2*np.cos(3*u)-np.cos(4*u)) * np.cos(v) fig = go.Figure(data=[go.Surface(x=x, y=y, z=z, colorscale='Reds')]) fig.show()
结果:
三维爱心