---
title: "ksGetCurvePointProjection - Получить координаты проекции точки на кривую"
type: guide
api: [api7]
tags: [guide, api7, ksgetcurvepointprojection]
sources:
  - ksgetcurvepointprojection.html
---

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


## ksGetCurvePointProjection - Получить координаты проекции точки на кривую

Пример...
Аналог данной функции при использовании Automation - метод ksMathematic2D::ksGetCurvePointProjection.
Синтаксис:
```
int ksGetCurvePointProjection (reference curve,
double x, double y,
double *kx, double *ky);
Входные параметры:
curve    - указатель на кривую,
x, y    - координаты проецируемой точки.
Выходные параметры:
kx, ky    - координаты проекции точки на кривую.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.
```
Примечание:
1. См. также ksGetCurvePointProjectionEx
2. При выполнении функции ksGetCurvePointProjection проекция на кривую из данной точки может быть не найдена, например, если проекция находится на продолжении кривой. В таком случае возвращаются координаты ближайшей к проекции начальной или конечной точки кривой.
3. В функцию ksGetCurvePointProjection нужно передавать координаты в системе координат кривой, то есть в системе координат макроэлемента, которому принадлежит кривая. Возвращаются координаты также в системе координат кривой.


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

reference curve = ::LineSeg (300, 100, -400, -200, 1);
double x = 100;
double y = 50;
::ksGetCurvePointProjection (curve, x, y, &x, &y); // проецируем точку на кривую
char buf[128];
::sprintf (buf, "координаты проекции точки на кривой: (%g, %g)", x, y);
::Message(buf);
