Как уравновесить два квадрата на пиле в деле .js? - PullRequest
1 голос
/ 24 сентября 2019

У меня есть два прямоугольника на прямоугольнике, который я хочу сбалансировать на двухмерном прямоугольнике, который действует как качалка.

   World.add(engine.world, [
        Bodies.rectangle(400, 0, 800, 50, { isStatic: true }),
        Bodies.rectangle(400, 600, 800, 50, { isStatic: true }),
        Bodies.rectangle(800, 300, 50, 600, { isStatic: true }),
        Bodies.rectangle(0, 300, 50, 600, { isStatic: true })
    ]);

    var boxA = Bodies.rectangle(283.6, 480, 80, 80, { density: 0.005 });
    var boxB = Bodies.rectangle(520, 480, 80, 80, { density: 0.005});

    var arrow = Vertices.fromPath('40 0 40 20 100 20 100 80 40 80 40 100 0 50'),
        chevron = Vertices.fromPath('100 0 75 50 100 100 25 100 0 50 25 0'),
        star = Vertices.fromPath('50 0 63 38 100 38 69 59 82 100 50 75 18 100 31 59 0 38 37 38'),
        horseShoe = Vertices.fromPath('35 7 19 17 14 38 14 58 25 79 45 85 65 84 65 66 46 67 34 59 30 44 33 29 45 23 66 23 66 7 53 7');
        var catapult = Bodies.rectangle(400, 520, 320, 20, { friction: 0.5, collisionFilter: { group: group } });


    var group = Body.nextGroup(true);
World.add(engine.world, [
    catapult,
    boxA,
    boxB,
    Bodies.rectangle(400, 600, 800, 50.5, { isStatic: true }),
    Constraint.create({ 
        bodyA: catapult, 
        pointB: Vector.clone(catapult.position),
        stiffness: 1,
        length: 0
    })
]);

Я адаптировал его из http://brm.io/matter-js/demo/#catapult и удалилМногие объекты, которые я чувствовал, не были нужны.

Я хотел бы добиться идеального баланса объектов, но проблема в том, что коробки кажутся всегда скользящими.Как я могу сделать так, чтобы, когда ящики имели одинаковый вес, чтобы они могли идеально сбалансироваться, и если я отрегулирую вес одной стороны, качели могут наклоняться к другой массе, но не соскользнуть с качелей?Я бы предпочел, чтобы качели не были слишком чувствительны к весу.

1 Ответ

1 голос
/ 27 сентября 2019

В реальном мире физики идеально сбалансированные качели очень нестабильны и чувствительны к весу коробок.Качели могут балансировать из-за трения между доской и ее осью.

Добавьте некоторое трение к опоре, чтобы она оставалась сбалансированной, а некоторые - к коробкам, чтобы помочь им прекратить скольжение.

...