我正在创建一个地球和卫星在轨道上的模拟,并试图使其遵循物理规则,但不知道如何将各种变量与时间相结合。我尝试了一些东西,但觉得这是错的。完整的代码很大,所以它的一部分是:
tend=time.time()
startTime=time.time()
#loop starts here
t = time.time() - tend
r = (x**(2) + y**(2))**(1/2)
if r>6371000:
g = -((6.67408*10**(-11))*(5.972*10**(24)))/(r**(2))
else:
g = -((6.67408*10**(-11))*(5.972*10**(24))*r)/((6371000)**(3))
gx = g*x/r
gy = g*y/r
vx += gx*t
vy += gy*t
x += vx*t
y += vy*t
tend=time.time()
所以基本上我所做的就是把dt元素(通常在物理学中使用)等于处理我的代码的一个循环所花费的时间。此外,这是pygame中的图形模拟,但如果您认为有一些其他模块可以更好地完成显示工作,请告诉您。