dda法新资料画直线和中点画圆法.docVIP

  • 17
  • 0
  • 约3.04千字
  • 约 6页
  • 2020-08-27 发布于湖北
  • 举报
DDA法 画直线和中点画圆法 一、实验目的和要求 1、理解并实现DDA直线画法、中点画圆法和椭圆的画法。 2、熟悉vc++6.0下实践图形算法(要求任意指定一个起始点坐标作为圆心和终止点坐标形成的半径) 二、实验步骤 1、实验算法 (1)DDA法画直线 (1)以给定的直线段的两个端点(x, y)、(x, y)作为输入参数。 (2)初始化,将初值x和y加上0.5,以保证计算精度。 (3)将两端点的水平和垂直差赋予参数dx和dy,dx= x- x,dy= y- y。 (4)选取dx和dy中绝对值较大的一个作为步数length。 (5)从象素位置(x, y)开始,确定生成下一象素位置每部所需增量,如果dx绝对值大于dy绝对值,且x 小于x,那么x与y方向增量分别为1和m;假如x方向变化大,但x大于x,那么就采取减量-1和-m作为其增量;在其他情况下,y方向使用单位增量(或减量),x方向使用1/m作为增量(或减量)。 (6)重复上一步length次。 (7)将获得的位置坐标值取整,作为象素的坐标值,并将象素颜色值存入与之相对应的帧缓冲器单元中去。 (2)中点画圆法 (1)输入圆的半径r和圆心(x,y)。先计算以原点为圆心、r为半径的圆周上的点,令初始点为(x,y)=(0,r)。 (2)置初始点决策参数F为1-r。 (3)在每一个x的位置,从n=0开始,进行下列检测:如果F小于0,则圆

文档评论(0)

1亿VIP精品文档

相关文档