刚学了贝塞尔曲线的原理,在编程实现上有没什么技巧?比如递归,总感觉循环很慢
可以采用杨辉三角
%计算杨辉三角
for i=1:n
t(i, 1) = 1;
t(i, i) = 1;
end
if n>=3
for i=3:n
for j=2:i-1
t(i, j) = t(i - 1, j - 1) + t(i - 1, j);
end
end
end
%根据公式计算贝塞尔曲线
val = zeros(epi, 2);
for i=1:epi
step = i / epi;
for k=0:n-1
val(i, 1) = val(i, 1) + (1 - step) ^ (n - k - 1) * p(k + 1, 1) * step ^ k * t(n, k + 1);
val(i, 2) = val(i, 2) + (1 - step) ^ (n - k - 1) * p(k + 1, 2) * step ^ k * t(n, k + 1);
end
end