我试着学习python,这样我就可以玩数学了。我一直在尝试用最小的物理量来实现一个非常简单的弹跳物体的模拟,但它似乎不能正常工作。计算应该给我一个波形图,但由于某些原因,数字一直在减少。这是Python中发生的某种数学工件吗?从我的理解来看,数字没有理由减少,因为我只使用非常琐碎的算术。你知道吗
import sys, pygame
velocity = 0
acceleration = 0.1
ycord = 50
while 1:
pygame.time.Clock().tick(10)
velocity -= acceleration
ycord += velocity
if ycord <= 0:
velocity *= -1
print (ycord)
这是因为速度只有在
ycord
变为负值后才反转。 要改变这种行为,你必须计算ycord为零时的速度并改变符号。 或者简单地说,选择一个更好的起跑点ycord
,这样球就刚好到达0并且永远不会进入负范围。 我想如果你把你最初的ycord改成52.8,你会看到不同。你知道吗在物理学方面,你在模拟一个阻尼效应,因为球在从负
ycord
到0的过程中会失去能量。所以当ycord变为零时,它开始的速度比它过零时的速度小。你知道吗相关问题 更多 >
编程相关推荐