《C语言实现生成贝塞尔曲线(代码》由会员分享,可在线阅读,更多相关《C语言实现生成贝塞尔曲线(代码(2页珍藏版)》请在人人文库网上搜索。
1、在C环境下编程实现:由4个控制点生成3次贝塞尔曲线#include#includeint zuhe(int n,int k)int i,s1,s2;s1=1;s2=1;if(k=0) return 1;for(i=n;i=n-k+1;i-) s1=s1*i;for(i=k;i=2;i-) s2=s2*i;return s1/s2;float fang(float n,int k)if(k=0) return 1;return pow(n,k);float benkn(int n,int k,float t)return zuhe(n,k)*fang(t,k)*fang(1-t,n-k);voi。
2、d main()float t11=0,x4,y4,x111,y111,s=0.0;int i;for(i=1;i11;i+) s=s+0.1;ti=s;printf(please input x value:n);for(i=0;i4;i+) scanf(%f,x+i);printf(please input x value:n);for(i=0;i4;i+) scanf(%f,y+i);for(i=0;i11;i+)x1i=x0*benkn(3,0,ti)+x1*benkn(3,1,ti)+x2*benkn(3,2,ti)+x3*benkn(3,3,ti);y1i=y0*benkn(3,0,ti)+y1*benkn(3,1,ti)+y2*benkn(3,2,ti)+y3*benkn(3,3,ti);printf(%f,%f,%f,%fn,x0,x1,x2,x3);printf(%f,%f,%f,%fn,y0,y1,y2,y3);for(i=0;i11;i+) printf(%5.2f,ti);printf(n);for(i=0;i11;i+) printf(%5.2f,x1i);printf(n);for(i=0;i11;i+) printf(%5.2f,y1i。