python - 如何在 Python 中编写钟摆效果?

标签 python pygame

我正在用 Python 制作游戏(在这个过程中自学 Python),我正在尝试添加一个钟摆函数,但我以前从未编写过钟摆函数,甚至从未见过成功创建一个钟摆函数的代码摆。所以我希望你们能在这里帮助我。我该如何在 Python 中创建一个钟摆函数?

最佳答案

我想你需要一个算法(因为你说你想创建一个钟摆函数)。经过一番搜索,我发现了一些可能对您有用的东西:

#!/usr/bin/env python

def pendulum(T, n, theta0, v0, alpha):
    """Return the motion (theta, v, t) of a pendulum."""
    dt = T/float(n)
    t = linspace(0, T, n+1)
    v = zeros(n+1)
    theta = zeros(n+1)
    v[0] = v0
    theta[0] = theta0
    for k in range(n):
        theta[k+1] = theta[k] + dt*v[k]
        v[k+1] = v[k] - alpha*dt*sin(theta[k+1])
    return theta, v, t

from scitools.std import *
try:
    n = int(sys.argv[1])
    T = eval(sys.argv[2])
    v0 = eval(sys.argv[3])
    theta0 = eval(sys.argv[4])
    alpha = eval(sys.argv[5])
except:
    print "usage:", sys.argv[0], "n T v0 theta0 alpha"
    sys.exit(1)

theta, v, t = pendulum(T, n, theta0, v0)
plot(t, v, xlabel='t', ylabel='velocity')
figure()
plot(t, theta, xlabel='t', ylabel='velocity')

来源:vefur.simula.no/intro-programming/src/ode/pendulum.py

关于python - 如何在 Python 中编写钟摆效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561732/

相关文章:

python - Flask RestPlus : how to catch all exceptions and output the original error

python - 类型错误 : 'int' object has no attribute '__getitem__'

python - pygame 横向卷轴平台游戏中奇怪的平台运动

python - 运行代码时为 "pygame.error: display Surface quit"

python - 使用 Python 2.X 的语言环境模块格式化数字和货币

python - 将列数据从 pandas df 传递到 Bokeh 绘图函数

python - PyQt5 正确放置

python - 按两者的最佳组合排序

python - 无法使用 gluSphere() 绘制到同一位置?

python - 在用 pygame 制作的游戏中实现菜单