版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.集 美 大 学计 算 机 工 程 学 院实 验 报 告课程名称计算机图形学教程实验名称实验五、编程生成三次贝塞尔曲线实验类型设计型*日期12月12日地点成绩教师评语:实验目的:一方面,让学生对自由曲线的生成算法有更深入的理解,特别是对于曲线的逼近,能够通过实验编程来验证书上所提供的算法思想:另一方面,在图形程序设计方法如设计各种各样的图形、绘图函数的使用以及C和C+语言编程环境、程序的调试和测试方面受到比拟系统和严格的训练。实验容:运用所学的三次贝塞尔曲线生成的算法,根据以下数据点*, y:50, 100 80, 230 100, 270 140, 160 180, 50 240,
2、65 270, 120 330, 230 380, 230 430, 150计算出结果,并实现三段贝塞尔在屏幕上显示的功能实验要求:13段三次贝塞尔曲线在衔接点上要连续,曲线整体效果要光滑。2整个图形轮廓要清晰,色彩要清楚四、实验环境: 1PC,CPU:P4 2.0GHz以上,存:512M,硬盘:40GB以上; 2操作系统:Microsoft Windows 2000 /2003/*P; 3软件:VC或JAVA等。五、实验容及完成情况:#include graphics.h#include conio.h#include stdio.htypedef structdouble *,y;DPOI
3、NT; /定义构造体class Bezier /定义Bezier类private:DPOINT* bP;int m_ma*Inde*;void drawFrame();void drawCurve();void drawCurve(int p0,int p1,int p2,int p3);public:Bezier(DPOINT* p,int len); /定义构造函数void draw();Bezier:Bezier(DPOINT* p,int len) /构造函数的实现this -bP=p;m_ma*Inde*=len-1;void Bezier:draw() /通过公有函数调用私有函数d
4、rawFrame();drawCurve();void Bezier:drawFrame() /其功能是绘制出多边形和各个端点setcolor(12);for(int i=0;im_ma*Inde*;i+)line( bPi.*, bPi.y, bPi+1.*, bPi+1.y ); /绘制多边形circle(bPi.*, bPi.y,5); /绘制各个端点circle(bPm_ma*Inde*.*,bPm_ma*Inde*.y,5);void Bezier:drawCurve() /实现多段Bezier曲线绘制的功能for(int i=0;i=m_ma*Inde*-3;i+=3)drawCu
5、rve(i,i+1,i+2,i+3);void Bezier:drawCurve(int p0,int p1,int p2,int p3) /实现绘制*一段Bezier曲线的功能double tmp*=0.0;double tmpy=0.0;double t=0.0;for(;t=1.0;t+=0.001)tmp*=(-bPp0.*+3*bPp1.*-3*bPp2.*+bPp3.*)*t*t*t+(3*bPp0.*-6*bPp1.*+3*bPp2.*)*t*t+(-3*bPp0.*+3*bPp1.*)*t+bPp0.*;tmpy=(-bPp0.y+3*bPp1.y-3*bPp2.y+bPp3.
6、y)*t*t*t+(3*bPp0.y-6*bPp1.y+3*bPp2.y)*t*t+(-3*bPp0.y+3*bPp1.y)*t+bPp0.y;putpi*el(tmp*,tmpy,3);void main() /主函数的实现int graphdriver=DETECT,graphmode;initgraph(&graphdriver,&graphmode,E:tc3bgi);setbkcolor(0);outte*t*y(10,20,nnnnnn jisuan1013 2010810070 chengaowei);DPOINT* p;p=new DPOINT10; p0.*=50.0;p0.y=100.0;p1.*=80.0;p1.y=230.0;p2.*=100.0;p2.y=270.0;p3.*=140.0;p3.y=160.0;p4.*=180.0;p4.y=50.0;p5.*=240.0;p5.y=65.0;p6.*=270.0;p6.y=120.0;p7.*=330.0;p7.y=230.0;p8.*=380.0;p8.y=230.0;p9.*=430.0;p9.y=150.0;Bezier bzr(p,10);bzr.draw();delete p;getch();closegraph();运行结果:六、实验总结:通过这次实验,让我对自由曲线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024干股转让合同范本
- 2024年区块链技术研发合同标的与研发方向
- 2024年工程估价咨询合同
- 2024建筑工程水电合同
- 2024年企业级云计算平台开发与部署合同
- 2024年工程代理协议汇编
- 2024年工厂用地续租协议书
- 2024年展台搭建租赁合同
- 2024解除租赁合同的协议书范本
- 2024全新婚介服务合同范文:精准匹配与成功促成婚姻条款
- 2024年中职《餐饮服务与管理》职教高考必备考试题库(含答案)
- 2024年中核武汉核电运行技术股份有限公司招聘笔试参考题库含答案解析
- 中医针灸培训资料课件
- 背景调查管理规定模版
- 房地产公司设计类技术笔试(2018-2023年)真题摘选含答案
- 水利设施工程工期定额
- 高三化学一轮复习元素综合推断之结构式题型课件
- 蓝光BL6-U系列模块一体化控制器使用说明书V1.17(新国标版)
- 误吸急救处理护理课件
- iml工艺设计要求
- 新概念英语第2册课文(完整版)
评论
0/150
提交评论