计算两个移动物体是否会碰撞JS Canvas

时间:2017-07-30 13:28:07

标签: javascript html5 canvas vector intersection

我有多个对象,但为了简单起见,两个对象在JS Canvas中移动,每个对象调整自己的速度/方向/等。

如果他们接近"对于彼此,我想计算他们的路径是否相交,然后相应地调整路径,这样他们就不会。或者,如果路径相交但它们将在不同时间穿过交叉点(并且不会碰撞/重叠),则无需更改任何内容。

我正在使用带有(当前)2D坐标系的Javascript Canvas,其中矢量形式的位置和移动

objects = [];
objects.push(object(...));
objects.push(object(...));

function object() { 
    this.movement = {
        p:{x:0, y:0, z:0},
        v:{x:0, y:0, z:0}
    }

    this.step = function() {
        //various changes to vector V to amend directional vector
        ...
        myvectoradd( this.movement.p, this.movement.v ); 
    }

    this.draw = function() {
        ...
    }

    this.checkCollision = function() {
        //for each object in objects
            //if not self, then
                //if "near" other object
                    //check if path is intersecting with other object
    }


}

objects[0].movement.p是职位

objects[0].movement.v是移动向量(添加到每个.step())

非常感谢, 詹姆斯

0 个答案:

没有答案