Каково максимальное расстояние от точки привязки до кривой Безье? - PullRequest
1 голос
/ 22 апреля 2010

Дана кубическая кривая Безье P0, P1, P2, P3 со следующими свойствами:

& бык; И P1, и P2 находятся на одной стороне линии, образованной P0 и P3.
& Бык; P2 может проецироваться на отрезок, образованный P0 и P3, но P1 не может.

Какое значение T для точки на кривой, самой далекой от P3?

Вот изображение с примером кривой . Кривая выпуклая слева, поэтому на кривой есть точка дальше от P3, чем P0.

Я нашел эту ссылку для нахождения минимального расстояния 1012 * от произвольной точки до кривой. Является ли метод проб и ошибок единственным способом решения проблемы на максимальном расстоянии? Имеет ли какое-то значение то, что точка является якорем на кривой?

Спасибо

Ответы [ 2 ]

2 голосов
/ 26 апреля 2010

Формула для кубической кривой Безье приведена в этой вики-статье . Используя простое исчисление, вы можете найти формулу для касательной B '(t) кривой к параметру t.

Самая дальняя точка кривой из P 3 характеризуется тангенсом B '(t), перпендикулярным вектору B (т) -. P 3

Таким образом, вам нужно найти значение t, для которого произведение точек B '(t) ⋅ ( B (t) - P 3 ) = 0.

Случайно, вы решаете квинтику в t, так что приготовьтесь найти корень. Обычно я ожидаю, что один корень в интервале [0,1], но я предполагаю, что некоторые конфигурации P i могут иметь более одного корня (в этом случае вы выбираете один что дает наибольшее расстояние).

1 голос
/ 23 апреля 2010

Ну, границы легко вычислить ... просто максимальное расстояние до выпуклой оболочки.

Если вы ищете точный ответ, то вам придется выполнить поиск.

...