diff --git a/charge/charge.c b/charge/charge.c index 9bc963e2edf402da71122541c57413d429934eb0..34730d90f459abb17b1e241819ebd6440357cebb 100644 --- a/charge/charge.c +++ b/charge/charge.c @@ -75,10 +75,7 @@ double random_charge_q(bool positive) { return (rand() % 100) * (positive ? 1 : -1); } -int sign(double a) { return (a < 0) ? -1 : 1; } - vec2 electristatic_force(charge_t a, charge_t b) { - bool attractive = sign(a.q) != sign(b.q); vec2 rab = vec2_sub(b.pos, a.pos); vec2 res = vec2_mul( rab, -K * (((a.q * 10e-6) * (b.q * 10e-6)) / pow(vec2_norm(rab), 2))); @@ -101,22 +98,14 @@ vec2 resulting_electrostatic_force(charge_t *charges, int num_charges, return resulting; } -vec2 compute_initial_vecocity(charge_t c, charge_t *charges, int num_charges) { - double norm = 0; - double angle = rand() % 360; - return vec2_create(norm * cos(angle), norm * sin(angle)); -} - vec2 compute_acceleration(charge_t c, charge_t *charges, int num_charges) { return vec2_mul(resulting_electrostatic_force(charges, num_charges, c), 1.0 / CHARGE_MASS); } vec2 compute_first_pos(charge_t c, charge_t *charges, int num_charges) { - vec2 velocity = compute_initial_vecocity(c, charges, num_charges); vec2 a = compute_acceleration(c, charges, num_charges); - vec2 pos = vec2_add(vec2_add(c.pos, vec2_mul(velocity, DELTA_T)), - vec2_mul(a, pow(DELTA_T, 2) / 2)); + vec2 pos = vec2_add(c.pos, vec2_mul(a, pow(DELTA_T, 2) / 2)); return pos; }