У меня есть массив из 4 PointF
объектов. Каждая точка в этом массиве представляет собой Угол прямоугольника. Теперь я хочу установить точки в этом массиве в определенном порядке в зависимости от их местоположения. например PointF[0]
должна быть точка, и PointF[1]
верхнее-левое bottomleft (и так далее в направлении по часовой стрелке).Обнаружение местоположения известных точек в прямоугольнике
Я попытался проверить координаты, например. если координаты точек x и y являются самыми низкими из каждой точки в массиве, она является топиковой (Система координат изображения). И если каждая координата является самой большой, это самая лучшая точка.
Проблема с этим решением заключается в том, что возможно, что точки в этом массиве могут также представлять собой параллелограмм или трапецию, что угол между углами не должен быть 90 градусов.
Вот изображение, где я пытаюсь представить себе, что я хочу добиться:
Подумайте о линиях между точками в виде полиномиальных функций в формате '' y (x) = m * x + b''. '' m'' и '' b'' могут быть рассчитаны по координатам вашего '' PointF''. Это должно заставить вас начать. – f1sh
Я не знаю, правильно ли я понимаю вас, но я думаю, вы имеете в виду, что с помощью 'b', например, я мог бы определить, является ли точка верхним или нижним углом? И с помощью 'm' я мог бы определить, осталось ли это или нет, если это так, то какое значение имеет' m'if, если точка является правильным углом? –