python弹性碰撞次数圆周率_Python中运动粒子之间的弹性碰撞:为什么动能不守恒?...

我试图在pygame中编写一个粒子模拟程序,但是在编写粒子之间的碰撞时遇到了困难。所有的碰撞都是弹性的,所以动能应该守恒。然而,我遇到了两个主要问题:粒子不断加速直到失去控制

粒子聚集在一起停止运动

我真的很感激任何有助于解决这些问题的见解。在

我用这个文件(http://www.vobarian.com/collisions/2dcollisions2.pdf)来帮助计算碰撞后粒子的新速度。所有粒子的质量都是一样的,所以我在计算中忽略了它们的质量。

以下是我目前为止的代码:import pygame

pygame.init()

import random

import numpy

HEIGHT = 500

WIDTH = 500

NUM_BALLS = 2

#setup

win = pygame.display.set_mode((WIDTH,HEIGHT))

pygame.display.set_caption("Simulation")

class Particle(object):

def __init__(self, x, y , radius):

self.x = x

self.y = y

self.radius = radius

self.xvel = random.randint(1,5)

self.yvel = random.randint(1,5)

def Draw_circle(self):

pygame.draw.circle(win, (255,0,0), (self.x, self.y), self.radius

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值