计算机图形学线宽和线型处理.ppt
《计算机图形学线宽和线型处理.ppt》由会员分享,可在线阅读,更多相关《计算机图形学线宽和线型处理.ppt(19页珍藏版)》请在三一文库上搜索。
1、第五讲 线宽和线型处理,1. 直线线宽的处理 (1)线刷子 生成具有一定宽度的直线,可以沿着生成直线时获得的像素点,通过移动一把具有 一定宽度的“线刷子”来实现。,假设直线斜率在-1,1之间,可把线刷子定成垂直方向,并将线刷子中心点对准直线上某一像素点,然后将线刷子沿直线运动就刷出了一条具有一定宽度的直线。 当直线斜率不在-1,1之间时,只需把线刷子运动方向改为水平方向即可。,LineBrush (int x,int y,int color) Drawpixel(x,y,color); Drawpixel(x+1,y,color); Drawpixel(x-1,y,color); Drawpi
2、xel(x+2,y,color); Drawpixel(x-2,y,color); Drawpixel(x-3,y,color); Drawpixel(x+3,y,color); ,水平线刷子的实现,线刷子的特点: 实现简单、效率高。 斜线与水平(或垂直)线粗细不均匀。 当线宽为偶数个象素时,线的中心将偏移半个象素。 利用线刷子生成线的始末端总是水平或垂直的,看起来不太自然,在两条直线的连接处会产生缺口; 解决:添加“线帽(line cap)”,当比较接近水平的线与比较接近垂直的线汇合时,汇合处外角将有缺口。,线刷子产生的缺口,(a)斜角连接,(b)圆连接,(c)斜切连接,解决:,斜角连接(m
3、iter join) 圆连接(round join) 斜切连接(bevel join),(2)正方形刷子 把边宽为指定线宽的正方形的中心沿直线平行移动,即可获得具有线宽的线条。 实现正方形刷子最简单的办法是:把正方形中心对准单象素宽的线条上各个元素,并把正方形内的象素全部置成线条颜色。这种简单方法将重复地写象素。这是因为相邻两象素的方形一般会重叠。,方刷子的特点: 简单,容易实现。 效率低。 线的末端总是水平或垂直的; 在两条直线的连接处会产生缺口; 宽度不均匀; 宽度为偶数时无法实现。 方刷子绘制的线条自然地带有一个“方线帽”,SquarBrush (int x,int y,int colo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 宽和 线型 处理
链接地址:https://www.31doc.com/p-2097954.html