计算机图形学第二章

合集下载

02-计算机图形学基础(第二版)PPT课件

02-计算机图形学基础(第二版)PPT课件

透镜组
光 孔
触钮开关
导线
笔体 光导纤维
图2.3 光笔的结构
2021/7/22
7
图形输入设备
触摸屏(touch screen) 当用手指或者小杆触摸屏幕时,触点位置
便以光学的(红外线式触摸屏)、电子的(电 阻式触摸屏和电容式触摸屏)或声音的(声音 探测式)方式记录下来。
2021/7/22
8
图形输入设备
随机扫描(random-scan)的图形显示器中电 子束的定位和偏转具有随机性,即电子束的扫 描轨迹随显示内容而变化,只在需要的地方扫 描,而不必全屏扫描。
2021/7/22
31
随机扫描的图形显示器
2
Y
2
3
1
1
3
t
1
X
2
3
图2.16 随机扫描图形显示器的工作原理
2021/7/22
32
随机扫描的图形显示器
2021/7/22
52
2.4 显示子系统
光栅扫描图形显示子系统的结构 绘制流水线 相关概念
2021/7/22
53
光栅扫描图形显示子系统的结构
CPU
系统 主存
显示 控的光栅图形显示子系统
2021/7/22
54
光栅扫描图形显示子系统的结构
CPU
系统 主存
帧缓存
2021/7/22
41
液晶显示器——原理
液晶分子的排列在微弱的外部电场、磁场或者 应力、温度变化等作用下非常容易改变。当液 晶分子的某种排列状态在电场作用下变为另一 种状态时,液晶的光学性质随之改变,这种产 生光被电场调制的现象称为液晶的电光效应。
2021/7/22

计算机图形学2

计算机图形学2
直线的斜率为 k=△y/△x
当 △x>△y 时,让 x 从 x1 到 x2 变化,每
步递增 1,
那么,x 的变化可以表示为 xi+1=xi+1
y 的变化可以表示为 yi+1=yi+k
2.1.1 直线DDA算法 (Digital Differential Analyser)
用上式可求得图中直线 P1P2 和 y 向网格线的交点, 但显示时要用舍入, 找到 最靠近交点处的象素点耒 表示。 当 △x<△y 时,让 y 递 增 1,x作相应变化。
2.1.1 直线的扫描转换——中点画线算法
在d≥0时,取正右方像素点P1,则下一个中点M 坐标:M1(xp+2,yp+0.5),则下一个像素点的判 别式 d1=F(xp+2,yp+0.5)=a(xp+2)+b(yp+0.5)+c=d+a 故d的增量为a。
而若d<0,则取右上方像素点P2,则下一个中点M 坐标:M2(xp+2,yp+1.5),则下一个像素点的判 别式
2.1.2 直线Bresenham算法( 续)
求误差的初值P1,可将x1、y1和b代入式(2.4)中的xi、 yi而得到 P1 = 2dydx 综述上面的推导,第1a象限内的直线Bresenham算法 思想如下: ⒈ 画点(x1, y1),dx=x2x1,dy=y2y1,计算误差初值 P1=2dy dx,i=1; ⒉ 求直线的下一点位置 xi+1 = xi + 1 如果Pi>0,则yi+1=yi+1,否则yi+1=yi; ⒊ 画点(xi+1, yi+1); ⒋ 求下一个误差Pi+1,如果Pi>0,则Pi+1=Pi+2dy2dx, 否则 Pi+1=Pi+2dy; ⒌ i=i+1;如果i<dx+1则转步骤2;否则结束操作。

计算机图形学课件 1第一、二章

计算机图形学课件 1第一、二章
象素(Pixel):光栅显示器或图像阵列中的每个点称为一个象素。
分辨率(Dimension):水平和垂直方向的像素数目。
2)液晶显示器
CRT显示器存在着体积大、有辐射的缺点。因此人们又推出了LCD(Liquid Crystal Display,液晶显示器)。
TN型(Twisted Nematic,扭曲向列型)液晶显示器是最典型的液晶显示器。 TNT型(Thin Film Transistor,薄膜型晶体管)是常用的液晶显示器。
2)计算机图形学 见定义。
3)图像处理 输入和输出均为图像。例如平滑、锐化等。
客观世界 (对象模型)
计 算 机 图 形 学
计 算 机 视 觉
设备环境 (图形显示)
4)计算机视觉 分析和识别输入图像,并从中提取二维或三维的数 据模型或特征,再将其变换到抽象的描述
院(MIT)旋风I号(Whirlwind I)计算机的附件诞生 了。
50年代,计算机图形学主要应用于科学计算,为 计算机配置的图形设备仅具有输出功能。计算机图形 学处于准备和酝酿时期,称之为:被动式图形学。
50年代末期,MIT第一次使用了具有指挥和控制功 能的CRT显示器,操作者可以用笔在屏幕上指出被确 定的目标,它预示着交互式计算机图形学的诞生。
例如:各种导航软件、地图软件等。
与其紧密相关的系统还有:GPS(Global Position System)、RS(remote sensing ),俗称3S。
第二章 计算机图形硬件系统
2.1图形系统的组成:
中央处理器
系统存储器
显显 示处理器数
示 主 芯
显 存
模 转 换


系统总线 输入/输出设备
根据屏幕上荧光点的 排列不同,控制栅格也就 不一样。

计算机图形学ppt课件 第二章基本图形的生成与计算

计算机图形学ppt课件 第二章基本图形的生成与计算

for (x=x0; xx1, x++) drawpixel (x, int(y+0.5), color); y=y+k;



例:画直线段P0(0,0)--P1(5,2)
int(y+0.5) 0 0 1 1 2 2 y+0.5 0+0.5 0.4+0.5 0.8+0.5 1.2+0.5 1.6+0.5 2.0+0.5
角度DDA法
显然,确定x,y的初值及d值后,即可以增量方 式获得圆周上的坐标,然后取整可得象素坐标。 但要采用浮点运算、乘法运算、取整运算。
中点画圆法
利用圆的对称性,只须讨论1/8圆。第二个8分 圆 P(Xp ,Yp )
P1
M P2
P为当前点亮象素,那么,下一个点亮的象素可 能是P1(Xp+1,Yp)或P2(Xp +1,Yp +1)。
pi 2 xi dy 2 yi dx 2dy (2b 1)dx
(2.4)
在1a象限内,dx总大于0,所以pi可以判断d1d2的符号。Pi+1为
pi 1 2 xi 1dy (2 yi 1 2 yi 2 yi )dx 2dy (2b 1)dx
2( xi 1)dy (2 yi 1 2 yi 2 yi )dx 2dy (2b 1)dx
本算法是Bresenham在1965年提出。
设直线起点(x1,y1)终点(x2,y2),直 线可表示为 y mx b
y2 y1 dy b y1 m x1 , m x2 x1 dx
此处讨论先将直线方向限于1a象限,当
xi 1 xi 1

计算机图形学基础与CAD开发 第2章 图形输入输出设备

计算机图形学基础与CAD开发 第2章 图形输入输出设备

3. 图形扫描仪
功能: 图形扫描仪是利用光电技术和数字处理技术, 以扫描方式将图形或图像或者实物信息转换为数字信号的 一种输入装置。 主要用在图形图像处理、排版印刷、人事 档案管理、图纸存档管理、文字识别、机器翻译等领域。
种类:扫描仪主要分为滚筒式扫描仪和平面扫描仪。近 几年出现了笔式扫描仪、便携式扫描仪、胶片扫描仪、底 片扫描仪和名片扫描仪。
LED显示器基本结构是一块电致发光的半导体材料, 电流通过其中的化学物质而产生的光。
本节重点学习 : (1)基本概念 (2)光栅扫描显示器的结构、工作原理
一、光栅扫描显示器概念
➢ 显示器尺寸(显像管对角线的尺寸,以英寸为单位(1 " =2.54cm), 如15 " 、19"显示器)
➢ 像素点(Pixel)(1024×768 640×480)
➢ 屏幕分辨率(Screen Resolution) ➢ 点阵纵横比(Aspect Ratio)
(竖直与水平方向每英寸像素点之比) ➢ 前景(Foreground )
(屏幕上被字符和图形填充的区域) ➢ 背景(Background)
当使用者在台板上移动游标到指定位置,并将十字叉的交点对准数 字化的点位时,按动按钮,数字化仪则将此时对应的命令符号和该点的 位置坐标值排列成有序的一组信息,通过接口(多用串行接口)传送到 计算机。
种类:按结构与工作原理分,有电位梯度式、静电耦合 式、超声波式及电磁感应式等,其中电磁感应式应用较多。 功能:具有定位、拾取、选择三个基本功能。 主要性能指标有:
Ch2 图形输入与输出设备
本章掌握各种图形设备的结构、工作原理、性能指标。
图形输入设备 图形显示设备 图形输出设备
2.2 图形显示设备

计算机图形学基础答案全

计算机图形学基础答案全

计算机图形学作业答案第二章图形系统第二章图形系统1. 什么是图像的分辨率?什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。

在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。

2. 计算在240像素像素//英寸下640640××480图像的大小。

图像的大小。

解答:(640/240640/240))×(480/240)(480/240)或者(或者(或者(8/38/38/3)×)×)×22英寸。

英寸。

3. 计算有512512××512像素的2×2英寸图像的分辨率。

英寸图像的分辨率。

解答:512/2或256像素像素//英寸。

英寸。

第三章 二维图形生成技术a) 一条直线的两个端点是(0,0)和(6,18),计算x 从0变到6时y 所对应的值,并画出结果。

并画出结果。

解答:由于直线的方程没有给出,所以必须找到直线的方程。

下面是寻找直线方程(由于直线的方程没有给出,所以必须找到直线的方程。

下面是寻找直线方程(y y =mx mx++b )的过程。

首先寻找斜率:)的过程。

首先寻找斜率: m m == ⊿y/y/⊿⊿x x == (y 2-y 1)/(x 2-x 1) = (1818--0)/(6/(6--0) 0) == 3 接着b 在y 轴的截距可以代入方程y =3x 3x++b 求出求出 0 0 0==3(0)+)+b b 。

因此b =0,所以直线方程为y =3x 3x。

b) 使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?°之间的直线的步骤是什么? 解答:1.1. 计算dx dx::dx dx==x 2-x 1。

2.2. 计算dy dy::dy dy==y 2-y 1。

3.3. 计算m :m =dy/dx dy/dx。

4.4. 计算b: b b: b==y 1-m ×x 15.5. 设置左下方的端点坐标为(x ,y ),同时将x end 设为x 的最大值。

计算机图形学第二讲)

计算机图形学第二讲)
(random)
相关 数息名据,词表无:数 扫示线据 描:段表 方矢中示 式量::间从像表点上素示到矩(下阵bi,ǎo从sh左ì)到,右只,与有电端视点工信作
原理类似
持扫续描发方显式光示:时图电形间:子几(束p何e像属rs一性is支+te视快n觉c速e属移性ti(动mVe的i)s画ua笔l ,
可与1/随示10亮意波度a移t;器t1r动0工ib-6u,作0t毫e原只秒)理扫,类描真似实荧感屏图上形要显示的部分,
4
共五十八页
交互式计算机图形学-Interactive Computer Graphics
三 维 鼠 标
空间(kōngjiān) 球
扫 描 仪
5
共五十八页
交互式计算机图形学-Interactive Computer Graphics
索尼PS Hander
PS Move
任天堂 Virtual Boy
图形显示器:
体 CRT 显示器

• 随机扫描(sǎomiáo)显示器(矢量 发生器)

• 存储管式显示器

• 光栅扫描显示器
示 平板显示器

• 液晶显示器(LCD)

• 等离子(plasma)显示器
• Flat-plane CRT display
打印机(printer) 绘图仪(graph plotter)
•显示处理器(display processor)
x
y
寄存器
寄存器
水平和垂直 偏转电压
强度
显示 屏幕
存储器地址
象素寄存器
帧缓存
视频控制器刷新操作示例
17
共五十八页
交互式计算机图形学-Interactive Computer Graphics

最新2019-计算机图形学第二章-PPT课件

最新2019-计算机图形学第二章-PPT课件


是一维线性表,其每一项的内容对应一种颜色,它的 长度由帧缓存单元的位数决定,例如:每单元有8位, 则查色表的长度为28=256 目的:在帧缓存单元的位数不增加的情况下,具有大 范围内挑选颜色的能力:
2.1.4 光栅扫描的示系统 存放方式


颜色信息在帧缓存中两种存放方式:一是颜色值 直接存储在帧缓存中。二是把颜色码放在一个独 立的表中,帧缓存存放的是颜色表中各项的索引 值,颜色范围扩充了。 单色系统:查色表固化 彩显:可修改、创建查色表。
GKS
-- 提供了在应用程序和图形输入输出设备之间的 功能接口。 -- 与语言无关。 -- GKS提供了一个称为元文件的顺序文件接口 -- 应用程序的所有图形资源由GKS控制(通过 GKS元文件-GKSM) -- GKSM用于:图形信息存档;系统传送图形信息;
在GKS应用程序间传送图形信息; 与图形信息相关的非图形信息的存储和复用。
2.1 图形显示器
2.1.1 阴极射线管
2.1.2 彩色阴极射线管 射线穿透法 影孔板法 2.1.3 随机扫描显示系统
2.1.4 光栅扫描系统
2.1.1 阴极射线管
阴极射线管(CRT)
–组成:包括电子枪、聚焦系统、加速电极、偏转系统、荧光屏 –工作原理:电子枪发射电子束,经过聚焦系统、加速电极、
2.1.2 彩色阴极射线管

影孔板法

原理:影孔板被安装在荧光屏的内表面,用于精 确定位像素的位置
影孔板
外层玻璃
荧光涂层
2.1.2 彩色阴极射线管

影孔板的类型 点状影孔板 代表:大多数球面与柱面显像管 栅格式影孔板 代表:Sony的Trinitron与Mitsubishi的 Diamondtron显像管
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

逐点画线算法(3/19)
根据所画图线的已知条件(如直线两个 端点坐标等)计算画图所需要的一系列中间 点(即折线的端点)的坐标,称为插补运算。 插补运算可用软件或硬件实现,不少绘图 机采用插补器(或称线发生器、弧发生器) 来完成插补运算,目的在于提高图线生成 速度。逐点比较法可用于插补运算。
逐点画线算法(4/19)

什么是光栅图形学?
光栅显示器 -> 图形光栅化、 光栅化图形的处理

光栅显示器上显示的图形,称之为光栅图 形。光栅显示器可以看作是一个象素矩阵, 在光栅显示器上显示的任何一个图形,实 际上都是一些具有一种或多种颜色和灰度 象素的集合。由于对一个具体的光栅显示 器来说,象素个数是有限的,象素的颜色 和灰度等级也是有限的,象素是有大小的, 所以光栅图形只是近似的实际图形。如何 使光栅图形最完美地逼近实际图形,便是 光栅图形学要研究的内容。以后,我们提 到“显示器”时,如未特别声明,均指光 栅显示器。

2.2 逐点画线算法 在数学上,理想的直线是没有宽度 的,由无数个点构成的集合。当我 们对直线进行光栅化时,只能在显 示器所给定的有限个像素中,确定 最佳逼近于该直线的一组像素。用 写点方式对像素进行写操作,这就 是通常所说的用显示器绘制直线, 或直线的扫描转换
逐点画线算法(1/19)

逐点比较法算法的基本思想是:在绘制直线 的过程中,每绘制一个点就与原直线进行比 较,根据比较的结果决定下一步的走向,这 样一步一步逼近直线,逐点比较法的执行过 程如下:
第二章 直线扫描转换算法
1.光栅图形学 2.逐点画线算法
3.DDA画线算法
4.BRESENHAM画线算法
5.关于线宽线型
6.Visual
C++中基本绘图函数
2.1 光栅图形学
计算机图形学已成为计算机技术中
发展最快的领域,计算机图形软件 也相应得到快速发展。计算机绘图 显示有屏幕显示、打印机打印图样 和绘图机输出图样等方式,其中用 屏幕显示图样是计算机绘图的重要 内容。

逐点画线算法(16/19)



case 1 : { xx=x1; yy=y1; for (i=0;i<=k;i++) { pDC->SetPixel(xx,yy,color); if (((x2-x1)*(yy-y1)-(xx-x1)*(y2-y1))>=0) xx=xx+1; else yy=yy+1; } } return;
的终点为止。终点判断可由X及Y向总走步数
J(J=|x(a)|+|y(a)|)来控制,每走一步J减去1,当
J=0 时即到达终点。
逐点画线算法(8/19)



对其他象限内直线段生 成计算走步方向的规定 如下图所示。偏差的递 推计算均按以下两式进 行: 当沿X方向走步时, F(k+1)=F(k)-|y(a)|; 当沿Y方向走步时, F(k+1)=F(k)+|x(a)|。
一个对象,实质上是往帧缓存 寄存器的相应单元中填入数据。 画一条从(x1, y1)到 (x2, y2)的直线,实质上是一 个发现最佳逼近直线的象素序 列,并填入色彩数据的过程。 这个过程也称为直线光栅化。
直线扫描转换的本质
直线的扫描转换
确定最佳逼近于该直线的一组象素 按扫描线顺序,对这些象素进行写操作,
Y Fk<0 Fk<0
Fk≥0 O
Fk≥0
X Fk≥0 Fk<0
Fk<0
Fk≥0
逐点画线算法(9/19)
画点
LINE(0,0)TO(5,2)
F(0)=0 F(1)<0
(0,0)
(1,0) (1,1)
2
1
F(2)>0
F(3)>0 F(4)<0 F(5)>0 F(6)>0
(2,1)
(3,1) (3,2) (4,2) (5,2)
对一维图形,不考虑线宽,则用一个像 素宽的直线来显示图形。 任何图形的光栅化,必须显示在一个窗 口内,否则不予显示。即确定一个图形 的哪些部分在窗口内,哪些在窗口外, 即裁剪。
图形显示前需要:扫描转换+裁剪 裁剪---〉扫描转换:最常用,节约计算 时间。 扫描转换---〉裁剪:算法简单;



if (a1<a2&&b1>b2) { x1=a1; y1=b1; x2=a2; y2=b2; itype=2; } if (a1>a2&&b1<b2) { x1=a2; y1=b2; x2=a1; y2=b1; itype=2; }
逐点画线算法(14/19)
逐点画线算法(18/19)

注意:从一个理论上的算法提炼到具体一 个编译器可以运行编译的程序,可能会有 多种不同的编写程序方法,但执行效果是 一样的,都能体现算法的精髓。 上面的逐点画线算法没有实现计算误差中 F(K)的递推工作,效率可能会低点,同学 们可以考虑把这个可执行无误算法改进一 下。 优秀的程序不仅要求无误执行,还要有良 好的性能,茁壮性(出错处理好)等要求。

当K在OA上时,F(k)=0;
K在OA上方时,F(k)>0; K在OA下方时,F(k)<0。
逐点画线算法(6/19)


对第一象限内直线的生成规定如下: 当F(k)≥0时,绘图笔从当前位置沿+X方向走 一步,记作+Δx; 当F(k)<0时,绘图笔从当前位 置沿+Y方向走一步,记作+Δy;在绘图笔到达新 的位置时,应计算出新位置的偏差,为判断绘图 笔下一步走向作准备。 绘图笔走+Δx时,新点坐标为 X(k+1)=x(k)+1, y(k+1)=y(k) 这时新点偏差为 F(k+1)=x(a)y(k+1)-x(k+1)y(a)=x(a)y(k)x(k)y(a)-y(a)=F(k)-y(a)
逐点画线算法(17/19)





case 2 : { xx=x1; yy=y1; for (i=0;i<=k;i++) { pDC->SetPixel(xx,yy,color); if (((x2-x1)*(y1-yy)-(xx-x1)*(y1-y2))>=0) xx=xx+1; else yy=yy-1; } } return; } }
逐点画线算法(15/19)
//前面的代码具有我自己的风格,因为VC的 工作区坐标的特性,我们分析以后,画线存 在二个类型,即把理论中的分四个象限画线 情况归结为二类,画线起点和始点我们灵活 变化一下,简化编程。 int k=abs(x2-x1)+abs(y2-y1); // 书上的终点判别不是这么求的 xx=x1; yy=y1; switch (itype) {
逐点画线算法(5/19)
若画第一象限的直线OA,如上页图所示, 起点为O(0,0), 终点为A(xa, ya),设绘 图笔当前的位置为K(xk,yk),这里坐标均 为局部坐标。点K相对于直线OA的位置有三 种情况:点K在OA上方,点K在OA上以及点K 在OA下方。为判断点K与OA的相对位置,引 入偏差函数F(k)。 F(k)=x(a)y研究内容
直线段的扫描转换算法 圆弧的扫描转换算法 多边形的扫描转换与区域填充
字符
裁剪 反走样 消隐
直线段是最基本的图形,因此直线段生成 的质量好坏与速度快慢将直接影响整个图 形生成的质量和速度。所以直线段生成算 法在图形软件设计中起着关键的作用。 如果已知屏幕中直线段的二个端点,可以 有多种不同的数学方法来决定应改变在二 端点之间的哪些像素的亮度值才能显示出 二点间的直线,生成直线段的算法之间区 别主要是判别和生成x,y增量过程和方法 不同,所能适应的设备环境也不同。下面 介绍三种基本的画线算法。
void CMyView::OnPointline() { CDC *pDC=GetDC(); COLORREF color=RGB(255,0,0); // 前面四句就是设备环境,当然表现形式可以不

一样
逐点画线算法(12/19)
int a1=30; int b1=30; int b2=800; int a2=600; //我们实现最简单的画线算法,二点已经确定 //后面我们再讲如何交互 int x1,y1,x2,y2; //起始点坐标 int itype; //画线不同循环类型 int i; int xx,yy;
0
1
2
3
4
5
逐点画线算法(10/19)
优点: 整个算法实现可以使用整数,没有使 用浮点数运算,没有乘除运算,所以适合 硬件实现,大多数绘图仪使用这个算法。 缺点: 逐点画线法一次只能位移一步,所以 画出来的直线粗细不均匀。

逐点画线算法(11/19)
逐点画线算法VC源代码(不包含交互内
容,直接内置画线段的起始点,并且没 有实现F(k)计算的递推工作)
逐点画线算法(19/19)

上面这个程序还有些bug,那就是 不能绘制水平或竖直的直线,还有 未能实现F(k)的递推工作,这些留 给同学们去做,可以在程序中加入 一些代码来解决这个问题。同学们 还可以根据自己对算法的理解重新 编写代码,不用和我编写的思路一 样。比如实现四象限方向画图,判 断F(k)的正负,如果为正,分四种 象限情况走步,如果为负,分四种 象限情况走步。

计算机上常见的显示器为光栅图形显示器,光栅 图形显示器可以看作像素的矩阵。像素是组成图 形的基本元素,一般称为“点”。通过点亮一些 像素,灭掉另一些像素,即在屏幕上产生图形。 在光栅显示器上显示任何一种图形必须在显示器 的相 应像素点上画上所需颜色,即具有一种或 多种颜色的像素集合构成图形。确定最佳接近图 形的像素集合,并用指定属性写像素的过程称为 图形的扫描转换或光栅化。对于一维图形,在不 考虑线宽时,用一个像素宽的直、曲线来显示图 形。二维图形的光栅化必须确定区域对应的像素 集,并用指定的属性或图案进行显示,即区域 填充。
相关文档
最新文档