第二章 直线和直线图形.pptVIP

  • 5
  • 0
  • 约8.1千字
  • 约 51页
  • 2017-08-25 发布于河南
  • 举报
第二章 直线和直线图形 直线是计算机图形学设计过程中最基本、最简单、最常用的图形,平面中的矩形、三角形以及多边形是最简单的直线组成,曲线的描绘中也是很小的直线去逼近;甚至在三维立体图形描述时,空间物体的棱边也是用直线来描绘的。 假设直线斜率在[-1,1]之间,可把刷子定成垂直方向,并把刷子中心点对准直线上某一象素点,然后将刷子沿直线运动,就刷出了一条具有一条宽度的直线. 绘制具有特殊线型的直线,如虚线,点划线等,也需要编制相应的算法来实现. 下面讨论误差项 ( 假设生成的直线角度在0-45度之间 ,斜率为m) 误差项 当 点B在A点上方, 当 点B在A点下方, 即 (xi ,yi) xi Xi+1 yi,r yi+1,r (xi+1 ,yi+1) A B D C E 误差项 之间的递推关系: 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 1. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 2. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 3. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 4. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 5. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 6. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 7. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 8. , 例题:已知起点(0,0) ,终点(8,4),用Bresenham算法绘制这一线段 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 2.2.3 Bresenham算法 8. , 2.3 线宽与线型 如何生成一定宽度的直线: 产生具有一定宽度的直线,可以沿着生成直线时获得的象素点,通过移动把具有一定的宽度“刷子”实现. 例如:生成直线的宽度为5 设生成的直线的斜率m的值范围是[-1,1] 2.3 线宽与线型 中心象素点 上二个象素 下二个象素 * * 2.1 直线以及直线的绘制 根据已知的两个坐标生成直线时应该满足以下几点: 1. 生成的直线要直 在生成直线时,对于水平线和垂直线是可以准确地画出来的,但对于一般的直线,由两点确定的线段不一定都能准确地通过网格交点。 (1)水平线 (2)垂直线 (3)一般线 因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。 2.1 直线以及直线的绘制 2. 直线的终止点要准 在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个累积误差。 例如: 因此在提高

文档评论(0)

1亿VIP精品文档

相关文档