计算机图形学曲线的生成_第1页
计算机图形学曲线的生成_第2页
计算机图形学曲线的生成_第3页
计算机图形学曲线的生成_第4页
计算机图形学曲线的生成_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告( 2013 2014 学年第 二 学期)课程名称: 计算机图形学 姓 名: 学 院: 理学院 专 业: 物理学光通信 年 级: 2012级 实 验 报 告2014年 5月 29 日 第 34 节 综合 楼 426 号室进入实验室时间进入时仪器设备状况离开实验室时间离开时仪器设备状况机器号9:50良好11:30良好32实验项目名称生成曲线一、 实验目的掌握Bezier曲线的定义生成算法和离散生成算法二、 实验内容1. 编写程序,使一个物体沿着一条直线匀速移动。2. 编写程序,使一个物体围绕屏幕上一点匀速旋转。(可以课后完成)实验过程:1、知空间四点P0(200.0,200.0,2

2、40.0)、P1(230.0,440.0,240.0)、P2(250.0,40.0,240.0)、P3(280.0,280.0,240.0),根据Bezier曲线的定义编程绘制曲线。2、知空间四点P0(200.0,200.0,240.0)、P1(230.0,440.0,240.0)、P2(250.0,40.0,240.0)、P3(280.0,280.0,240.0),根据Bezier曲线的离散生成算法(de Casteljau算法)绘制曲线。三、 实验过程(步骤)及结果(源程序)一、实验内容1代码float Base(int i,int n,float t) int k,a=1,b=1;for

3、 (k=i+1;k=n;k+)a=a*k;for (k=1;k=n-i;k+)b=b*k;float bh=(float)a/b;for (k=1;k=i;k+) bh=bh*t;for (k=1;kMoveTo(int)x0,(int)y0);float xx=0,yy=0;int i=0;float bb=0;for (double t=0.05;t=1.;t=t+0.05)xx=0;yy=0;for (i=0;iLineTo(int)xx,(int)yy);void Cquxian:OnQuxian() CDC *pdc=GetDC();CPoint cp4;float x=200,23

4、0,250,280;float y=200,440,40,280;CPen pen;pen.CreatePen(PS_SOLID,1,RGB(225,0,255);pdc-SelectObject(&pen);quxian(pdc,x,y,3);/ TODO: Add your control notification handler code herevoid Cquxian:OnQuxian2() CDC *pdc=GetDC();CPoint cp4;cp0.x=200;cp0.y=200;cp1.x=230;cp1.y=440;cp2.x=250;cp2.y=40;cp3.x=280;

5、cp3.y=280;pdc-MoveTo(cp0);for (int i=1;iLineTo(cpi);/ TODO: Add your control notification handler code herevoid Cquxian:OnCancel() / TODO: Add extra cleanup hereCDialog:OnCancel();(1)编辑对话框截图:(2)实验内容1结果如下:二、实验内容2代码:void Cline:OnLine() CDC *pdc=GetDC();CPoint cp4;cp0.x=200;cp0.y=200;cp1.x=230;cp1.y=44

6、0;cp2.x=250;cp2.y=40;cp3.x=280;cp3.y=280;pdc-MoveTo(cp0);for (int i=1;iLineTo(cpi);/ TODO: Add your control notification handler code herevoid Clineji(CDC *pdc,float x,float y,const int n)pdc-MoveTo(int)x0,(int)y0);float xx4,yy4;int i=0;float bb=0;for (double t=0.05;t=1.;t=t+0.05)for (i=0;i=n;i+)xxi

7、=xi;yyi=yi;for (int k=1;k=n;k+)for (int i=0;iLineTo(int)xx0,(int)yy0);void Cline:OnLine2() CDC *pdc=GetDC();CPoint cp4;float x=200,230,250,280;float y=200,440,40,280;CPen pen;pen.CreatePen(PS_SOLID,1,RGB(255,0,0);pdc-SelectObject(&pen);Clineji(pdc,x,y,3);/ TODO: Add your control notification handler code herevoid Cline:OnCancel() / TODO: Add extra cleanup hereCDialog:OnCancel(); (1)编辑对话框截图:(2)实验内容2结果如下:四、存在问题及解决方法实验过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论