Алгоритм провірки приналежності точки відрізку

В процесі розробки delphi-проектів, в основу яких закладено взаємодію користувача з графічними примітивами (точками, лініями, еліпсами, прямокутниками), доволі часто виникає потреба виконувати певні дії з активними об'єктами, тобто з об'єктами над яким, наприклад, містииться курсор чи було натиснуто кнопку миші. В такому випадку, перед нами постає задача визначення приналежності точки певному об'єкту. Відмітимо, що з такою проблемою ми зустрічалися при розробці проектів, які реалізують алгоритми на графах, а саме при візуалізації графа. Тобто, при видалення ребра ми розглядали задачу на приналежність точки відрізку, де в якості точки брались координати мишки, а я якості  відрізка — ребро графа. А при переміщенні чи видаленні вершин — задачу на приналежність точки еліпсу.

В даному матеріалі, розглянемо алгоритм, за яким можна перевірити приналежність точки відрізку та створимо delphi-проект який буде змінювати курсор при наведенні мишки на відрізок. Отже, три точки Приналежність точки відрізку лежать на одній прямій, якщо вектори Приналежність точки прямій і Приналежність точки прямій колінеарні, тобто має місце рівність:

Читати повністю