Геометрический алгоритм для кривой Безье

Этот алгоритм позволяет вычислить координаты точки кривой Безье позначению параметра .

· Каждая сторона контура многоугольника, проходящего по точкам-ориентирам, делится пропорционально значению .

· Точки деления соединяются отрезками прямых и образуют новый много­угольник. Количество узлов нового контура на единицу меньше, чем ко­личество узлов предыдущего контура.

· Стороны нового контура снова делятся пропорционально значению . И так далее. Это продолжается до тех пор, пока не будет получена единст­венная точка деления. Эта точка и будет точкой кривой Безье (рис. 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]