Vector

英文原地址

Matter.Vector模块包含了创建和操作矢量的方法。矢量是引擎中所有几何相关操作的基础。Matter.Vector对象的形式是{x: 0, y: 0}

方法

Matter.Vector.add(vectorA, vectorB, [output]) → Vector

添加两个矢量。

参数:
vectorA Vector
vectorB Vector [output] Vector 可选

返回值:
Vector 矢量A和B相加后形成的矢量。

Matter.Vector.angle(vectorA, vectorB) → Number

返回vectorB - vectorA和X轴之间以弧度表示的夹角。

参数:
vectorA Vector
vectorB Vector

返回值:
Number 以弧度表示的夹角

Matter.Vector.clone(vector) → Vector

根据传入的矢量返回一个克隆后的新矢量。

参数:
vectorA Vector

返回值:
Vector 克隆后的新矢量

Matter.Vector.create(x, y) → Vector

创建一个新的矢量。

参数:
x Number
y Number

返回值:
Vector 新的矢量

Matter.Vector.cross(vectorA, vectorB) → Number

返回两个矢量的叉积(cross-product)。

参数:
vectorA Vector
vectorB Vector

返回值:
Number 两个矢量的叉积

Matter.Vector.cross3(vectorA, vectorB, vectorC) → Number

返回3个矢量的叉积。

参数:
vectorA Vector
vectorB Vector
vectorC Vector

返回值:
Number 三个矢量的叉积

Matter.Vector.div(vector, scalar) → Vector

将矢量和标量相除。

参数:
vector Vector
scalar Number

返回值:
Vector 除以标量后的矢量。

Matter.Vector.dot(vectorA, vectorB) → Number

返回两个矢量的点积(dot-product)。

参数:
vectorA Vector
vectorB Vector

返回值:
Number 两个矢量的点积

Matter.Vector.magnitude(vector) → Number

返回实例的幅度(长度)。

参数:
vector Vector

返回值:
Number 矢量的幅度

Matter.Vector.magnitudeSquared(vector) → Number

返回矢量(而且省去了sqrt操作)的幅度(长度)。

参数:
vector Vector

返回值:
Vector 矢量的幅度平方。

Matter.Vector.mult(vector, scalar) → Vector

将矢量和标量相乘。

参数:
vector Vector
scalar Number

返回值:
Vector 乘以标量后的新矢量。

Matter.Vector.neg(vector) → Vector

让矢量指向相反的方向。

参数:
vector Vector

返回值:
Vector 反向矢量。

Matter.Vector.normalise(vector) → Vector

将矢量归一化(使其幅度为 1 )。

参数:
vector Vector

返回值:
Vector 归一化后的矢量。

Matter.Vector.perp(vector, [negate=false]) → Vector

返回正交(垂直)矢量。negate设置为true的话会返回相反方向的正交矢量。

参数:
vector Vector
[negate=false] Bool 可选

返回值:
Vector 正交(垂直)矢量

Matter.Vector.rotate(vector, angle, [output]) → Vector

将矢量绕(0, 0)旋转指定角度。

参数:
vector Vector
angle Number
[output] Vector 可选

返回值:
Vector 绕(0, 0)旋转的矢量

Matter.Vector.rotateAbout(vector, angle, point, [output]) → Vector

将矢量绕指定的点旋转指定的角度。

参数:
vector Vector
angle Number
point Vector
[output] Vector 可选

返回值:
Vector 绕指定的点旋转的矢量

Matter.Vector.sub(vectorA, vectorB, [output]) → Vector

两个矢量相减。

参数:
vectorA Vector
vectorB Vector
[output] Vector 可选

返回值:
Vector 矢量A和矢量B相减后得到的新矢量