from simphys.links import LinkCsteF, LinkRigid, LinkSpring from simphys.world import World from simphys.app import App g = 9.81 monde = World(10, 10) # m1=Mass(0.01,[6,6.5]) # m2=Mass(0.01,[5,5]) m2 = Mass(1, [6.5, 5]) m3 = Mass(1, [6.5, 4]) m4 = Mass(1, [7, 4], 0, [-10, 0]) m4.form.color = (0, 128, 255) # t12=LinkRigid(m1,m2) t23 = LinkRigid(m2, m3) # t31=LinkRigid(m3,m1) # monde.add_Mass(m1) monde.add_Mass(m2) monde.add_Mass(m3) monde.add_Mass(m4) monde.save_state() newworld = World() newworld.load_dico(monde.dico) appli = App() appli.add_World(newworld) appli.set_speed(0.125) appli.run()
#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()