2D соответствие формы в C++
У меня есть набор последовательных точек, который делает 2D-фигуру, и у меня есть другой набор, который может создавать аналогичную форму, но эта форма отличается по масштабу и повороту от последней. Каковы наилучшие подходы / варианты для сопоставления и расчета показателя сходства этих двух фигур.
2 ответа
Решение
Лучшее, что я нашел после нескольких дней исследований, - это распознаватель жестов за 1 доллар, он не зависит от масштаба и поворота, а также имеет реализацию на многих языках, включая C++ .
Сравните углы в вершинах каждой фигуры. Если они совпадают по очереди, фигуры похожи. Возможно, вам придется "вращать" одну из фигур во время процесса. Помните подобные треугольники, их углы совпадают один за другим.