Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Определение принадлежности точки к кривой Безье   Найти похожие ветки 

 
CyberStorm   (2004-04-19 07:28) [0]

Подскажите возможные алгоритмы определения принадлежности точки к кривой Безье или определение минимального расстояния от точки до кривой.
В настоящий момент использую аппроксимацию кривой до набора прямых с последующим расчетом расстояния от точки до прямых и выборкой минимального, может быть есть другой более быстродействующий способ без перебора аппроксимирующих отрезков?


 
MBo ©   (2004-04-19 07:41) [1]

Да, возможно без перебора, только придется решать уравнение 5-го порядка.
Выписываешь квадрат расстояния от точки до точки кривой с параметром t, берешь производную для нахождения минимума квадрата - здесь уравнение 5-й степени. Один реальный корень можно найти численными методами (он обязательно существует), делишь полином на (t минус корень), остается 4-я степень - такое можно аналитически решить.
Альтернатива - найти собственные значения характеристической матрицы.

Отдельно проверяешь концы кривых (t=0,t=1).


 
CyberStorm   (2004-04-19 09:24) [2]

Хм :) попробую ваш вариант, хотя и не люблю уравнения высоких порядков :(

Правда только что нашел еще одно оптимизационное решение :) - после аппроксимации, проверять не все отрезки, а только те в описывающий прямоугольник которых попадает точка, при этом заведомо лишние отрезки отпадут автоматически...
MBo интересно, что будет быстрее - вариант с решением уравнений пятого порядка или отбрасывание заведомо ненужных отрезков?


 
MBo ©   (2004-04-19 09:31) [3]

>что будет быстрее
Не проверял. В Graphics Gems используется аппроксимационный способ, но мне больше нравится с уравнением.



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1087384147
Фагот
2004-06-16 15:09
2004.07.04
Программа-шпион


1-1087465477
Артем К.
2004-06-17 13:44
2004.07.04
Вывод первой буквы текста Labela другим шрифтом?


8-1082311404
Женя
2004-04-18 22:03
2004.07.04
Не могу работать с Canvas.Какая-то ошибка не пойму в чем дело


14-1087385368
AlexG
2004-06-16 15:29
2004.07.04
WEB-программисты...


6-1084000571
eNZo
2004-05-08 11:16
2004.07.04
Приложение клиент - сервер для работы с MSSQL на удаленном компе