- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形学Chapter 4
Computer Graphics 第4章 输出图元的属性 线属性 曲线属性 颜色和亮度等级 区域填充属性 字符属性 束属性 查询函数 反走样 4-1 线属性 线段的基本属性有线型、线宽和线色。 在一些软件包中,可以使用选择的画笔和笔刷来显示直线。 线型 线型属性包括实线、虚线和点线等。通过设置沿线路径显示的实线段的长度和间距来修改画线算法,以生成各种类型的线。 虚线:可以通过在实线段之间插入与实线段等长的空白段来显示。划线的长度和空白段长度经常作为用户的选项而进行指定。 点线:可以通过生成很短的划线和等于或大于划线大小的空白段而进行显示。 线型 为了在PHIGS应用程序中设置线段属性,用户需要调用函数:? setLinetype ( lt ) lt为1、2、3、4分别生成实线、虚线、点线、点划线。 线型 光栅线算法通过绘制像素段来显示线型属性。 对于各种划线、点线和点划线样式,画线程序沿直线路径输出一些连续像素段,在每两个实心段之间有一个给定长度的空白中间段。 段长度和中间空白段的像素数目可以用像素掩模指定, 像素掩模是包含数字0和1的字符串,用来指出沿线路径需要绘制哪些位置。 在二值系统上,掩模给出沿线路径应该装入帧缓冲器的位置,从而显示选定的线型。 线型 使用固定数目的像素来绘制划线会产生如图4-2所示的、在不同的直线方向生成不等长划线的现象。 如果要进行精确的绘制,那么对任何直线方向的划线长度应保持近似的相等。因此,可按照直线的斜率来调整实心段和中间空白段的像素数目。 线宽 线宽选择的实现取决于输出设备的能力。 在视频监视器上的粗线可以用相邻的平行线进行显示;而在笔式绘图仪上则可能需要更换画笔。 类似PHIGS中的其他属性,使用线宽命令来设置属性表中的线宽值。使用下面命令对线宽属性进行设置: ? setLinewidthScaleFactor ( lw ) ? 线宽 在光栅实现中(如Bresenham 算法),通过在每个采样位置处使用一个像素来生成标准线宽。 其他线宽则是作为标准线宽的正整数倍,通过沿相邻平行线路径绘制额外的像素而显示的。 线宽 对于斜率绝对值小于1的直线,可修改画线程序,通过在沿线的每个x位置绘制像素的垂直段来显示粗线。每段的像素数目等于参数lw的整数值。 线宽 对于斜率绝对值大于1的直线,可以在水平段交替地拾取线段路径左边和右边的像素而形成粗线。这个方法示例于图4-4中,其线宽为4,使用水平像素段进行绘制。 线宽 使用水平或垂直像素段实现线宽选择的一个问题是:直线的显示宽度取决于直线的斜率,45? 直线的宽度只有水平或垂直线的1/√2。 使用水平或垂直像素段实现线宽选择的另一个问题是:无论斜率大小,所生成直线的端点都是水平的或垂直的。这对于较粗的直线的影响则更为突出。 我们可以通过添加线帽(line cap)来调整线端的形状,从而给出更好的外观。 线宽 线帽的一种形式是方帽(butt cap),这种形式通过调整所构成的平行线的端点位置,使粗线的显示具有垂直于线路径的正方形端点。假如指定直线的斜率为m,那么粗线的方端的斜率为-1/m。 另一种线帽是圆帽(round cap),这种形式通过对每个方帽添加一个填充的半圆而得到。圆弧的圆心在线段的端点,其直径与直线宽度相等。 线宽 生成粗折线需要一些额外的考虑。通常,显示单根线段所用的方法不能生成平滑连接的一系列线段。 例如,使用水平或垂直像素段显示粗线,会在不同斜率的线段的连接处,其水平段变成垂直段时留下间隙。 线宽 可以通过在线段端点进行额外处理来生成平滑连接的粗折线。图4-6示意了两线段平滑连接的三种可能方法。 画笔或笔刷的选择 有些图形软件包中,可以选择画笔和笔刷的方式来显示直线。这种类型的选项包括形状、尺寸和样式。图4-7中给出了一些可能的笔和刷的形状。 画笔或画刷的选择 这些形状可以按像素位置的数值形式存储在一个像素模板中,然后再设置到线路径上。 画笔或画刷的选择 通过改变模板的尺寸,使用笔(刷)形状生成的直线可以有多种宽度。 通过将样式值加到画笔和画刷的标记上,可以按选定的样式显示线段。 画笔或画刷的选择 在绘画软件包中,可以额外提供模拟绘画技巧的显示。 图4-11示例了通过不同类型的毛笔笔画建模而显示的一些图案。 线颜色 当系统提供颜色(或亮度)选择时,给出的当前颜色索引的参数则包含在系统属性值表中。 折线程序以当前颜色显示折线,通过使用setPixel程序,将这种颜色设置在帧缓冲器中沿线路径的像素位置上而实现折线显示。 颜色选择的数目取决于帧缓冲器中每个像素的有效值数目。 在PHIGS中,使用下列函数设置线的颜色值: setPolylineColourIndex (lc) 4-2
文档评论(0)