我不熟悉matplotlib的动画,我正在尝试制作缩小椭球的动画
具体地说,我想为一个按比例收缩其轴的椭球设置动画(从数学上讲,我在寻找e^(-t)乘以每个轴的收缩因子,其中t是时间。)
我做了一个时间t的函数,输出一个静态椭球体,代码如下:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from mpl_toolkits.mplot3d import Axes3D
def param_surface(t):
fig = plt.figure(figsize = (10, 10))
ax = fig.add_subplot(111, projection='3d')
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = axis_a(4 * t / 50) * np.outer(np.cos(u), np.sin(v))
y = axis_a(4 * t / 50) * np.outer(np.sin(u), np.sin(v))
z = axis_b(4 * t / 50) * np.outer(np.ones(np.size(u)), np.cos(v))
return(ax.plot_surface(x, y, z, rstride = 4, cstride = 4))
我看过一些动画(比如这里的:https://pythonmatplotlibtips.blogspot.com/2018/11/animation-3d-surface-plot-funcanimation-matplotlib.html),它们可以让你制作三维绘图的动画,其中z被定义为x,y的函数。然而,在收缩椭球体的情况下,我需要使用球坐标,这使事情变得复杂
有人能解释一下我的代码要添加什么,才能从静态变为所需的收缩动画吗
目前没有回答
相关问题 更多 >
编程相关推荐