public KinematicsSystem Initialize(Size area) { screenArea = area; ParticleGenerator generator = new ParticleGenerator(); system = new KinematicsSystem(); system.AddParticles(generator.Generate(particleCount, new Vector2(screenArea.Width / 2, 100), Vector2.Zero)); system.AddForceField(new ConstantGravityField()); system.AddConstraints(new RectangleBoundaryConstraint(new Rectangle(Point.Zero, area))); return(system); }
public KinematicsSystem Initialize(Size area) { screenArea = area; ParticleGenerator generator = new ParticleGenerator(); system = new KinematicsSystem(); system.AddParticles(generator.Generate(particleCount, i => new Vector2(50 + 200 * i, 200), i => Vector2.Zero)); system.AddConstraints(new TwoBodyConstraint(new CollisionConstraint(), new AllPairs())); system.Particles.First().Velocity.X = 100; return(system); }