--- title: "Polygon" date: 2019-09-14T20:55:54-07:00 weight: 40 --- To define a polygon, pass a variable number of **Position2D** structs representing the points of the polygon. ```cs var polygon = new Polygon( new Position2D(-2, 0), new Position2D(0, 2), new Position2D(2, 0), ); ``` This polygon, for example, is a triangle. Be careful not to define a concave Polygon, as this will cause the results of collision detection to be incorrect. Also note that because Polygon stores its vertices in an array, instantiating Polygons will cause GC pressure. It is best to use another kind of `IShape2D` if possible.