У меня есть многоугольник, вершины которого являются центрами других 4-х многоугольников. Для этих четырех многоугольников у меня также есть координаты их вершин. Я хотел бы определить для каждого «углового многоугольника» вершину, которая, если бы она выбрана как вершина большего многоугольника, максимизирует ее площадь. Многоугольник представляет собой прямоугольник, к которому применено преобразование перспективы, поэтому я думал, что это трапеция.Определите, какие точки максимизируют площадь многоугольника, если выбраны как вершины.
Я попытался расчетом шероховатую центра пути суммирования (х, у) с углами и погружений на 4. Затем я выбрал каждую вершину на основе тот, которая имела достаточное расстояние от этой центральной точки среди его сверстников. (что-то вроде distance = (Xc - X)^2 + (Yc - Y)^2
, я избегал квадратного укоренения результата для достижения целей).
Это, к сожалению, не дает ожидаемых результатов. Обычно только одна вершина заменяется внешней самой вершиной «углового многоугольника», а остальные заменяются одной из двух других «угловых многоугольников», исключая ближайшую вершину.
Что может быть способом создания лучшего алгоритма?
Описанный подход должен давать правильный результат в большинстве невырожденных случаев. Возможно, ошибки внедрения приводят к ошибкам определения? – MBo
Если вы имеете в виду вершину, имеющую наибольшее расстояние до центра тяжести между четырьмя вершинами углового многоугольника, это, безусловно, плохой выбор, так как многоугольник может свободно вращаться без изменения выбора, и нет влияния других углов. –