http://president.pravda.com.ua/internet/view_popular/ Пусть цуко почитают законы. Как ни странно, но про авторское право и у нас написано. Я конечно за пиратство, но против долбоебов, которые с этим жалуются президенту. ТОчнее против формы: нет что бы пожаловаться на то КАК и ПОЧЕМУ милиция это сделала, так жалуются просто на закрытие
16 декабря 2008 г.
3 декабря 2008 г.
Кривые Безье
Исходные данные: набор кривых Безье, набор координат точек Задача: определить степень похожести набора точек на кривую Безье. Для начала рассмотрим очень упрощенно, и лишь для одного куска кривой Безье. Например для заданной тремя контрольными точками A, B, C:
XA, YA, ZA, XB, YB, ZB, XC, YC,ZC - координаты x, y, z исходных узлов A, B, C кривой Безье соответственно
Тогда если подставлять вместо X(a), Y(a), Z(a) координаты точки которую мы проверяем (насколько она принадлежит кривой), то можно находить для каждого уравнения своё а:
Берём только те а, которые положительны, тогда точность попадания будет в неких относительных единицах будет определяться, допустим так:

или просто так(для ускорения обсчетов):

где:



Чем ближе полученное значение к «1», тем точнее попадание.
Итого, как определить степень попадания точки в область линии понятно, а дальше идёт рутинная работа, типа опредления весового коэффициэнта точек(1/N).
Стоит отметить что рассмотренный вариант не учитывает возможности сдвигов массива точек в координатной плоскости, целостности рисунка и т.п.
Кроме того данный метод очень неудобен, если надо сравнивать поочередно со многими фигурами сложенными из линий Безье.
Из набора точек можно получить кривую безье, и точки станут её контролльными узлами. Существуют алгоритмы упрощения кривых безье благодаря которым можно уменьшить количество контрольных узлов.
Я оценил работу одного из таких алгоритмов на примере буквы греческого алфавита гамма:
Мне удалось изобразить её кривыми безье с помощью 6-ти узов. Алгоритм упрощал изначальные 40-70 узлов в 10-17(в среднем до 12).
Возникает вопрос: "как же их сравнивать?"
Пара идей конечно же есть, но их стоит обдумать детальнее.
Об этом я еще поразмышляю или поищу решение в интернете...
для лучшего понимания что такое кривые безье: статья c Gamedev, статья Википедии, интересная статья о упрощении кривых Безье с www.rsdn.ru








