Task
Given the x,y coordinates (coordinates are guaranteed to be integers) of the vertices of two simple polygons in clockwise or anti-clockwise order. Output a Truthy value if both the polygons are similar otherwise a Falsy value
A simple polygon is a polygon that does not intersect itself and has no holes. That is, it is a flat shape consisting of straight, non-intersecting line segments or "sides" that are joined pairwise to form a single closed path. If the sides intersect then the polygon is not simple. Two edges meeting at a corner are required to form a an angle that is not not straight (180°)
Two polygons are similar if either polygon can be rescaled, repositioned, and reflected, so as to coincide precisely with the other polygon.
Testcases
| Input | Output | Image |
|---|---|---|
[(0, 0), (1, 0), (1, 1), (0, 1)] [(-1, 0), (2, 1), (1, 4), (-2, 3)] |
Truthy |
![]() |
[(-1, 0), (2, 1), (1, 4), (-2, 3)] [(1, 4), (2, 1), (-1, 0), (-2, 3)] |
Truthy |
![]() |
[(-2, 0), (-1, 1), (0, 1), (1, 3), (1, 0)] [(5, 4), (4, 2), (3, 2), (2, 1), (5, 1)] |
Truthy |
![]() |
[(0, 0), (1, 2), (1, 0)] [(2, 0), (2, 2), (3, 0)] |
Truthy |
![]() |
[(2, 3), (0, 0), (4, 0)] [(-3, 0), (-2, 2), (0, 1), (1, -1), (-1, -2), (-2, -2)] |
Falsey |
![]() |
[(1, 4), (1, 3), (0, 2), (1, 1), (-3, 2)] [(2, 0), (2, -1), (3, -1), (4, -2), (-2, -2)] |
Falsey |
![]() |
[(2, 13), (4, 8), (2, 3), (0, 8)] [(0, 0), (5, 0), (8, 4), (3, 4)] |
Falsey |
![]() |
[(-1, 0), (-5, 3), (-5, 9), (-1, 6)] [(0, 0), (5, 0), (8, 4), (3, 4)] |
Falsey |
![]() |







