Проверка на попадание курсором в линию
можете пожалуйста подсказать или подкинуть идею алгоритма проверки попадания точки на линию? Разобрался с кругом и прямоугольником , но с линией не пойму как определить , попробовал воспользоваться информацией по данной ссылке , но ничего особо не получилось : https://www.cyberforum.ru/delphi-beginners/thread652199.html
Пробовал рассматривать 4 случая : для начала представить прямую в качестве графика функции(прямой) и далее когда функция убывает (1) точка начала вектора снизу , потом сверху) потом , когда функция возрастает (также точка начала вектора снизу, потом сверху)
D = (x-Hx) * (y2 - y) - (Hy - y) * (x - x2);
if (D<20 && D>-20)
{
return true;//if(Hx<=x2 && Hy<=y2 && Hx>=x && Hy>=y)
//{
// return true;
//}
// else if(Hx<=x && Hy <=y && Hx>=x2 && Hy>=y2)
// {
// return true;
// }
//else if (Hx>=x && Hy<=y && Hx<=x2 && Hy>=y2)
//{
// return true;
//}
//else if(Hx<=x && Hy>=y && Hx>=x2 && Hy<=y2)
//{
// return true;
//}
}
Hx,Hy - координаты нажатия мышки