计算机图形学实验指导书

计算机图形学实验指导书

ID:13255865

大小:381.00 KB

页数:15页

时间:2018-07-21

计算机图形学实验指导书_第1页
计算机图形学实验指导书_第2页
计算机图形学实验指导书_第3页
计算机图形学实验指导书_第4页
计算机图形学实验指导书_第5页
资源描述:

《计算机图形学实验指导书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《计算机图形学》实验指导书制定人:刘岩牛翠霞教研室:数字媒体教研室计算机科学与技术学院2008年9月-15-前言《计算机图形学》课程是计算机科学与技术专业的重要专业课程之一,计算机图形学的主要实验内容就是验证如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。该实验指导书给出了四个图形学中最基本的实验操作。即图形绘制、图形几何变换、图形裁剪和图形填充。力求学生通过该实验指导书,提高上机操作能力,将具体算法进行编程演示,达到更好的效果,并了解相应图形应用软件的开发编写情况。-15-实验要

2、求《计算机图形学》课程实验的目的是为了使学生在课程学习的同时,通过在具体的编程环境中的实际操作,对计算机图形学的基本概念和方法能有一个初步的了解,使学生更好地掌握《计算机图形学》教学大纲要求的内容。在《计算机图形学》的课程实验过程中,要求学生做到:一、预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前做出思考和分析。二、认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分析。写出程序设计说明,给出源程序框图和清单。三、遵守机房纪律,服从辅导教师指挥,爱护实验设备。-15-目录实验1基本

3、图形生成算法………………………………………………………(5)实验2多边形填充………………………………………………………………(8)实验3多边形裁剪………………………………………………………………(10)实验4图形变换…………………………………………………………………(13)-15-实验1基本图形生成算法一、实验目的直线的生成是用计算机生成图形最基本的技能,通过本实验使学生掌握如何用计算机生成直线和改变直线的属性。熟悉开发环境;生成直线、二次曲线等基本图形。二、实验原理一、直线的DDA算法DDA是数字微分分析式(Di

4、gitalDifferentialAnalyzer)的缩写。已知直线两端点(x1,y1)、(x2,y2),则斜率m为:   m=(y2-y1)/(x2-x1)=Dx/Dy;直线中的每一点坐标都可以由前一点坐标变化一个增量(Dx,Dy)而得到,垠)育v1["vI~5,L,`?!_[d即表示为递归式:  xi+1=xi+Dx yi+1=yi+Dy 递归式的初值为直线的起点(x1,y1),这样,就可以用加法来生成一条直线。二、Bresenham算法画直线 本算法由Bresenham在1965年提出。设直线从起点(x1,y

5、1)到终点(x2,y2)。直线可表示为方程y=mx+b。其中b=y1-m*x1,m=(y2-y1)/(x2-x1)=dy/dx   我们的讨论先将直线方向限于第一象限,在这种情况下,当直线光栅化时,x每次都增加1个单元,即xi+1=xi+1,而y相应增加应当小于1。为了光栅化,yi+1只可能yi+1=yi或者yi+1=yi+1。选择的原则是看精确值y与yi及yi+1的距离d1及d2的大小而定。计算式为:y=m(xi+1)+b(1.1)d1=y-yi(1.2)d2=yi+1-y(1.3)如果d1-d2>0,则yi+1

6、=yi+1,否则yi+1=yi。因此算法的关键在于简便地求出d1-d2的符号。将式(1.1)、(1.2)、(1.3)代入d1-d2,得d1-d2=2y-2yi-1=2(dy/dx)(xi+1)-2yi+2b-1-15-用dx乘等式两边,并以Pi=dx(d1-d2)代入上述等式,得Pi=2xidy-2yidx+2dy+dx(2b-1)(1.4)d1-d2是我们用以判断符号的误差。由于在1a象限,dx总大于0,所以Pi仍旧可以用作判断符号的误差。Pi-1为:Pi+1=Pi+2dy-2dx(yi+1-yi)(1.5)误差

7、的初值P1,可将x1,y1,和b代入式(1.4)中的xi,yi而得到:P1=2dy-dx(1.6)综述上面的推导,第一象限内的直线Bresenham算法思想如下:1.画点(x1,y2);dx=x2-x1;dy=y2-y1;计算误差初值P1=2dy-dx;i=1;2.求直线的下一点位置:xi+1=xi+1;ifPi>0则yi+1=yi+1;否则yi+1=yi;3.画点(xi+1,yi-1);4.求下一个误差Pi+1;ifPi>0则Pi+1=Pi+2dy-2dx;否则Pi+1=Pi+2dy;5.i=i+1;ifi

8、+1则转2;否则结束。一、实验内容(1)熟悉VC++6.0开发环境;(2)分别用DDA算法、Bresenham算法生成直线;用Bresenham算法和DDA算法生成圆。四、实验方法与步骤(1)在VC++6.0环境下创建名为BmpRead的MFC应用程序工程(单文档)(2)编程实现DDA算法和算法画直线,同时利用两种算法画圆。(3)算法示例:(4)DDA算法实

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。