To solve this in a general way would be quite complex.
You would need to solve:
- Is there a transformation matrix so that shape A is exactly shape B?
If the objects would be exactly the same (they would be copies, constructed in exactly the same way), the transformation matrix would be a lot easier, since you could take a plane from the first face, at the first edge and the first vertex you encounter and place it in the origin, and then compare everything in place.
If the objects would not be copies, but similar, it becomes a lot more tricky. (How to define similarity, and how similar is similar enough?)
If you can solve the transformation part, you can try to do a mesh collision, similar to what is commonly used in BIM software to check if the models are in the same place.
Easier to solve and might be part in solving the problem, but may also have false-positives and false-negatives.
- Is shape A exactly shape B? (faces in the same order, all vertices at the same location, same area? Same amount of edges?)
- Does each face in mesh A have the same face in mesh B? (try to find a matching face in B for each face A, and the other way around?)
- Do shape A and shape B have the same volume?
- Are the edge lengths in A and B the same?
- Is the surface area of A and B the same?
- Do it’s faces/edges/vertices have a similar distance to its mass center point?
- Are its smallest boundingboxes the same size?