blob: fcf19c77058b5be8f712b1b45a53b968856b3aa8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
use particle_system::{Particle, ParticleSystem, Point, Vector};
mod particle_system;
fn main() {
let dt = 0.01;
let mut system = ParticleSystem {
particles: vec![Particle::new(Point::origin(), 1.0)],
t: 0.0,
};
let gravity = -9.8 * Vector::y();
for i in 0..3 {
println!("Iteration #{i}");
for particle in &mut system.particles {
particle.reset_force();
}
for particle in &mut system.particles {
particle.apply_force(gravity);
}
system.euler_step(dt);
println!("{:?}", system);
}
}
|