还剩2页未读,继续阅读
文本内容:
实验报告实验课程:基础技术及应用CAD学生姓名侯博林学号051130202班级0511302
一、实验目的:
1.掌握二维图形处理的原理和方法,理解对二维图形进行复合变换的过程CAD CAD运用软件编写程序实现曲线的成功绘制,并认识曲线的形状Visual Basic
6.0Bezier及特点
二、实验要求完成程序编辑,实现鼠标点击关键点后绘制曲线Bezier
三、实验原理在空间给定个点称下列参数曲线为次的曲线n+1P0,Pl,P2,,,Pn,n Bezier⑴p=.041其中⑴是基函数,即Ji,n Bernsteini/t=ritd-tn一般称折线为曲线⑴的控制多边形;称点为⑴的控制顶在空间P0P1P2…Pn PP0,Pl,P2,-,Pn P曲线的情况下,曲线⑴和控制顶点的关系用分量写出即P=xt,yt,zt Pi=Xi,Yi,Zi当在区间[]上变动时,就产生了曲线若只考虑和就是平面上的t0,1Bezier xy,Bezier曲线以三次曲线为例,它可用矩阵形式表示如下Bezier,「鹿13-311PiP O=|t
四、重要程序摘选〃变量定义float u,B02,B12,B22;〃当点击点的个数是三的时候程序才继续ifclicktimes!=5return0;forint j=0;jn;j++〃参数,注意它是[]之间的小数,因而只能用浮点数相除=floatj/floatn;0,1forint m=O;mclicktimes-1;m++{ifn==O a=1;else{double F=l;forint i=1;i=clicktimes-1;i++//n!{F*=i;}a=F;if m==0b=1;else{double M=l;forint i=l;i=m;i++//m!{M*=i;}b=M;ifclicktimes-1-m==0c=l;else{double N=l;forint i=1;i=clicktimes-1-m;i++//n-m!{N*=i;}c=N;C=a/b*c;B=C*powu,m*pow1-u,n-m;rOx+=B*arryx[m];rOy+=B*arryy[m];pointx[j]=rOx;pointy[j]=rOy;putpointx[j]«,\t«pointy[j]«endl;
五、实验步骤
1.在C语言集成开发工具的编辑器中输入源程序
2.利用编译器编译源程序.连接生成执行文件
3.运行程序
4.结果展示5。
个人认证
优秀文档
获得点赞 0