Bezier曲线的离散生成算法绘制曲线_第1页
Bezier曲线的离散生成算法绘制曲线_第2页
Bezier曲线的离散生成算法绘制曲线_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Bezier 曲线的离散生成算法绘制曲线 2008-05-23 12:21#include glut.h >float decas (float *p, float t, int nint i,r ;float q10;for( i =0;i<= n;i +q i =p i ;for(r=1;r<= n;r +for( i =0;i<=n- r;i +q i =(1-t*q i +t*qi+1;return(q0;void lineto(float x0,float y0,float x,float y*/CEkglBegin(GL_LINES;glVertex2f(x

2、0,y0;glVertex2f(x,y;glEnd(;void decas_Bezier(int i,n,k;float t,x,y,px10,py10;float x0,y0;/* scanf( “%d,%d”,&n,&k;for(i=0;i<=n;i+scanf( “%f,%f”,&pxi,&pyi;px0=-40.0;py0=-40.0;px1=-10.0;py1=200.0;px2=10.0;py2=-200.0;px3=40.0;py3=40.0;n=4;/ 控制点的个数k=1000;/ 平均分的等数,在定义算法中表示阶数for(i=0;i<

3、;=k;i+t=(floati/k;x=decas(px,t,n;y=decas(py,t,n;if (i=0/ moveto(x,y; / 把点移到当前位置x0=x;y0=y;elselineto(x0,y0,x,y; /从上一个点到当前点作直线glFlush(;x0=x;y0=y;void reshape(int w, int hglViewport(0,0,w,h;glMatrixMode(GL_PROJECTION;glLoadIdentity(;gluOrtho2D(-50.0,50.0,-50.0,50.0;glMatrixMode(GL_MODELVIEW; glLoadIden

4、tity(; glClear(GL_COLOR_BUFFER_BIT;void init(voidglClearColor(0.0,0.0,0.0,0.0;void display(voidglColor3f(1.0,0.0,0.0;glFlush(;decas_Bezier(;void main(int argc, char *argvglutInit(&argc,argv;glutInitDisplayMode (GLUT_SINGLE| GLUT_RGB; init(;glutInitWindowPosition(100,100;glutInitWindowSize(500,500; glutCreateWindow("Bezier"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论