- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符的表示和输出 要点:字符标准 点阵字符 矢量字符 圆域的填充 对每条扫描线,先计算该扫描线与圆相交的区域,再把区间内的象素用指定颜色填充。 区域填充图案 四种填充方法: (1)均匀着色方法:将图元内部像素置成同一颜色 (2)位图不透明:若像素对应的位图单元为1,则以前景色显示该像素;若为0,则以背景色显示该像素; (3)位图透明:若像素对应的位图单元为1,则以前景色显示该像素;若为0,则不做任何处理。 (4)像素图填充:以像素对应的像素图单元的颜色值显示该像素。 以图像填充区域 基本问题 关键是建立区域与图像间的对应关系 方法1:建立整个绘图空间与图像空间的1-1映射 图像(纹理) 以图像填充区域 方法1:将图案原点与填充区域外部某点对齐 适用: 动画中漫游 图像– 例,透 过车窗看外景 图象周期性排列 以图像填充区域 方法2:将图案原点与填充区域内部某点对齐 适用:图像作为区域表面属性的情况,例如,桌面与 其上的木纹。 混淆现象 混淆 : 用离散量(像素)表示连续的量(图形)而引起的失真,叫混淆或叫走样(aliasing)。 光栅图形的混淆现象 阶梯状边界; 图形细节失真; 狭小图形遗失:动画序列中时隐时现,产生闪烁。 不光滑(阶梯状)的图形边界 图形细节失真 狭小图形的遗失与动态图形的闪烁 反混淆方法 什么是反混淆 在图形显示过程中,用于减少或消除混淆现象的方法 1)提高分辨率方法 2)非加权区域采样 3)加权区域采样 反混淆方法 提高分辨率的反混淆方法 方法简单,但代价非常大。 显示器的水平、竖直分辩率各提高一倍,则显示器的点距减少一倍, 帧缓存容量则增加到原来的4倍,而扫描转换同样大小的图元却要花4倍 时间。 非加权区域采样方法 方法由来 两点假设 1、象素是数学上抽象的点,它的面积为0,它的亮度由覆盖该点的图形的亮度所决定; 2、直线段是数学上抽象直线段,它的宽度为0。 现实 像素的面积不为0; 直线段的宽度至少为1个像素; 假设与现实的矛盾是导致混淆出现的原因之一 非加权区域采样方法 解决方法:改变直线段模型,由此产生算法 方法步骤: 1、将直线段看作具有一定宽度的狭长矩形; 2、当直线段与某象素有交时,求出两者相交区域的面积; 3、根据相交区域的面积,确定该象素的亮度值 方法性质: 非加权区域采样方法 1)直线段对一个像素亮度的贡献与两者相交区域的面积 成正比,从而和像素中心点距直线段的距离成反比 (因为像素中心点距直线段距离越元,相交区域的面积 越); 2) 当直线段和某个像素不相交时,它对该像素的亮度 无 影响; 3) 相同面积的相交区域对像素的亮度贡献相同,而与 这个相交区域落在像素内的位置无关。 关键:如何计算这个面积? 非加权区域采样方法 -- 计算相交区域的面积 D 面积=(m*D*D)/2 D - - - - - - m 面积=D – m/2 像素实际显示的灰度值 == 所得面积 * 该像素的最大灰度值 m-直线斜率 D.m D D m ? 求相交区域的近似面积的离散计算方法 1、将屏幕象素分割成n个更小的子象素; 2、计算中心点落在直线段内的子象素的个数,记为k, 3、k/n为线段与象素相交区域面积的近似值 目的:简化计算 n = 16, k = 3 近似面积 = 3/16 加权区域采样方法 相交区域对象素亮度的贡献 依赖于该区域与象素中心的距离 * * 区域填充 矩形、多边形的扫描转换算法 区域填充,窗视变换, 图形裁剪 区域填充即给出一个区域的边界,要求对边界范围内的所有象素单元赋予指定的颜色代码。区域填充中最常用的是多边形填色,本节中我们就以此为例讨论区域填充算法。 多边形填色即给出一个多边形的边界,要求对多边形边界范围的所有象素单元赋予指定的色代码。要完成这个任务,一个首要的问题,是判断一个象素是在多边形内还是外。 在光栅扫描显示器和点阵输出的设备中,采用合理的算法和着色方法,就可以使图形色彩逼真,真实感地在二维平面上显示三维图形。 本节要点 区域填充的步骤及算法: 1、确定填表充区域,即确定被填充的象素 2、确定填充的颜色 主要方法:扫描线法、边缘填充法、种子填充法。 一般方法 利用顺序的扫描线,让它们与图形边界相交,并对两交点区间中的象素从左到右进行填充。 矩形区域的填充 设矩形的四条边分别为 xmin, xmax, ymin, ymax为了 将它用指定颜色均匀填充。 只要填充从ymin 到y
文档评论(0)