public void CreateScenario(ParticleSystem a_ParticleSystem) { int max = 10; int max1 = max - 1; for (int i = 0; i < max; i++) { int y = i >= max / 2 ? 0 : 4; float x = i >= max / 2 ? 3 * (i - max / 2) - 6 : 3 * i - 6; createPendulum(a_ParticleSystem, x, y, .5f, i + 2); } Force f = new GravityForce(1f); a_ParticleSystem.AddForce(f); f = new ViscousDragForce(.05f); a_ParticleSystem.AddForce(f); }
public void CreateScenario(ParticleSystem a_ParticleSystem) { ViscousDragForce drag = new ViscousDragForce(0.1f); a_ParticleSystem.AddForce(drag); GravityForce gravity = new GravityForce(0.1f); a_ParticleSystem.AddForce(gravity); Particle p1 = new Particle(1f); p1.Position = new Vector2(-3f, 0f); a_ParticleSystem.AddParticle(p1); Particle p2 = new Particle(1f); p2.Position = new Vector2(3f, 0f); a_ParticleSystem.AddParticle(p2); HooksLawSpring spring1 = new HooksLawSpring(p1, p2, 3f, 10f, 10f); a_ParticleSystem.AddForce(spring1); }
public void CreateScenario(ParticleSystem a_ParticleSystem) { Particle particle1 = new Particle(1000f); particle1.Position = new Vector2(-2f, 0f); a_ParticleSystem.AddParticle(particle1); Particle particle2 = new Particle(1f); particle2.Position = new Vector2(0f, 5f); a_ParticleSystem.AddParticle(particle2); Particle particle3 = new Particle(1f); particle3.Position = new Vector2(4f, 4f); a_ParticleSystem.AddParticle(particle3); Force angleforce = new AngularSpringForce(particle2, particle1, particle3, Mathf.PI / 2, 1f, 0.1f); a_ParticleSystem.AddForce(angleforce); Force spring1 = new HooksLawSpring(particle1, particle2, 2, 1, .1f); Force spring2 = new HooksLawSpring(particle3, particle2, 2, 1, .1f); a_ParticleSystem.AddForce(spring1); a_ParticleSystem.AddForce(spring2); Force gravityForce = new GravityForce(.001f); a_ParticleSystem.AddForce(gravityForce); Particle p6 = new Particle(.5f); p6.Position = new Vector2(0, -4); a_ParticleSystem.AddParticle(p6); Particle p7 = new Particle(1); p7.Position = new Vector2(0, -5f); a_ParticleSystem.AddParticle(p7); new RodConstraint(p6, p7, a_ParticleSystem); Particle p5 = new Particle(500f); p5.Position = new Vector2(2, 2); a_ParticleSystem.AddParticle(p5); new CircularWireConstraint(p5, p5.Position + Vector2.right, a_ParticleSystem); Particle p8 = new Particle(0.5f); p8.Position = new Vector2(-3, -1); a_ParticleSystem.AddParticle(p8); new FixedPointConstraint(p8, a_ParticleSystem); Particle p9 = new Particle(.5f); p9.Position = new Vector2(-3, -2); a_ParticleSystem.AddParticle(p9); new HLineConstraint(p9, a_ParticleSystem); Particle p10 = new Particle(.5f); p10.Position = new Vector2(5, -2); a_ParticleSystem.AddParticle(p10); new VLineConstraint(p10, a_ParticleSystem); Particle q1 = new Particle(.5f); q1.Position = new Vector2(-3, 3); a_ParticleSystem.AddParticle(q1); new EllipticalWireConstraint(q1, q1.Position + new Vector2(1f, -.3f), q1.Position + new Vector2(-1f, -1f), a_ParticleSystem); Force dragForce = new ViscousDragForce(.2f); a_ParticleSystem.AddForce(dragForce); }