여기에 formulation 문의 다음 베 지어 블렌드 함수를 계산하기위한 샘플이다 : 비록 대부분의 애플리케이션
double choose(long n, long k)
{
long j;
double a;
a = 1;
for (j = k + 1; j <= n; j++)
a *= j;
for (j = 1; j <= n - k; j++)
a /= j;
return a;
};
double bezierBlend(int i, double t, int n)
{
return choose(n, i) * pow(1 - t, n - i) * pow(t, i);
}
의 전력을 계산하고 이항 계수마다 불합리 비효율적이다. 일반적인 응용 프로그램에서는 곡선의 차수가 일정합니다 (예 : 2 차 곡선의 경우 2, 3 차의 경우 3). 수식을 미리 확장하여 훨씬 더 효율적으로 함수를 계산할 수 있습니다. 다음은 3 차 곡선의 예입니다.
double BezCoef(int i, double t)
{
double tmp = 1-t;
switch (i)
{
case 0: return tmp*tmp*tmp;
case 1: return 3*tmp*tmp*t;
case 2: return 3*tmp*t*t;
case 3: return t*t*t;
}
return 0; // not reached
}