实验二直线光栅化算法.docVIP

  • 22
  • 0
  • 约2.05千字
  • 约 5页
  • 2016-12-05 发布于重庆
  • 举报
实验二直线光栅化算法

实验二 直线和三角形光栅化算法 数媒1301 徐潞滨 201326810522 实验原理 DDA算法主要是根据直线公式y = kx + b来推导出来的,其关键之处在于如何设定单位步进,即一个方向的步进为单位步进,另一个方向的步进必然是小于1。算法的具体思路如下: 1. 输入直线的起点、终点; 2. 计算x方向的间距:△X和y方向的间距:△Y。 3. 确定单位步进,取MaxSteps = max(△X,△Y); 若△X=△Y,则X方向的步进为单位步进,X方向步进一个单位,Y方向步进△Y/MaxSteps;否则相反。 4. 设置第一个点的像素值 5. 令循环初始值为1,循环次数为MaxSteps,定义变量x,y,执行以下计算: a. x增加一个单位步进,y增加一个单位步进 b. 设置位置为(x,y)的像素值 代码设计和说明 #include stdlib.h #include GL/glut.h #includemath.h void Line(double x1,double y1,double x2,double y2) { float x, y, dx, dy; int k,i; if(abs(x2-x1)=abs(y2-y1)) { k=abs(x2-x1); } els

文档评论(0)

1亿VIP精品文档

相关文档