首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python中编写钟摆效果?

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

Stack Overflow用户
提问于 2011-04-06 13:12:49
回答 1查看 1.9K关注 0票数 2

我正在用Python做一个游戏(在这个过程中自学Python ),我试图添加一个钟摆函数,但我从来没有编写过一个钟摆函数,甚至没有见过成功创建一个钟摆的代码。所以我希望你们能帮帮我。我如何在Python中创建一个钟摆函数?

EN

回答 1

Stack Overflow用户

发布于 2011-04-06 13:20:53

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

代码语言:javascript
复制
#!/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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5561732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档