Added restitution coefficient control (introduced a lot of unwanted
behaviour, but fixable)
This commit is contained in:
parent
a6c4771d1a
commit
40dde35f19
13
polygons.cc
13
polygons.cc
@ -1,5 +1,7 @@
|
|||||||
#include "polygons.h"
|
#include "polygons.h"
|
||||||
|
|
||||||
|
#include "balls.h" // just for the restitution_coefficient_get() function,
|
||||||
|
// prolly should be placed in another header file
|
||||||
#include "cairo.h"
|
#include "cairo.h"
|
||||||
#include "collisions.h"
|
#include "collisions.h"
|
||||||
#include "game.h"
|
#include "game.h"
|
||||||
@ -189,8 +191,15 @@ static void handle_collision(collision& c, polygon* a, polygon* b) {
|
|||||||
// std::cout << " I_a = " << I_a << std::endl;
|
// std::cout << " I_a = " << I_a << std::endl;
|
||||||
// std::cout << " I_b = " << I_b << std::endl;
|
// std::cout << " I_b = " << I_b << std::endl;
|
||||||
|
|
||||||
double j = impulse_parameter(
|
double j = impulse_parameter(v_ab1,
|
||||||
v_ab1, c.n, a->mass, b->mass, r_ap, r_bp, I_a, I_b, 1);
|
c.n,
|
||||||
|
a->mass,
|
||||||
|
b->mass,
|
||||||
|
r_ap,
|
||||||
|
r_bp,
|
||||||
|
I_a,
|
||||||
|
I_b,
|
||||||
|
restitution_coefficient_get());
|
||||||
// std::cout << "====> j = " << j << std::endl;
|
// std::cout << "====> j = " << j << std::endl;
|
||||||
|
|
||||||
vec2d v_a2 = a->speed + j * c.n / a->mass;
|
vec2d v_a2 = a->speed + j * c.n / a->mass;
|
||||||
|
Loading…
Reference in New Issue
Block a user