下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四曲线生成算法一、目的和要求根据曲线的基础知识和常用曲线的数学基础,对其算法进行程序设计,验证算法的正确性,并通过程序结果加深对常用曲线数学模型的理解。;写出Bezier曲线的算法实现;写出B样条曲线的算法实现;二、实验内容(一)Bezier曲线的算法实现1、建立一个 BezierCurve的工程文件:2、右击CBezierCurveView类,建立成员函数:int CBezierCurveView:Multiply_n(int m, int n)用于的函数实现:! ( )! ! !double CBezierCurveView二Bernstein(int m, int n, double
2、 t)用于实现伯恩斯坦多项数的函数实现:( )3、编写自定义的成员函数代码:(注意:程序灰色底纹部分为自己添加,没有底纹的为工程文件自动生成。)int CBezierCurveView:Multiply_n(int m, int n)int i,j,a;if(m!=0)a=1;for(i=m+1;i=n;i+)a=a*i;for(j=1;j=n-m;j+)a=a/j;return a;elsereturn 1;)double CBezierCurveView:Bernstein(int m, int n, double t) (int i,j;double sum;sum=Multiply_n
3、(m,n);for(i=1;i=m;i+)sum=sum*t;for(j=1;jSelectObject(&PenBlue);pDC-MoveTo(array00,array01);for(i=0;iLineTo(arrayi0,arrayi1);/绘制Bezier曲线pDC-MoveTo(array00,array01);pDC-SelectObject(&PenRed);t=0.0;for(i=0;i=(int)1/dt;i+)curx=0;cury=0;for(j=0;jLineTo(curx,cury);t=t+dt;)5、编译、调试和运行程序,程序结果如下:6、尝试修改特征多边形的顶
4、点,生成其他形状的Bezier曲线。(二)三次B样条曲线的算法实现1、建立一个 BSplineCurveB勺工程文件:2、右击CBSplineCurveView类,建立成员函数,并添加代码如下: double CBSplineCurveView:f03(double t)(return(-t*t*t+3*t*t-3*t+1)/6);)double CBSplineCurveView:f13(double t) (return(3*t*t*t-6*t*t+4)/6);) double CBSplineCurveView:f23(double t) return(-3*t*t*t+3*t*t+3*
5、t+1)/6);)double CBSplineCurveView:f33(double t) (return(t*t*t)/6);)3、编写OnDraw()函数:(此例为5个顶点生成的两段三次B样条曲线的拼接)void CBSplineCurveView:OnDraw(CDC* pDC)(CBSplineCurveDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data hereint n,m,pointnum,i,j;int x5,y5,curx,cury;double t,dt;n=3;pointnum=5;x0=10;y0=200;x1=40;y1=100;x2=100;y2=100;x3=150;y3=150;x4=150;y4=200;pDC-MoveTo(x0,y0);for(i=1;iLineTo(xi,yi);m=pointnum-n;dt=0.01;for(i=0;im;i+) (t=0;for(j=0;jMoveTo(curx,cu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 香格里拉职业学院《艺术鉴赏-电影的视觉语言分析》2024-2025学年第二学期期末试卷
- 5.10计算机在控制系统中的作用(教学设计)-信息技术五年级下册同步备课(浙教版)
- 电机嵌线工班组考核知识考核试卷含答案
- 稀土永磁材料工创新应用测试考核试卷含答案
- 热敏电阻器制造工测试验证强化考核试卷含答案
- 绝缘成型件制造工岗前岗位考核试卷含答案
- 井矿盐制盐工安全知识宣贯评优考核试卷含答案
- 电池测试工安全应急水平考核试卷含答案
- 钨酸铵溶液制备工安全培训强化考核试卷含答案
- 水解蒸馏工安全技能测试模拟考核试卷含答案
- 2025年湖南长沙天心城市发展集团有限公司招聘笔试参考题库附带答案详解
- 盘发培训课件
- 新22J01 工程做法图集
- 高中生干部培训
- 2025固体矿产地质调查规范1:25000
- (一模)2024~2025 学年度苏锡常镇四市高三教学情况调研(一)英语试卷
- 《运营管理 第7版》课件 马风才 第01-6章 运营管理概论- 工作系统研究
- 设计符号学现代设计语言中的符号学在建筑设计中的运用
- 《功能材料学概论》课件
- 隧道照明工程施工方案
- 苏教版五年级数学下册全册教案与反思
评论
0/150
提交评论