贝塞尔曲线.cad实验报告.docx
《贝塞尔曲线.cad实验报告.docx》由会员分享,可在线阅读,更多相关《贝塞尔曲线.cad实验报告.docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验报告实验课程:CAD基础技术及应用学生姓名:侯博林学 号:051130202班 级:0511302、实验目的:1 .掌握CAD二维图形处理的原理和方法,理解CAD对二维图形进行复合变换 的过程。2 .运用Visual Basic 6.0软件编写程序实现曲线的成功绘制,并认识Bezier曲线 的形状及特点。二、实验要求完成程序编辑,实现鼠标点击关键点后绘制Bezier曲线。三、实验原理在空间给定n+1个点P0,Pl,P2,Pn,称下列参数曲线为n次的Bezier曲线。P(t) = Ji.n.0 4其中Ji,n(t)是Bernstein基函数,即一般称折线P0P1P2Pn为曲线P(t)的控制多
2、边形;称点PO,P1,P2,Pn为P的控制顶在 空间曲线的情况下,曲线P(t)=(x(t),y(t),z(t)和控制顶点Pi=(Xi,Yi,Zi)的关系用分量写出即nx(t) =I vf)Y(t) =Z(l) =i =n当t在区间0,1上变动时,就产生了 Bezier曲线。若只考虑x和y,就是平面上的Bezier曲 线。以三次Bezier曲线为例,它可用矩阵形式表示如下P(t) = |t t20 0 4-I 33- 6-33I 0-3300i,GPiP?P,四、重要程序摘选float u, B02, B12, B22; 变量定义 if(clicktimes!=5) return 0; /当点击
3、点的个数是三的时候程序才继续 for(int j=0; jn; j+) (u = float(j)/float(n); 参数,注意它是0,1之间的小数,因而只能用浮点数相除 for(int m=O;mclicktimes-l;m+)if(n=0) a=l;else double F=l;for(int i= 1 ;i=clicktimes-l ;i+) /n!F*=i;a=F;) if(m=0) b= 1; else double M=l; for(int i=l ;i=m;i+)/m!M*=i;b=M;) if(clicktimes-1 -m=0) c=l; elsedouble N=l;for(int i= 1 ;i=clicktimes-1 -m;i+)/(n-m)!N*二i;c=N;) C=a/(b*c);B二C*pow(u,m)*pow( 1 -u),(n-m); rOx+=B*arryxm;rOy+=B*arryym;)pointxj=rOx; pointy j=rOy;putpointxj,tpointyjendl;)五、实验步骤1、在c语言集成开发工具的编辑器中输入源程序2、利用编译器编译源程序3、连接生成执行文件4、运行程序5、结果展示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 贝塞尔 曲线 cad 实验 报告
限制150内