《计算机图形学教学资料第8讲文本生成及反走样技术.ppt》由会员分享,可在线阅读,更多相关《计算机图形学教学资料第8讲文本生成及反走样技术.ppt(36页珍藏版)》请在优知文库上搜索。
1、9/14/20231本章内容v直线的扫描转换v圆与椭圆的扫描转换v区域填充v二维裁剪v字符生成v反走样第五节 字符的表示和输出字符编码字库9/14/20233字符表示-数字编码vASCII American Standard Code for Information Interchangev国标码 中华人民共和国国家标准信息交换编码(GB2312-80)两个七位编码(区码、位码)9/14/20234GB2312-80内容7445 个图形字符的二进制数编码,包括:v3755+3008个汉字,使用频度达99.99%以上v202 个一般符号v22 个数字v52 个拉丁字母v169 个日文假名v48
2、个希腊字母v66 个俄文字母v26 个汉语拼音符号v37 个汉语注音字母9/14/20235字符表示-字库v点阵字符v矢量字符9/14/20236点阵字符用位图表示字符。1111110011001101100110111110011001101100111111111000000000000001111110011001101100110111110011001101100111111110000000100000009/14/20237点阵字符生成v生成字符点阵的实现过程:1.扫描来自打字机并加以放大的字符的图形2.对每个字符的单个像素进行必要的修饰3.在字符缓存区(存储字符图象的画布区域)
3、存储点阵v各种不同的字体需要不同的点阵集合9/14/20238点阵字符的存储v字符缓存区技术:把字符一个连一个地存储在画布中(所需存储空间非常宽,但存储高度仅是最高字符的点阵高度)字符缓存区局部示例v载入的字符可使用一个结构来描述,该结构包括:v字符图象在画布中存储的位置的索引v字符的点阵高度信息v相邻字符之间的空间间隔9/14/20239续:typedef struct int leftX,width;/*Horizontal location,width of image in font cache*/charLocation;typedef struct canvasID cache;i
4、nt descenderHeight,totalHeight;/*Height is a constant;width varies*/int interCharacterSpacing;/*Measured in pixels*/charLocation locationTable128;/*Explained in the text*/fontCacheDescriptor;9/14/2023109/14/202311字体的实现v针对不同的字符尺寸、字体、字型以及显示或输出设备的不同,需要不同的字符缓存超大存储量要求!(a)斜体字符示例(b)黑体字符示例9/14/202312矢量字符v利用
5、字符的笔划信息表示字符0P1P2P3P4P5P000yx111yx022yx133yx044yx155yx-1直线段-二次曲线、三次曲线落笔抬笔9/14/202313续:v实现:v使用字符的多边形或者曲线轮廓(用浮点参数描述)以抽象的与设备无关的方式存储字符v按需对以上格式进行变换v优点:v通过定义适当的缩放比例,可由已存储的单一表示形式生成多种不同尺度字符v对字符轮廓进行错切变换可以实现斜体字符的快速生成v字符轮廓可以进行任意的平移、旋转、缩放及裁剪9/14/202314点阵字符与矢量字符的比较v显示:v点阵字符-位块拷贝:简便快捷v矢量字符-画线:计算复杂速度慢v变换:v点阵字符:变形严重
6、v矢量字符:端点变换v存储:v点阵字符占用空间大v矢量字符占用空间小9/14/202315优化的使用策略v综合两种方式的优势:v以轮廓方式存储字符v将所需使用的字符按照指定的需求转换为点阵格式9/14/202316文本的裁剪v裁剪精度v串精度v字符精度v笔划精度TEXTTEXTTEXT9/14/202317小结v字符生成v字符编码v字符库 点阵字符:显示方便、占用空间大 矢量字符:画线显示、变换方便、占用空间小 优化策略:存储矢量字符+转换为点阵字符v字符裁剪v点阵字符:裁剪精度v矢量字符:(曲)线段裁剪9/14/202318第六节 反混淆技术v混淆:v因真实图形的离散表示而产生v例如:扫描转
7、换时采用的“all-or-nothing”方式引起锯齿或者阶梯现象v反混淆:v应用减少或者消除混淆的技术实现反混淆的图元绘制9/14/202319混淆的产生连续图形表示为离散图形时采样不足产生周期采样时周期采样时9/14/202320v提高分辨率(过取样或后过滤)v区域采样方法(前滤波)v非加权区域采样方法v加权的区域采样方法反混淆技术分类9/14/202321提高分辨率v实现(假设初始分辨率是 mn)v单个象素被细分成st个子象素v显示图形按照stmn分辨率进行扫描转换,记录每个子象素的颜色v原分辨率下象素所对应的颜色由其细分后的子象素颜色值的某种平均来定义v原理:9/14/202322)1
8、212 12221222(41nmcolornmcolornmcolornmcolornmvaluev简单平均计算子像素颜色的平均值1/41/41/41/49/14/202323续:v加权平均1/41/161/81/81/81/161/161/161/8 131341)13232313313 133(81)232323332333(161mmcolornmcolornmcolornmcolornmcolornmcolornmcolornmcolornmcolornmvalue1/41/161/81/81/81/161/161/161/89/14/202324算法特点v图形显示效果得以改善弱化了
9、锯齿现象v以存储及扫描转换时间的增加为代价是一种高代价的解决方案9/14/202325区域采样方法(1)v原理:v实际的线段总是有宽度的(至少是一个象素宽)v当锯齿边界与背景的对比度较为模糊时,显示出的线段失真不明显v边界模糊化的实现:象素亮度与象素落在线段内的面积成正比0 12 3456789 10111234509/14/202326v实现:以线段的扫描转换为例 用无宽度的理想线段绘制每一线段的外轮廓:线段首末端点的象素中心连线,并向外左右各延伸w/2做其平行线,再连接端点构成线段的轮廓区域采样方法(2)9/14/202327区域采样方法(3)v不妨认为象素是正方形。规定象素的色度值与该象
10、素与直线轮廓范围的公共部分的面积大小成正比:重叠部分越大,说明该象素越接近直线的核心部位,色度应接近前景色(完全落入时,则置为前景色);当公共部分面积较小时,表明它只在直线轮廓的边缘处应取介于前景色和背景色之间的色度值,以减轻锯齿效应。9/14/202328区域采样方法(4)12345678910110123450具体的色度取值采用非加权区域采样方法或加权区域采样方法9/14/202329(5)(4)(1)(2)(3)非加权区域采样方法像素值由线段与像素重叠的面积决定?:重叠面积的计算9/14/202330续:v重叠面积的近似计算:v像素分割为尺寸更小的子像素v计数落在线段轮廓内部的子像素的数
11、目9/14/202331技术特点v明显改善扫描转换图元的失真现象v具有以下三种属性:v与线段重叠的像素的值随着像素中心与线段距离的增加而递减v与图元不相交的像素的值将不受到图元的任何影响v相同的重叠面积产生相同的像素值分量,而与像素中心与区域的距离无关9/14/202332改进思路v相同重叠面积产生不同的像素分量:一个靠近像素中心的小区域比远离像素中心的较大区域应具有更大的影响9/14/202333非加权与加权1distance 权值01distance 权值0 权函数权函数:(左左)非加权的情形;非加权的情形;(右右)加权的情形加权的情形 绘制直线重叠区域像素子分体积Ws盒形加权函数W绘制直
12、线重叠区域像素子分体积Ws锥形加权函数W9/14/202334加权区域采样v改变了非加权区域采样方法的两个特点:v全部落在单位宽度的线内的像素的亮度值因受到权值的影响,亮度降低v中心到线段距离足够近的像素会获得较多的线段亮度贡献v降低了相邻像素之间的颜色对比,使过度更加光滑9/14/202335近似计算 1242125652468642565212421881Wjiijjyixcolorwyxvalue,559/14/202336本章总结v图元生成v线段v圆与椭圆v多边形v字符生成v图元处理v二维裁剪v反走样v数值微分法v中点画线法vBresenham画线法圆的扫描转换v中点画圆算法vBresenham画圆算法v内接正多边形迫近法椭圆的扫描转换v中点画法v多边形有序边表填充算法v边缘填充算法v种子填充算法v点阵字符v矢量字符线段裁剪vCohen-Sutherland线段裁剪算法vNicholl-Lee-Nicholl线段裁剪算法v梁友栋-Barsky裁剪算法多边形裁剪vSutherland-Hodgman多边形裁剪算法vWiler-Atherton多边形裁剪算法字符裁剪v提高分辨率v区域采样方法v非加权区域采样方法v加权的区域采样方法