main/src/georegression/geometry/UtilPolygons2D_I32.java
public static boolean isEquivalent( Polygon2D_I32 a , Polygon2D_I32 b  ) {
		if( a.size() != b.size())
			return false;

		// first find two vertexes which are the same
		Point2D_I32 a0 = a.get(0);
		int match = -1;
		for (int i = 0; i < b.size(); i++) {
			if( a0.equals(b.get(i)) ) {
				match = i;
				break;
			}
		}

		if( match < 0 )
			return false;

		// now go in a circle and see if they all line up
		for (int i = 1; i < b.size(); i++) {
			Point2D_I32 ai = a.get(i);
			Point2D_I32 bi = b.get((match+i)%b.size());

			if( !ai.equals(bi)  ) {
				return false;
			}
		}
		return true;
	}
public static boolean isEquivalent( Polygon2D_I32 a , Polygon2D_I32 b  ) {
		if( a.size() != b.size())
			return false;

		// first find two vertexes which are the same
		Point2D_I32 a0 = a.get(0);
		int match = -1;
		for (int i = 0; i < b.size(); i++) {
			if( a0.equals(b.get(i)) ) {
				match = i;
				break;
			}
		}

		if( match < 0 )
			return false;

		// now go in a circle and see if they all line up
		for (int i = 1; i < b.size(); i++) {
			Point2D_I32 ai = a.get(i);
			Point2D_I32 bi = b.get((match+i)%b.size());

			if( !ai.equals(bi)  ) {
				return false;
			}
		}
		return true;
	}
Checks to see if the vertexes of the two polygon's are the same up to the specified tolerance and allows
for a shift in their order

@param a Polygon
@param b Polygon
@return true if identical up to tolerance or false if not