用python画个3D中秋月饼
时间: 2024-09-16 18:06:14 浏览: 50
在Python中,我们可以使用matplotlib库中的mpl_toolkits模块下的mplot3d功能来绘制3D图形,比如月饼。这里我会提供一个简单的例子,展示如何用伪3D的方式来创建一个看起来像月饼的形状。请注意,这并不是真正的3D渲染,但可以作为一个有趣的视觉效果。
```python
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import numpy as np
# 创建月饼数据
def create_mooncake():
radius = 0.5
x, y = np.mgrid[-radius:radius:.01, -radius:radius:.01]
z = np.sin(np.sqrt(x**2 + y**2)) * np.exp(-(x**2 + y**2) / (2 * radius**2))
return x, y, z
# 绘制月饼
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x, y, z = create_mooncake()
faces = [[0, 1, 2, 3], [4, 7, 6, 5], [8, 9, 10, 11], [12, 15, 14, 13]]
mooncake = Poly3DCollection([z.reshape(-1, 4)], alpha=0.5)
mooncake.set_facecolor('yellow') # 面团颜色
mooncake.set_edgecolor('black') # 边框颜色
ax.add_collection3d(mooncake, zs=[0], zdir='y')
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.set_zlabel('Z轴')
ax.set_xlim([-1, 1])
ax.set_ylim([-1, 1])
ax.set_zlim([0, 1])
plt.show()