赞
踩
贝塞尔曲线公式如下(具体推导过程请参见网上),
我所编写的贝塞尔曲线路径平滑函数如下,
function [x, y] = bezir_n(points, M) %points是控制点,为多行两列的矩阵 %M为你要生成的贝塞尔曲线上点的个数 n = size(points,1) - 1; if n < 1 x = []; y = []; return; elseif n == 1 %一阶贝塞尔曲线,即直线 x = points(:,1); y = points(:,2); return; else % 使用向量卷积来计算 k值,k是二项式系数nchoosek(n,k)组合在一起的向量, %也为杨辉三角第n行的所有数。k对应着贝塞尔曲线公式里的二项式展开系数。 k = [1 1]; for i = 1 : (n - 1) k = conv(k, [1 1]); end tem1=n:-1:0; tem2=0:1:n; x=[]; y=[]; for t=0:1/(M-1):1 x=[x,sum(k.*(points(:, 1)').*((1-t).^tem1).*(t.^tem2))]; y=[y,sum(k.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。