Геометрический алгоритм для кривой Безье
Этот алгоритм позволяет вычислить координаты точки кривой Безье позначению параметра .
· Каждая сторона контура многоугольника, проходящего по точкам-ориентирам, делится пропорционально значению .
· Точки деления соединяются отрезками прямых и образуют новый многоугольник. Количество узлов нового контура на единицу меньше, чем количество узлов предыдущего контура.
· Стороны нового контура снова делятся пропорционально значению . И так далее. Это продолжается до тех пор, пока не будет получена единственная точка деления. Эта точка и будет точкой кривой Безье (рис. 5а–5б).
Рис. 5а | Рис. 5б |
Приведем запись геометрического алгоритма на языке C++:
for (i=0; i<=m; i++)
R[i]=P[i]; // Формируем вспомогательный массив R
for (j=m; j>0; j--)
for (i=0; i<j; i++)
R[i]=R[i]+t*(R[i+1]-R[i]);
Результат работы алгоритма – координаты одной точки кривой Безье – записываются в R[0]