Show:

# Matter.Vertices

The `Matter.Vertices` module contains methods for creating and manipulating sets of vertices. A set of vertices is an array of `Matter.Vector` with additional indexing properties inserted by `Vertices.create`. A `Matter.Body` maintains a set of vertices to represent the shape of the object (its convex hull).

See the included usage examples.

## Methods

### Matter.Vertices.area

(vertices, signed)

Returns the area of the set of vertices.

#### Parameters

• `vertices` Vertices
• `signed` Bool

Number

The area

### Matter.Vertices.centre

(vertices)

Returns the centre (centroid) of the set of vertices.

Vector

The centre point

### Matter.Vertices.chamfer

(vertices, radius, quality, qualityMin, qualityMax)

Chamfers a set of vertices by giving them rounded corners, returns a new set of vertices. The radius parameter is a single number or an array to specify the radius for each vertex.

### Matter.Vertices.clockwiseSort

(vertices)

Sorts the input vertices into clockwise order in place.

Vertices

vertices

### Matter.Vertices.contains

(vertices, point)

Returns `true` if the `point` is inside the set of `vertices`.

#### Returns

Boolean

True if the vertices contains point, otherwise false

### Matter.Vertices.create

(points, body)

Creates a new set of `Matter.Body` compatible vertices. The `points` argument accepts an array of `Matter.Vector` points orientated around the origin `(0, 0)`, for example:

``````[{ x: 0, y: 0 }, { x: 25, y: 50 }, { x: 50, y: 0 }]
``````

The `Vertices.create` method returns a new array of vertices, which are similar to Matter.Vector objects, but with some additional references required for efficient collision detection routines.

Vertices must be specified in clockwise order.

Note that the `body` argument is not optional, a `Matter.Body` reference must be provided.

### Matter.Vertices.fromPath

(path, body)

Parses a string containing ordered x y pairs separated by spaces (and optionally commas), into a `Matter.Vertices` object for the given `Matter.Body`. For parsing SVG paths, see `Svg.pathToVertices`.

#### Parameters

• `path` String
• `body` Body

Vertices

vertices

### Matter.Vertices.hull

(vertices)

Returns the convex hull of the input vertices as a new array of points.

#### Returns

[vertex] vertices

### Matter.Vertices.inertia

(vertices, mass)

Returns the moment of inertia (second moment of area) of the set of vertices given the total mass.

#### Returns

Number

The polygon's moment of inertia

### Matter.Vertices.isConvex

(vertices)
→ Bool

Returns true if the vertices form a convex shape (vertices must be in clockwise order).

#### Returns

Bool

`true` if the `vertices` are convex, `false` if not (or `null` if not computable).

### Matter.Vertices.mean

(vertices)

Returns the average (mean) of the set of vertices.

#### Returns

Vector

The average point

### Matter.Vertices.rotate

(vertices, angle, point)

Rotates the set of vertices in-place.

### Matter.Vertices.scale

(vertices, scaleX, scaleY, point)

Scales the vertices from a point (default is centre) in-place.

### Matter.Vertices.translate

(vertices, vector, scalar)

Translates the set of vertices in-place.

0.16.0