我已经设法实现了二次和三次Bezier曲线.因为我们有一个公式,所以非常简单.现在我想用泛化表示一个n阶贝塞尔曲线:

哪里

和

我正在使用位图库来渲染输出,所以这是我的代码:
// binomialCoef(n, k) = (factorial(n) / (factorial(k) * factorial(n- k)))
unsigned int binomialCoef(unsigned int n, const unsigned int k)
{
unsigned int r = 1;
if(k > n)
return 0;
for(unsigned int d = 1; d <= k; d++)
{
r *= n--;
r /= d;
}
return r;
}
void nBezierCurve(Bitmap* obj, const Point* p, const unsigned int nbPoint, float steps, const unsigned char red, const unsigned char green, const unsigned char blue)
{
int …Run Code Online (Sandbox Code Playgroud)