#Masses différentes for i in range(N): angle=random.uniform(0,2*pi) norme=random.gauss(0,0.1) x=random.uniform(rayon,taillex-rayon) y=random.uniform(rayon,tailley-rayon) vx=norme*cos(angle) vy=norme*sin(angle) mass=random.gauss(5,2) if mass<1e-3: mass=1e-3 #mass minimale m=Mass(1,[x,y],0,[vx,vy]) m.set_size(rayon*(mass)**(0.33)) randcolor=(random.randint(0,255),random.randint(0,255),random.randint(0,255)) m.form.color=randcolor while check_collision(monde,m): x=random.uniform(rayon,taillex-rayon) y=random.uniform(rayon,tailley-rayon) m.OM=pygame.math.Vector2((x,y)) monde.add_Mass(m) monde.disable_gravity() appli=App() appli.add_World(monde) appli.set_speed(0.125) appli.run() quit()
g = 9.81 m1 = Mass(1, [2, 5]) m1.form.R = 0.05 m2 = Mass(2, [3, 6], 0, [0, -0.5]) m2.form.R = 0.1 m2.form.color = (40, 128, 50) m3 = Mass(3, [4, 6], 0, [0, 1.5]) m3.form.R = 0.1 m3.form.color = (255, 0, 128) l = LinkSpring(m1, m2, 100, 0.8) dist = norm(m1.OM - m3.OM) l = LinkSpring(m1, m3, 1, dist) dist = norm(m2.OM - m3.OM) l = LinkRigid(m2, m3) monde = World(6, 9) #monde.g=0.1 monde.add_Mass(m1) monde.add_Mass(m2) monde.add_Mass(m3) app = App() app.add_World(monde) app.set_speed(0.125) app.run() quit()