summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/main.rs b/src/main.rs
deleted file mode 100644
index 0b5704b..0000000
--- a/src/main.rs
+++ /dev/null
@@ -1,59 +0,0 @@
-use std::path::PathBuf;
-
-use force::{drag::Drag, gravity::Gravity};
-use particle_system::{Particle, ParticleSystem, Point, Vector};
-use ppm::PPM;
-use solver::Solver;
-
-mod constraint;
-mod particle_system;
-mod ppm;
-mod solver;
-mod force;
-mod algebra;
-
-fn main() {
- let ppm = PPM {
- width: 100,
- height: 200,
- prefix: PathBuf::from("./out"),
- };
-
- let dt = 0.01;
- let mut system = ParticleSystem {
- particles: vec![
- Particle::new(Point::origin(), 4.0),
- Particle::new(Point::new(-30.0, 0.0), 15.0),
- Particle::new(Point::new(20.0, 0.0), 30.0),
- Particle::new(Point::new(5.0, 20.0), 50.0),
- ],
- constraints: vec![],
- forces: vec![
- Box::new(Gravity {
- vector: Vector::y() * -9.8,
- }),
- Box::new(Drag { coefficient: 0.0 }),
- ],
- t: 0.0,
- };
-
- system.add_anchor_constraint(0);
- system.add_beam_constraint([0, 2]);
- system.add_beam_constraint([1, 2]);
- system.add_beam_constraint([1, 3]);
- system.add_beam_constraint([2, 3]);
-
- for i in 0..150_00 {
- system.apply_forces();
-
- if i % 10 == 0 {
- println!("Iteration #{i}");
- println!("{:#?}", system.particles);
- ppm.save_frame(&system.particles, system.t);
- }
-
- system.enforce_constraints(dt);
-
- system.step(dt);
- }
-}