冯月萍《计算机图形学》作业1答案.docVIP

  • 24
  • 0
  • 约1.42万字
  • 约 17页
  • 2018-05-13 发布于浙江
  • 举报
习题3. 推广本章第一节给出的产生线段的整数Bresenham算法,去掉0=m=1和x1x2的限制,使能完成对任意线段的扫描转换。 解答: Bresenham画线算法使用实际直线上点与可选像素点之间的距离差作为判别式。假设要绘制的空间任一直线段的两个端点为(x1, y1)和(x2, y2),如果保证x1≤x2,则Bresenham画线算法的处理分为图3.1中所示的四种情况。 第(1)种情况,直线的斜率m处于0和1之间,当x增量为1像素时,y增量在0与1之间,此时下一个可选像素点为P1(xp+1, yp)或P2(xp+1,yp+1)。此时在x = xp +1处直线上点的y值是y = m(xp + 1) + b,该点到P1(xp+1, yp)和P2(xp+1,yp+1)的距离分别为d1和d2: d1 = y – yp = m(xp + 1) + b - yp d2 = (yp + 1) – y = (yp + 1) – m(xp + 1) – b 这两个距离的差为: d = d1 – d2 = 2m(xp + 1) – 2yp + 2b – 1 若d0,则下一个像素点取P2(xp+1,yp+1);若d0,则下一个像素点取P1(xp+1, yp);若d=0,则下一个像素点可取这两个像素点中任意一个。为了简便d的符号的计算,可引入一个新的判别量pp: pp = Δxd = Δx(d1 –

文档评论(0)

1亿VIP精品文档

相关文档