图形学课件2.1.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形学课件2.1

光栅扫描的显示系统 线图形生成原理 直线段扫描转换 圆弧扫描转换 椭圆弧扫描转换 阴极射线管(CRT) 工作原理 高速的电子束由电子枪发出,经过聚焦系统、加速系统和磁偏转系统就会到达荧光屏的特定位置。由于荧光物质在高速电子的轰击下会发生电子跃迁,即电子吸收到能量从低能态变为高能态。由于高能态很不稳定,在很短的时间内荧光物质的电子会从高能态重新回到低能态,这时将发出荧光,屏幕上的那一点就会亮了。 光栅扫描的显示系统 光栅扫描显示系统 特点:光栅扫描 扫描线 帧 水平回扫期 垂直回扫期 几个概念 行频、帧频 水平扫描频率为行频。垂直扫描频率为帧频。 逐行扫描、隔行扫描 隔行扫描方式是先扫偶数行扫描线,再扫奇数行扫描线。 几个概念 象素 整个屏幕被扫描线分成 n 行,每行有 m 个点,每个点为一个象素。整个屏幕有 m × n 个象素。 分辨率 指CRT在水平或垂直方向的单位长度上能分辨出的最大光点(象素)数,分为水平分辨率和垂直分辨率。通常用屏幕上象素的数目来表示。比如上述的 n 行,每行 m 点的屏幕分辨率为 m × n 。分辨率越高,相邻象素点之间的距离越小,显示的字符或图像也就越清晰。分辨率受显示器生产工艺、扫描频率以及显示存储器容量的限制。 几个概念 点距 相邻象素点之间的距离,与分辨率指标相关。 显示速度 指显示字符、图形特别是动态图像的速度,与显示器的分辨率及扫描频率有关。可用最大带宽(水平象素数 × 垂直象素数 × 最大帧频)来表示。 几个概念 色彩与亮度等级 亮度等级又称灰度,主要指单色显示器的亮度变化。色彩包括可选择显示器颜色的数目以及一帧画面可同时显示的颜色数,与荧光屏的质量有关,并受显示存储器VRAM容量的影响。 图像刷新频率 由于CRT内侧的荧光粉在接受电子束的轰击时,只能维持短暂的发光,根据人眼视觉暂留的特性,需要不断进行刷新才能有稳定的视觉效果,因此刷新是指以每秒30帧以上的频率反复扫描不断地显示每一帧图像。图像的刷新频率等于帧扫描的频率(帧频),用每秒刷新的帧数表示。目前刷新频率标准为每秒50~120帧。 几个概念 帧缓冲存储器(显示存储器) 存储用于刷新的图像信息的存储器。帧缓冲存储器的大小通常用X方向(行)和Y方向(列)可寻址的地址数的乘积来表示,称为帧缓冲存储器的分辨率。 帧缓存中单元数目与显示器上像素的数目相同,单元与像素一一对应,各单元的数值决定了其对应像素的颜色。 显示颜色的种类与帧缓存中每个单元的位数有关(图示帧缓冲器的每个单元只有一位)。 位面技术 显存分成若干颜色的位平面(bit plane) 各平面上相同位置的每一位和屏幕上的一个像素对应 同一像素点在各位面占同一地址 不同位面上同一像素地址中的内容决定像素的颜色 若有24个位面(每种基色8个位面) 可同时显示(28)3 =224颜色(24位真彩色) 简单的光栅扫描图形显示系统的结构 较为典型的光栅扫描图形显示系统的结构 优点: 成本低 易于绘制填充图形 色彩丰富 刷新频率一定,与图形的复杂程度无关 易于修改图形 缺点: 需要扫描转换 会产生混淆 线图形生成原理 一、直线段的扫描转换  找出逼近直线的一组象素,按扫描线顺序,对这些象素进行写操作。 1. 数值微分法(DDA) 假定直线的起点、终点分别为:(X0,Y0), (X1,Y1),且都为整数。  直线的斜率:    k = (Y1-Y0)/(X1-X0) 为讨论方便,假定 |k|=1 直线方程:    Y= k*X+B 设X的增量为Dx=1,可得如下Y的增量方程: Yi+1 = k Xi+1 + B = k (Xi + Dx) + B = kXi + B + k Dx = Yi + k Dx = Yi + k 增量算法:在一个迭代算法中,如果每一步的x、y值是用前一步的值加上一个增量来获得,则称为增量算法。 DDA算法就是一个增量算法。 程序实现: DDALine(X0,Y0,X1,Y1,Color) int X0,Y0,X1,Y1,Color; { int X float dx,dy,k,y dx=x1-x0; dy=y1-y0; k=dy/dx; y=Y0; for(x=X0;x=X1;x++){ drawpixe

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档