VPython非常适合这种类型的可视化。例如,要获得一个 3D 球体,您只需使用命令sphere(pos=(1,2,3))
,动画就超级简单。VPython 基本上是为您正在谈论的可视化类型而设计的,它会运行得很快,而在 matplotlib 中,您必须从球体的方程开始,它会运行得很慢。
这是一个简单的动画,显示了一个球在盘子上弹跳(来源):
from visual import *
floor = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)
ball = sphere (pos=(0,4,0), radius=1, color=color.red)
ball.velocity = vector(0,-1,0)
dt = 0.01
while 1:
rate (100)
ball.pos = ball.pos + ball.velocity*dt
if ball.y < ball.radius:
ball.velocity.y = abs(ball.velocity.y)
else:
ball.velocity.y = ball.velocity.y - 9.8*dt
在评论中,其他人推荐了 VTK(或 MayaVi,它是 VTK 的一个很好的包装器)。VTK 可以很好地工作,但学习起来要困难得多。我将使用 VTK 进行复杂的 3D 可视化数据探索,但对于您的问题,这太过分了。