xxxxxxxxxx
51
//create pendulum class
class Pendulum {
constructor(x, y,a,b, len) {
//radius
this.r = 12;
//length of constrain
this.len = len;
this.anchor = Bodies.circle(x, y, this.r, { isStatic: true });
this.bob = Bodies.circle(a, b, this.r, { restitution: 1.1 });
let options = {
bodyA: this.anchor,
bodyB: this.bob,
length: this.len,
};
this.arm = Matter.Constraint.create(options);
//add constituents to world
Composite.add(engine.world, this.anchor);
Composite.add(engine.world, this.bob);
Composite.add(engine.world, this.arm);
}
// Drawing the box
show() {
fill(127);
stroke(0);
strokeWeight(2);
line(
this.anchor.position.x,
this.anchor.position.y,
this.bob.position.x,
this.bob.position.y
);
// push();
// translate(this.anchor.position.x, this.anchor.position.y);
// rotate(this.anchor.angle);
// circle(0, 0, this.r * 2);
// line(0, 0, this.r, 0);
// pop();
push();
translate(this.bob.position.x, this.bob.position.y);
rotate(this.bob.angle);
circle(0, 0, this.r * 2);
pop();
}
}