gpt4 book ai didi

python - 使用 matplotlib 的 3D 动画显示围绕固定点旋转的物体

转载 作者:行者123 更新时间:2023-11-30 23:35:43 25 4
gpt4 key购买 nike

我最近开始使用Python。目前我正在研究一个模拟二进制启动围绕中心运动的项目。

我想用围绕固定中心旋转的球体来表示起点。我将 x、y、z 值存储在三个不同的列表中。

我在互联网上查了很多资料,但找不到任何帮助。我成功地以 2D 方式模拟了它,但我想要它的 3D 版本。

我在 Python 中使用 matplotlib。

任何帮助将不胜感激。

替代可能性:我可以为 x、y 和 z 的每个值获取单独的图,以便我可以缝合它们并制作动画吗?我的主要问题是,如何用球体表示每个 (x, y, z) 点?

最佳答案

<强> VPython 非常适合这种类型的可视化。例如,要获得 3D 球体,您只需使用命令 sphere(pos=(1,2,3)) ,动画 super 简单。 VPython 基本上是为您正在讨论的可视化类型而设计的,并且它将运行得很快,而在 matplotlib 中,您必须从球体方程开始,并且它会运行得很慢。

这是一个简单的动画,显示球在盘子上弹跳 ( source ):

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

ball, rendered in a visual python window

在评论中,其他人推荐了 VTK(或 MayaVi,这是 VTK 的一个很好的包装)。 VTK 可以很好地工作,但更难学习。我将使用 VTK 进行复杂的 3D 视觉数据探索,但对于您的问题来说,这太过分了。

关于python - 使用 matplotlib 的 3D 动画显示围绕固定点旋转的物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17101643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com