Проблема не только в школьном курсе
Например я вычисляю перпендикуляры для каждой стороны полигона соответственно. Это для отображения тех же уголков на чертеже
Но при перемещении всего четежа В данном случае это земельный участок подразумевается
Так вот изменяются значения Left и Top каждого уголка - перпендикулярной по отношению к полигону изображающему участок линии
Но вот x1, y1, x2, y2 этих линий-перпендикуляров при этом не меняется
И соответственно когда пользователь щелкает по точке и модифицирует сторону полигона то найти как относятся перпендикуляры чертежа к этой стороне не возможно так как координаты x1, y1, x2, y2 перпендикулярных линий у схеме остаются те, что были до перемещения всей схемы
Я погуглил и нашел это
We cannot implement it on moving since it would clutter the move event without reason, but we can totally write a short method get current points
При этом автор советует реализовывать этот метод используя width и height объекта
Я попробовал реализовать этот short method
При этом получаются приближенные значения x1, y1, x2, y2 до .005 тысячных
Ну и соответственно сравнение типа obj.х1 == searchp.x1 не срабатывает
Тут можно чудить еще. Округлять например. Только это ни к чему не приведет.
Потому-что реальные координаты перемещенной точки на самом полигоне после перемещения приобретают также не фиксированную точность
|