光栅图形学.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
清华大学
矢量轮廓字符 计算机图形学
• 特点:
– 点阵字符:存储量大,易于显示 – 矢量字符:存储量小,美观,变换方便; 但需要光
栅化后才能显示。
清华大学
计算机图形学
字符属性
–字体 宋体 仿宋体 楷体 黑体 隶书
–字高 宋体 宋体 宋体 宋体
–字宽 大海 大海 大海 大海
–字倾斜角
倾斜 倾斜
–对齐 (左对齐、中心对齐、右对齐)
在使用计算机处理图形信息时,计算机内部存储的图形 往往比较大,而屏幕显示的只是图的一部分。
清华大学
计算机图形学
问:为什么要裁减,直接处理呢?即:在绘制(写帧 缓存时)再处理?
清华大学
计算机图形学
最简单的裁剪方法是把各种图形扫描转换 为点之后,再判断各点是否在窗内。但那样太 费时,一般不可取。这是因为有些图形组成部 分全部在窗口外,可以完全排除,不必进行扫 描转换。所以一般采用先裁剪再扫描转换的方 法。
清华大学
计算机图形学
2.5.1直线段裁剪
• 直线段裁剪算法是复杂图元裁剪的基础。复杂 的曲线可以通过折线段来近似,从而裁剪问题 也可以化为直线段的裁剪问题。
2.5.1.1Cohen-Sutherland 2.5.1.2中点分割算法 2.5.1.3梁友栋-barskey算法。
清华大学
计算机图形学
2.5.1.1 Cohen-Sutherland裁剪
清华大学
计算机图形学
• 为快速判断,采用如下编码方法:
– 每个区域赋予4位编码 Ct CbCr Cl
1 Ct 0
y ymax other
1 Cb 0
y ymin other
1 Cr 0
x xmax other
清华大学
1 Cl 0
x xmin other
计算机图形学
1001
1000
清华大学
计算机图形学
• 汉字编码的国家标准字符集:GB2312-80。 该字符集分为94个区,94个位,每个符号由一 个区码和一个位码共同标识。区码和位码各用 一个字节表示。
• 为了能够区分ASCII码与汉字编码,采用字节 的最高位来标识:最高位为0表示ASCII码;最 高位为1表示表示汉字编码。
第二章 光栅图形学
2.1直线段的扫描转换算法 2.2圆弧的扫描转换算法 2.3多边形的扫描转换与区域填充 2.4字符 2.5裁剪 2.6反走样 2.7消隐
清华大学
计算机图形学
2.4 字符
• 字符指数字、字母、汉字等符号。 • 计算机中字符由一个数字编码唯一标识。
• 国际上最流行的字符集:“美国信息交换用标准代 码集”,简称ASCII码。它是用7位二进制数进行编 码表示128个字符;包括字母、标点、运算符以及 一些特殊符号。
可弃之。然后对另一段重复上述处理。
清华大学
计算机图形学
• 计算线段P1(x1,y1)P2(x2,y2)与窗口边界的交点
if(LEFT&code !=0) { x=XL; y=y1+(y2-y1)*(XL-x1)/(x2-x1);} else if(RIGHT&code !=0) { x=XR; y=y1+(y2-y1)*(XR-x1)/(x2-x1);} else if(BOTTOM&code !=0) { y=YB; x=x1+(x2-x1)*(YB-y1)/(y2-y1);} else if(TOP & code !=0) { y=YT; x=x1+(x2-x1)*(YT-y1)/(y2-y1);}
• 基本思想:对于每条线段P1P2分为三种情况处理分为三种情 况处理:
(1)若P1P2完全在窗口内,则显示该线段P1P2简称“取”之。 (2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。 (3)若线段不满足“取”或 “弃”的条件,则在交点处把线
段分为两段。其中一段完全在窗口外,可弃之。然后对另一 段重复上述处理。
– 点阵字符的显示分为两步。首先从字库中将它的位 图检索出来。然后将检索到的位图写到帧缓冲器中。
清华大学
计算机图形学
• 矢量字符:记录字符的笔画信息,而不是整个位 图,具有存储空间小,美观、变换方便等优点。 对于字符的旋转、缩放等变换,
– 点阵字符的变换需要对表示字符位图中的每一象素 进行;
– 矢量字符的变换只要对其笔画端点进行变换就可以 了。矢量字符的显示也分为两步。
清华大学
计算机图形学
– 显示:首先从字库中将它的字符信息。然后取出端 点坐标,对其进行适当的几何变换,再根据各端点 的标志显示出字符。
11111100 01100110 01100110 01111100 01100110 01100110 11111100 00000000
点阵字符
点阵字库中的位图表示
清华大学
计算机图形学
• 字库:为了在显示器等输出设备上输出字符, 系统中必须装备有相应的字库。字库中存储了 每个字符的形状信息,字库分为矢量型和点阵 型两种。
清华大学
计算机图形学
• 点阵字符:每个字符由一个位图表示,该位为1 表示字符的笔画经过此位,对应于此位的象素 应置为字符颜色。该位为0表示字符的笔画不 经过此位,对应于此位的象素应置为背景颜色。
0001 0101
0000 0100
1010 0010 0110
编码 清华大学
P1 P3 P4 P2
线段裁剪
计算机图形学
–若P1P2完全在窗口内code1=0,且code2=0,则“取” –若P1P2明显在窗口外code1&code2≠0,则“弃” –在交点处把线段分为两段。其中一段完全在窗口外,
清华大学
计算机图形学
点阵字符
11111100 01100110 01100110 01111100 01100110 01100110 11111100 00000000
点阵字库中的位图表示
清华大学
计算机ቤተ መጻሕፍቲ ባይዱ形学
– 在实际应用中,有多种字体(如宋体、楷体等), 每种字体又有多种大小型号,因此字库的存储空间 是很庞大的。解决这个问题一般采用压缩技术。
–字色 红色、绿色、蓝色
清华大学
计算机图形学
• 字符也是图形 • 方正的启发:符合国情才有生命力。
对软件的启发:ISO、CMM?中国特色? 思考:CAD软件
清华大学
计算机图形学
2.5 裁剪
• 裁剪:确定图形中哪些部分落在显示区之内,哪些落
在显示区之外,以便只显示落在显示区内的那部分图形。 这个选择过程称为裁剪。