public static SvgCollision.PolygonCollisionResult PolygonCollision(PointF[] ptsA, PointF[] ptsB, Vector velocity) { Polygon polygonA, polygonB; polygonA = new Polygon(); polygonB = new Polygon(); foreach (PointF pts in ptsA) { polygonA.Points.Add(new Vector(pts.X, pts.Y)); } foreach (PointF pts in ptsB) { polygonB.Points.Add(new Vector(pts.X, pts.Y)); } polygonA.BuildEdges(); polygonB.BuildEdges(); SeparatingAxisTheorem svgCollision = new SeparatingAxisTheorem(); return svgCollision.PolygonCollision(polygonA, polygonB, velocity); }