B样条曲线的绘制

来源:互联网 发布:淘宝如何买到正品耐克 编辑:程序博客网 时间:2024/06/02 11:03

给定n+1个控制点Pi(i=0,1,2,3...,n),n次B样条曲线的参数表达式为:

当n=3时,带入表达式,F函数如下:


其中0<=u<=1。结合n次B样曲线表达式,n=3时可得如下表达式。

当有4个控制点时可以直接使用如下函数绘制出曲线(曲线t的定义域为[0,1]),当有5个控制点时可以先绘制P0~P3之间的曲线,然后绘制P1~P4之间的曲线。下方参数表达式只需要更改相邻的四个控制点即可。

控制点P0~P3的B样曲线参数表达式为:

需要注意的是u的定义域为[0,1],在Qt中数据是可以直接和QPointF相乘的

P(t) = F(0,3)*P0+F(1,3)*P1+F(2,3)*P2+F(3,3)*P3;

控制点P1~P4的B样曲线参数表达式为:

P(t) = F(0,3)*P1+F(1,3)*P2+F(2,3)*P3+F(3,3)*P4;

相信聪明如你肯定知道该怎么画B样曲线了

原创粉丝点击