---
title: "ksDistancePntLineForPoint - Получить расстояние между точкой и прямой, заданной двумя точками"
type: guide
api: [api7]
tags: [guide, api7, ksdistancepntlineforpoint]
sources:
  - ksdistancepntlineforpoint.html
---

*API экспортных функций > Функции работы с графическим документом  > Вспомогательные построения  > Функции вычисления длин, расстояний, углов и МЦХ *


## ksDistancePntLineForPoint - Получить расстояние между точкой и прямой, заданной двумя точками

Пример...
Аналог данной функции при использовании Automation - метод ksMathematic2D::ksDistancePntLineForPoint.
Синтаксис:
```
double ksDistancePntLineForPoint (double x,
double y,
double x1,
double y1,
double x2,
double y2);
Входные параметры:
x, y    - координаты точки,
x1, y1    - координаты первой точки на прямой,
x2, y2    - координаты второй точки на прямой.
Возвращаемое значение:
расстояние между точкой и прямой.    - в случае успеха,
0    - в случае неудачи.
```


## ksDistancePntLineForPoint - пример использования

reference pObj;
RequestInfo info;
double x, y;
memset (&info, 0, sizeof(info));
info.prompt = "Укажите отрезок";
reference g;
int j = Cursor (&info, &x, &y, 0);
if (j)
{
//найдем объект и убедимся, что это отрезок
if (ExistObj(pObj = FindObj (x, y, 1e6)) && GetObjParam (pObj, 0, 0, 0) == LINESEG_OBJ)
{
info.prompt = "Укажите точку";
//получим точку
j = Cursor (&info, &x ,&y, 0);
if (j)
{
LineSegParam par;
//берем параметры отрезка
GetObjParam (pObj, &par, sizeof (LineSegParam), ALLPARAM);
//получаем расстояние от точки до отрезка
double len = ksDistancePntLineForPoint (x, y, //координаты точки
par.x1, par.y1, //координаты точки на прямой
par.x2, par.y2); //координаты точки на прямой
char buf[TEXT_LENGTH];
sprintf (buf, "расстояние = %f ", len);
Message (buf);
}
}
else
Error("Это не отрезок");
}
