实验三基本图形生成算法4.pptVIP

  • 5
  • 0
  • 约5.63千字
  • 约 26页
  • 2018-07-13 发布于江苏
  • 举报
实验三基本图形生成算法4

* * 实验三 基本图形生成算法 一. 概述: 本实验是根据光栅图形生成算法,以实现各种基本图形的绘制。 因此,首先要熟悉各种基本图形的生成算法原理,然后根据算法原理,编写相应的绘图程序。 下面仅对直线的DDA算法、 Bresenham算法、圆的生成算法作简单介绍。 1。数值微分(DDA)法 给定两个端点P0(x0,y0)和P1(x1,y1),线段的斜率k和截距b为: 画线过程从x的左端点x0开始,向x右端点步进,步长=1(个像素),计算相应的y坐标:y=kx+b,取像素点(x, round(y))作为当前点的坐标。 计算 yi+1= kxi+1+b=k(xi+ ?x)+b= kxi+b+k?x = yi+k?x 当?x =1时 yi+1 = yi+k 即:当x每递增1,y递增k(即直线斜率)。 上述采用的增量计算方法称为数值微分算法(Digital Differential Analyzer,简称DDA)。数值微分法的本质,是用数值方法解微分方程,通过同时对x和y各增加一个小增量,计算下一步的x、y值。 以下是适用于所有象限的DDA算法生成直线的C语言程序。 图3-1 DDA算法基本原理 复杂度:加法+取整 void DDALine(int x0,int y0,int x1,int y1,int

文档评论(0)

1亿VIP精品文档

相关文档