2
나는 파이썬으로 게임을 만들고있다. (파이썬을 그 과정에서 가르치고있다.) 그리고 나는 진자 함수를 추가하려하고있다. 그러나 진자를 만들기 전에 진자 함수 나 프로그래밍 된 코드를 프로그래밍하지 않았다. . 그래서 너희들이 나를 도와 줄 수 있기를 바래. 파이썬에서 진자 함수를 정확히 만드는 방법은 무엇입니까?어떻게 파이썬에서 진자 효과를 프로그래밍 할 수 있습니까?
나는 파이썬으로 게임을 만들고있다. (파이썬을 그 과정에서 가르치고있다.) 그리고 나는 진자 함수를 추가하려하고있다. 그러나 진자를 만들기 전에 진자 함수 나 프로그래밍 된 코드를 프로그래밍하지 않았다. . 그래서 너희들이 나를 도와 줄 수 있기를 바래. 파이썬에서 진자 함수를 정확히 만드는 방법은 무엇입니까?어떻게 파이썬에서 진자 효과를 프로그래밍 할 수 있습니까?
진자 함수를 만들려고한다고해서 알고리즘이 필요하다고 가정합니다. 약간의 검색 후, 난 당신을 위해 작동 할 수 있습니다 뭔가를 발견
#!/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')
당신이 더 정확하게 조금 원하는 것을 설명 할 수 있습니까? 규칙적으로 앞뒤로 움직이는 것을 원하십니까? 아니면 다른 물체와 상호 작용하기를 원하십니까? –
내가 원하는 것은 플레이어의 기세와 중력에 영향을받는 마찰을 가진 진자입니다. – IronGiraffe
예를 들어 진자가 그 낮은 안정 지점 주변의 낮은 각도로 뒤집혀 있거나 머무를 수있는 경우와 같이 실제 상황에 얼마나 가까운 지에 따라 약간 다릅니다. 아마도 http://scienceworld.wolfram.com/physics/Pendulum.html과 같은 것을 읽으면 약간 도움이 될 것입니다. – schlenk