import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
from mpl_toolkits.mplot3d import Axes3D
# 创建图形和3D坐标轴
fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111, projection='3d')
ax.set_axis_off() # 关闭坐标轴
# 生成球体的数据
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x
= 10 * np.
outer(np.
cos(u
), np.
sin(v
))y
= 10 * np.
outer(np.
sin(u
), np.
sin(v
))z
= 10 * np.
outer(np.
ones(np.
size(u
)), np.
cos(v
))
# 绘制球体表面
sphere = ax.plot_surface(x, y, z, color='lightblue', alpha=0.8)
# 设置初始视角
ax.view_init(elev=30, azim=30)
# 动画更新函数
def update(frame):
ax.view_init(elev=30, azim=frame)
return fig,
# 创建动画
ani = FuncAnimation(fig,
update,
frames=np.arange(0, 360, 1),
interval=50,
blit=False)
# 显示窗口
plt.show()
aW1wb3J0IG51bXB5IGFzIG5wCmltcG9ydCBtYXRwbG90bGliLnB5cGxvdCBhcyBwbHQKZnJvbSBtYXRwbG90bGliLmFuaW1hdGlvbiBpbXBvcnQgRnVuY0FuaW1hdGlvbgpmcm9tIG1wbF90b29sa2l0cy5tcGxvdDNkIGltcG9ydCBBeGVzM0QKCiMg5Yib5bu65Zu+5b2i5ZKMM0TlnZDmoIfovbQKZmlnID0gcGx0LmZpZ3VyZShmaWdzaXplPSg2LCA2KSkKYXggPSBmaWcuYWRkX3N1YnBsb3QoMTExLCBwcm9qZWN0aW9uPSczZCcpCmF4LnNldF9heGlzX29mZigpICAjIOWFs+mXreWdkOagh+i9tAoKIyDnlJ/miJDnkIPkvZPnmoTmlbDmja4KdSA9IG5wLmxpbnNwYWNlKDAsIDIgKiBucC5waSwgMTAwKQp2ID0gbnAubGluc3BhY2UoMCwgbnAucGksIDEwMCkKeCA9IDEwICogbnAub3V0ZXIobnAuY29zKHUpLCBucC5zaW4odikpCnkgPSAxMCAqIG5wLm91dGVyKG5wLnNpbih1KSwgbnAuc2luKHYpKQp6ID0gMTAgKiBucC5vdXRlcihucC5vbmVzKG5wLnNpemUodSkpLCBucC5jb3ModikpCgojIOe7mOWItueQg+S9k+ihqOmdogpzcGhlcmUgPSBheC5wbG90X3N1cmZhY2UoeCwgeSwgeiwgY29sb3I9J2xpZ2h0Ymx1ZScsIGFscGhhPTAuOCkKCiMg6K6+572u5Yid5aeL6KeG6KeSCmF4LnZpZXdfaW5pdChlbGV2PTMwLCBhemltPTMwKQoKIyDliqjnlLvmm7TmlrDlh73mlbAKZGVmIHVwZGF0ZShmcmFtZSk6CiAgICBheC52aWV3X2luaXQoZWxldj0zMCwgYXppbT1mcmFtZSkKICAgIHJldHVybiBmaWcsCgojIOWIm+W7uuWKqOeUuwphbmkgPSBGdW5jQW5pbWF0aW9uKGZpZywgCiAgICAgICAgICAgICAgICAgICB1cGRhdGUsIAogICAgICAgICAgICAgICAgICAgZnJhbWVzPW5wLmFyYW5nZSgwLCAzNjAsIDEpLAogICAgICAgICAgICAgICAgICAgaW50ZXJ2YWw9NTAsCiAgICAgICAgICAgICAgICAgICBibGl0PUZhbHNlKQoKIyDmmL7npLrnqpflj6MKcGx0LnNob3coKQo=