import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 莫比乌斯带的参数方程 def mobius_strip(u, v, a=1): x = (a + 0.5 * v * np.cos(u / 2)) * np.cos(u) y = (a + 0.5 * v * np.cos(u / 2)) * np.sin(u) z = 0.5 * v * np.sin(u / 2) return x, y, z # 创建u和v的参数网格 u = np.linspace(0, 4 * np.pi, 100) # 莫比乌斯带需要绕两圈 v = np.linspace(-1, 1, 10) # 带的宽度 u, v = np.meshgrid(u, v) u = u.flatten() v = v.flatten() # 计算莫比乌斯带上的点 x, y, z = mobius_strip(u, v) # 创建3D图形对象 fig = plt.figure(figsize=(8, 6)) ax = fig.add_subplot(111, projection='3d') # 绘制莫比乌斯带 ax.plot_surface(x.reshape(10, 100), y.reshape(10, 100), z.reshape(10, 100), rstride=1, cstride=1, color='b', edgecolors='k', linewidth=0.25) # 设置坐标轴标签 ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') ax.axis('equal') # 显示图形 plt.show()
Python绘制莫比乌斯带
最新推荐文章于 2025-04-21 16:38:20 发布