d = d0 * d0 + d1 * d1 + d2 * d2;
if (d > EPSILON)
- d = gt->mass / (d * sqrt(d)) * DELTAT * DELTAT * QCONS;
+ d = gtk->mass / (d * sqrt(d)) * DELTAT * DELTAT * QCONS;
else
- d = gt->mass * eps;
+ d = gtk->mass / (eps * sqrt(eps));
v0 += d0 * d;
v1 += d1 * d;
v2 += d2 * d;
d = d0 * d0 + d1 * d1 + d2 * d2;
if (d > EPSILON)
- d = gt->mass * gt->mass / (d * sqrt(d)) * DELTAT * QCONS;
+ d = 1 / (d * sqrt(d)) * DELTAT * QCONS;
else
- d = gt->mass * gt->mass / (EPSILON * sqrt_EPSILON) * DELTAT * QCONS;
+ d = 1 / (EPSILON * sqrt_EPSILON) * DELTAT * QCONS;
d0 *= d;
d1 *= d;
d2 *= d;
- gt->vel[0] += d0 / gt->mass;
- gt->vel[1] += d1 / gt->mass;
- gt->vel[2] += d2 / gt->mass;
- gtk->vel[0] -= d0 / gtk->mass;
- gtk->vel[1] -= d1 / gtk->mass;
- gtk->vel[2] -= d2 / gtk->mass;
+ gt->vel[0] += d0 * gtk->mass;
+ gt->vel[1] += d1 * gtk->mass;
+ gt->vel[2] += d2 * gtk->mass;
+ gtk->vel[0] -= d0 * gt->mass;
+ gtk->vel[1] -= d1 * gt->mass;
+ gtk->vel[2] -= d2 * gt->mass;
}
gt->pos[0] += gt->vel[0] * DELTAT;