


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word实验七 三次B样条曲线的算法实现一、实验目的根据B样条曲线的根底知识,对3次均匀B样条曲线算法进行程序设计,验证算法的正确性,并修改程序,加深对B样条曲线数学模型的理解。二、实验任务2学时 B样条曲线的程序设计。三、实验内容和实验步骤1.算法从三次B样条曲线的定义可知:当p=3时,3 l =0Ci,3(t)=Pi+l Nl,3(t)= Pi N0,3(t)+ Pi+1 N1,3(t)+ Pi+2 N2,3(t)+ Pi+ 3 N3,3(t) 因为四个调和函数N0,3(t)、N1,3(t)、N2,3(t)和N3,3(t) 参看教材P138-139因此只要给出四个控制点的位置矢量的坐标,当
2、t在0,1范围内取离散的100个点时dt=0.01,分别求出每一个曲线上点,相邻点用直线段连接起来,就可以得到相应的B样条曲线。设控制点的个数为PointNum,要求PointNum4,那么可以生成PointNum-3段三次B样条曲线。其中第i段三次B样条曲线的代数形式为:Ci,3(t)x= Pi x N0,3(t)+ P (i+1) x N1,3(t)+ P (i+2) x N2,3(t)+ P (i+3) x N3,3(t)Ci,3(t)y= Pi y N0,3(t)+ P (i+1) y N1,3(t)+ P (i+2) y N2,3(t)+ P (i+3) y N3,3(t)其中,i=
3、1,2, PointNum-32.程序实现如下:工程名:BSpring(1)将调和函数定义为成员函数,函数形式如下:double CBSpringView:N03(double t) return (-pow(t,3)+3*pow(t,2)-3*t+1)/6);/ pow()函数:求x的y次方(次幂)double CBSpringView:N13(double t) return (3*pow(t,3)-6*pow(t,2)+4)/6);double CBSpringView:N23(double t) return (-3*pow(t,3)+3*pow(t,2)+3*t+1)/6);doub
4、le CBSpringView:N33(double t) return (pow(t,3)/6);2编写OnDraw()函数,程序如下:int n,m,pointnum,i,j;int x10,y10,curx,cury; /(xi,yi)为顶点坐标double t,dt; CPen PenRed(PS_SOLID,1,RGB(255,0,0);/定义红色笔 CPen PenBlue(PS_SOLID,1,RGB(0,0,255);/定义蓝色笔n=3; pointnum=5; /5个顶点,那么绘制5-3=2段B样条曲线x1=10;y1=200;x2=40;y2=100;x3=100;y3=100;x4=150;y4=150;x5=150;y5=200;/绘出特征多边形pDC-SelectObject(&PenBlue);pDC-MoveTo(x1,y1);for (i=2;iLineTo(xi,yi);/绘制B样条曲线m=pointnum-n; dt=0.01;pDC-SelectObject(&PenRed);for (i=1;i=m;i+) /绘制m条段B样条曲线 t=0; for (j=0;jMoveTo(curx,cury); else pDC-LineTo(c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广播电视节目制作中的编剧策略考核试卷
- 信托公司财务风险分析与控制考核试卷
- 疫情网课班会课件小学生
- 塑料薄膜在户外运动装备的应用考核试卷
- 智能清洁电器的远程监控技术考核试卷
- 机器人传感器数据融合与应用考核试卷
- 苏州恒温配送合同范本
- 土建及市政合同范本
- 拍摄视频制作合同范本
- 毛坯公寓酒店合同范本
- 苏教版科学五年级下15《升旗的方法》教案
- 现代工业发酵调控绪论
- 超高性能混凝土项目立项申请(参考模板)
- 电缆桥架招标文件范本(含技术规范书)
- 试车场各种道路施工方案设计
- 部编版四年级语文下册第二单元《习作:我的奇思妙想》课件PPT
- PS零基础入门学习教程(适合纯小白)PPT课件
- XX输变电工程公司作业风险评估数据库(精品模板)
- 涂装行业常用日语单词集
- 头颈部影像学表现(详细、全面)
- 《国际商务》PPT课件.ppt
评论
0/150
提交评论