新-第4章-二维图形生成和变换技术
23887《数字图像处理(第3版)》习题解答(上传)(1)
23887《数字图像处理(第3版)》习题解答(上传)(1)胡学龙编著《数字图像处理(第 3 版)》思考题与习题参考答案⽬录第1章概述 (1)第2章图像处理基本知识 (4)第3章图像的数字化与显⽰ (7)第4章图像变换与⼆维数字滤波 (10)第5章图像编码与压缩 (16)第6章图像增强 (20)第7章图像复原 (25)第8章图像分割 (27)第9章数学形态学及其应⽤ (31)第10章彩⾊图像处理 (32)第1章概述1.1连续图像和数字图像如何相互转换?答:数字图像将图像看成是许多⼤⼩相同、形状⼀致的像素组成。
这样,数字图像可以⽤⼆维矩阵表⽰。
将⾃然界的图像通过光学系统成像并由电⼦器件或系统转化为模拟图像(连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。
图像的数字化包括离散和量化两个主要步骤。
在空间将连续坐标过程称为离散化,⽽进⼀步将图像的幅度值(可能是灰度或⾊彩)整数化的过程称为量化。
1.2采⽤数字图像处理有何优点?答:数字图像处理与光学等模拟⽅式相⽐具有以下鲜明的特点:1.具有数字信号处理技术共有的特点。
(1)处理精度⾼。
(2)重现性能好。
(3)灵活性⾼。
2.数字图像处理后的图像是供⼈观察和评价的,也可能作为机器视觉的预处理结果。
3.数字图像处理技术适⽤⾯宽。
4.数字图像处理技术综合性强。
1.3数字图像处理主要包括哪些研究内容?答:图像处理的任务是将客观世界的景象进⾏获取并转化为数字图像、进⾏增强、变换、编码、恢复、重建、编码和压缩、分割等处理,它将⼀幅图像转化为另⼀幅具有新的意义的图像。
1.4 说出图像、视频(video)、图形(drawing)及动画(animation)等视觉信息之间的联系和区别。
答:图像是⽤成像技术形成的静态画⾯;视频⽤摄像技术获取动态连续画⾯,每⼀帧可以看成是静态的图像。
图形是⼈⼯或计算机⽣成的图案,⽽动画则是通过把⼈物的表情、动作、变化等分解后画成许多动作瞬间的画幅,再⽤摄影机连续拍摄成⼀系列画⾯,给视觉造成连续变化的图画。
第4章图形变换
y
xy
x' y'
A
A 10 26 2 0 0 20 13 1 A '
B
10
10
0
0 .5
0
=
20
5
1
B
'
C 20 10 0 0 1
40 5 1 C '
20
A’
10 B
C
B’
C’ x
图4.2 不等比例变换
10 20 30 40
2. 对称变换
对称变换可分为对坐标轴、±45°线和原点的对称变换。
1. 比例变换
比例变换是让点的x,y坐标各乘以一个比例因子,其变换 公式为:
x' = ax
y' = dy
因此,可令比例变换矩阵Ts为:
Ts=
a
0
0
0 b 0
0
0
,则:[X
1
Y
a
1]
0
0
0 b 0
0
0
= [ax dy 1] =
[X'
1
Y'
1]
其中a,d分别为x,y方向上的比例因子(a,d>0)。讨论:
xy
x” y”
A 10 26 1 1 2 0
10 46 1 A "
B 10
10
1
0
1
0
=
10
30
1
B"
C 20 10 1 0 0 1
20 50 1 C "
变换后的图见图4.6。
变换的结果是X坐标不变,而Y坐标产生一增量bx,使原 来平行于X轴的线倾斜θ角且tgθ= x/bx = 1/b。当b>0时,没+Y 向错切;b<0时沿–Y向错切。
计算机图形学基础答案全
计算机图形学作业答案第二章图形系统第二章图形系统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 的最大值。
AutoCAD 2017基础教程教学课件第4章绘制二维图形
段线的起点。
输入线段数目或 [块(B)]: 5↙
4.2 绘制直线、 射线和构造线
线是由点构成的,过两个点就可以确定一条直线。直线类命 令包括直线段、射线和构造线,这几个命令是AutoCAD中最简 单的绘图命令。
4.2.1 绘制直线
直线是最常用的基本图形元素之一,使用直线命令可以绘制直线,这 是最为常用的AutoCAD绘图命令。
【执行过程】 命令: RECTANG↙ 指定第一个角点或 [倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]://指定角点或对
//矩形进行设置
4.3.1 绘制矩形
【选项说明】 (1)倒角(C):用于绘制倒角的矩形,设置矩形的倒角距离,如图4-11所 示。 (2)标高(E):指定矩形的标高,即矩形在Z轴上的高度,这需要在三维 视图中才能观察到效果,如图4-12所示。 (3)圆角(F):指定矩形的圆角半径,如图4-13所示。
图4-2“点样式”对话框
1.绘制单点
4.1.1 绘制单点和多点
创建点的方法有两种:第一种方法是输入准确的坐标值创建点,如图4-
3所示。第二种是选择一个参考创建点,选择的点可以是对象上的点,也
可以是相对于对象之外的参考点,如图4-4所示。
图4-3输入准确的坐标值创建点
技术指南
图4-4选择一个参考创建点
图4-7 定数等分效果
【执行方法】
等分的起点随着对象 类型变化。对于直线
(1)在命令行中输入DIVIDE并按Enter键。
或非闭合的多段线,
(2)执行“绘图”→“点”→“定数等分”菜单命令。起 点 是 距 离 选 择 点 最
【执行过程】
近的端点。对于闭合
命令: DIVIDE↙
二维图形几何变换
矩阵表示法的具体形式和计算方法
矩阵表示法在二维图形几何变换中的应用和实现
定义:矩阵的加法运算是指将两个矩阵的对应元素相加,得到一个新的矩阵。
性质:矩阵的加法满足交换律和结合律,即A+B=B+A,(A+B)+C=A+(B+C)。
பைடு நூலகம்
运算规则:两个矩阵相加时,必须保证它们的维度相同,即行数和列数分别相等。
添加标题
添加标题
添加标题
矩阵变换的基本概念:介绍矩阵和几何变换的基本概念,以及它们之间的关系。
添加标题
矩阵变换的种类:列举常见的二维图形几何变换,如平移、旋转、缩放、错切等,并解释如何通过矩阵运算实现这些变换。
添加标题
矩阵变换的步骤:详细介绍如何通过矩阵运算实现二维图形的平移、旋转、缩放和错切等几何变换的步骤,包括变换前后的矩阵表示和计算过程。
汇报人:
,a click to unlimited possibilities
01
02
03
04
05
二维图形几何变换是指对二维图形进行旋转、平移、缩放等操作,使其在几何上发生变化的过程。
通过二维图形几何变换,可以实现图形的重新排列、调整和优化,从而满足不同的设计需求。
二维图形几何变换的基本要素包括原点、方向、角度和比例等,这些要素决定了变换的具体效果。
性质:逆矩阵与原矩阵的乘积为单位矩阵
应用:在二维图形几何变换中,矩阵的逆运算可用于还原图形的原始位置和形状
图像处理:平移变换常用于图像处理中的缩放、旋转等操作,以提高图像质量和分辨率。
动画制作:在动画制作中,平移变换可以用来实现角色或物体的移动、缩放等效果,增强视觉效果和表现力。
新-第4章-二维图形生成和变换技术
计算机图形学
二、直线
一条直线是指所有在它上面的点的集合,在图形学 中研究的对象是直线段。 已知线段的起点坐标(Xs, Ys)。终点坐标(Xe, Ye)这 两点就确定了这条线段,并用线段上的任意一点(x, y)均 满足:
x xe x xs y ye y ys
黄石理工学院计算机学院
二、 数值微分法(DDA法)
1.定义 数值微分法即DDA法(Digital Differential Analyzer), 这是一种基于直线的微分方程来生成直线的方法。 2.数值微分法的原理 设(x1,y1)和(x2,y2)分别为所求直线的端点坐标 ,由直线的微分方程得
dy dx
=直线的斜率
即
Dy y y 2 1 Dx x x 2 1
(3)逐点比较法生成直线C语言源程序。 偏差判 直线终 总步数控制步数 象限 别公式 端的坐标 void cb_line(int x1, int y1,int x2,int y2) { int dx, dy, n, k, i, f; int x, y; n=abs(x2-x1)+abs(y2-y1); if (x2≥xl) {k = y2 > = y1? 1:4;x=xl ; y= y1;} 根据端点 else {k = y2 >=y1? 2:3;x=x1;y=y1;} 坐标值判 putpixel(x,y,1); 断所在象 dx=abs(x2-x1); dy=abs(y2-y1); 限,并且
计算机图形学
Computer Graphics
王汝传 wangrc@ 黄海平 hhp@
林巧民 qmlin@
无线传感器网络研究中心
黄石理工学院计算机学院 教材:《计算机图形学》王汝传等 编著 人民邮电出版社
第4章 简单的二维图形
4.10.1 绘制多段线
• 多段线由彼此首尾相连的、可具有不同宽度的直线段或弧 线组成,并作为单一对象使用。多段线是AutoCAD中较为重 要的一种图形对象。使用“rectang”、“polygon”、 “donut”等命令绘制的矩形、正多边形和圆环等均属于多 段线对象。 • 执行“绘图”|“多段线”命令,系统提示如下。 • [圆弧(A)/半宽(H)/长度(L)/放弃(U)/宽度(W)]: • 各选项含义如下。 • 圆弧:用来绘制多段线的圆弧段。 • 半宽:指定从宽多段线线段的中心到其一边的宽度。 • 长度:指定直线长度。 • 放弃:删除最近一次添加到多段线上的直线段。 • 宽度:指定下一条直线段的宽度。 • 当输入A绘制圆弧时系统提示将有所改变,用户可以提示并 参考以上解释自己做学习。
4.6.1 圆心半径(直径)画圆
• 在机械制图中最常用的方法为圆心和半径画圆。 执行“绘图”|“圆”|“圆心、半径”命令,在命 令行提示下输入圆心坐标,指定圆半径就可以完 成圆的绘制,如图4.18所示。
4.6.2 2点画圆
• 两点画圆是通过确定的直径来确认圆的大小和位 置。2点即直径上的两个端点。执行“绘 图”|“圆”|“2点“命令,在命令行提示下输入决 定圆直径的两端点坐标就可以完成圆的绘制,如 图4.19所示。
4.5.3 外切圆方法
• 外切圆方法需要指定从正多边形圆心到各边中点 的距离。当已知正多边形为某圆的外切圆时应该 采用外切圆方法做图。同样可以使用鼠标直接在 屏幕点取半径,决定正多边形的旋转角度和尺寸。 指定半径值将以当前捕捉旋转角度绘制正多边形 的底边。下面将使用外切圆方法绘制一个中心点 在坐标原点,外切圆半径为10的正四边形。 • (1)执行“绘图”|“正多边形”命令,在命令行 提示下,输入边的数目4。 • (2)指定正多边形的中心点:(0,0)。 • (3)输入I指定采用外切圆的方法做圆。 • (4)指定内接圆的半径为10。完成图形的绘制。
acd 第4章
图4-6 移动矩形
图4-7 绘制画框
4.3.1 删除命令
4.3 删除与恢复
【执行方式】 命令行:OOPS 或 U 工具栏:“标准”| 快捷键:Ctrl+Z
【例4-2】 恢复删除线段。 第1步:调用上例中的画框图形,恢复删除的竖直辅助线,命令如下: 命令: OOPS 命令: 第2步:恢复竖直直线,如图4-8所示。
4.4.2 旋转
4.5 利用一个对象生成多个对象
【执行方式】 命令行:COPY 菜单:“修改”|“复制” 工具栏:“修改”| 快捷菜单:选择要复制的对象,在绘图区域右击,从弹出的快捷菜单中选择“复制选 择”命令
4.5.1 复制
4.5 利用一个对象生成多个对象
【例4-5】 绘制洗手间水盆。 第1步: 绘制洗手台结构。运用前面学到的直线和矩形命令绘制洗手台,如图 4-17所示。
图 4-9
电视柜图形
图 4-10
电视图形
4.4.1 移动
4.4 调整对象位置
第3步:调用移动命令将电视图形移动到电视柜图形上,如图4-11所示。命令 行如下: 命令: MOVE↙ 选择对象: 指定对角点: 找到 1 个 选择对象:(选择电视图形)↙ 指定基点或 [位移(D)] <位移>: (指定电视图形外边的中点)指定第二个点 或 <使用第一个点作为位移>: (F8关闭正交) <正交 关>(选取电视图形外 边的中点到电视柜外边中点)
第 4章 二维图形的编辑
4.1 构造选择集
AutoCAD提供以下几种方法构造选择集。 • 先选择一个编辑命令,然后选择对象,用回车键结束操作。 • 使用SELECT命令。 • 用点取设备选择对象,然后调用编辑命令。 • 定义对象组。
计算机图形学二维图形变换
变换矩阵为:
sx 0 (1 sx ) xr
T复合
0
sy
(1
s
y
)
xy
0 0
1
绕任意点 (x0 , y0 ) 旋转 角
变换步骤:
将旋转中心平移到坐标原点; 绕坐标原点旋转 ; 将旋转中心移回到 (x0 , y0 ) 。
两矩阵相乘
void matrix3x3PreMultiply(Matrix3x3 a,Matrix3x3 b) {
int i,j,k; Matrix3x3 tmp;
for(i=0;i<3;i++) for(j=0;j<3;j++) { tmp[i][j]=0; for(k=0;k<3;k++) tmp[i][j]+=a[i][k]*b[k][j]; }
for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=tmp[i][j];
}
顶点序列变换
void transformPoints() {
int i,j,k;
for(i=0;i<N;i++) for(j=0;j<3;j++) { pt[i][j]=0; for(k=0;k<3;k++) pt[i][j]+=point[i][k]*theMatrix[k][j]; }
0 0 1
关于y轴的对称变换
1 0 0
SYy
第四章 图形变换.ppt
cos
使矩形ABCD绕坐标原点逆时针旋转30°,其各点
坐标为:A(0,0)、B(2,0)、C(2,1.5)、D(0,1.5),则变换
后各点坐标为:0
2 2 0
0
0
0
1.5
1.5
cos30 sin 30
sin 30 cos30
1.732 0.982 0.75
例2:平移——旋转
1 0 0 cos sin 0
T 0 l
1 m
0 sin 1 0
cos
0
0 1
c os
s in
0
sin
cos
0
l cos m sin l sin m cos 1
可见平移量受旋转量影响。
三 三视图的变换矩阵
(一)三维物体数学模型的建立 变换方法
(二) 三视图的变换矩阵
1 主视图投影变换矩阵
主视图是立体向XOZ面(V面)作正投影,立体向 V面作正投影的实质是压缩变形,即所有的 y=0,可通 过单位变换矩阵控制Y坐标的第2列各元素为零,即:
3 对称变换 图 1 0
(1)对XOY坐标平面的对称变换 T 0 1
0 0 0 0
0 0
0 0
1 0
0
1
1
(2)对XOZ坐标平面的对称变换 T 0
0 0
00 1 0 01 00
0
0
0
1
1 0 0 0
(3)对YOZ坐标平面的对称变换T 0 1 0 0
1
平移矩阵为:T 0
l
0 0 1 0
m 1
1 0 0
第4章 二维图形变换_几何变换
y
几何关系
x' y y' x
o
x
矩阵形式
对称变换(5)
x
y 1 x
0 1 0 y 1 1 0 0 y x 1 0 0 1
2.错切变换(shear) (1)沿 x 轴方向关于 y 轴错切
将图形上关于y轴的平行线沿x方向推成θ角的
(4-1)
a b x ' y ' x y T x, y c d x ' ax cy a S x c 0 ' b 0 d S y y bx dy
矩阵形式
x
y x
Sx S y
y
2.旋转变换(rotation)
P
点P绕原点逆时针转θ度角 (设逆时针旋转方向为正方向)
P
x
旋转变换
几何关系
x r cos y r sin
(4-3)
x' r cos( ) r cos cos-r sin sin y ' r sin( ) r cos sin +r sin cos
4.齐次坐标表示
( x1 , x2 ,..., xn )
有n个分量的向量
(x1 , x2 ,..., xn , )
有n+1个分量的向量 哑元或标量因子
( x1 , x2 ,..., xn , )
( x1 / , x2 / ,..., xn / )
齐次坐标表示不是唯一的
1 规格化的齐次坐标
1 2 1 2 1 2 1 2
1
计算机图形学习题参考答案(完整版)
9、使用中点圆算法,绘制圆心为 (0, 0) ,半径 r 10 的圆在第一象限中的部分。 解:
k (x k, yk) (x k ', yk ') pk 0 (0,10) (10, 0) 1r 9 1 (1,10) (10,1) p0 2x 116 2 (2,10) (10, 2) p12x 2 11 3 (3,10) (10, 3) p2 2x 3 2x 4 12y 4 3 5 (5, 9) (9, 5) p4 2x 5 18 6 (6, 8) (8, 6) p5 2x 6 12y6 5 7 (7, 7)
1
度,可以沿着三个方向移动,也可以沿着三个方位旋转,同时还可以建立与其他三维空间的超链接。 因此 VRML 是超空间的。 7、图形的构成要素有哪些? 解: ① 刻画形状的点、线、面、体等几何要素; ② 反映物体表面属性和材质的灰度、颜色等非几何要素。 8、计算机图形学的最高奖以谁的名字命名,获得第一届和第二届该奖的分别是谁? 解: 计算机图形学的最高奖是以 Coons 的名字命名的, 获得第一届和第二届 Coons 奖的是 Ivan Sutherland 和 Pierre Bézier。
2
11、已知: A(0, 0) 、 B(1, 1) 、 C(2, 0) 、 D(1, 2) ,请判断多边形 ABCD 是否是凹多边形。 解: 多 边 形 的 边 向 量 为 AB (1,1, 0) , BC (1, 1, 0) , CD (1, 2, 0) , DA(1, 2, 0) 。 因 为
第 2 章 基本图元的显示
1、假设 RGB 光栅系统的设计采用 810 英寸的屏幕,每个方向的分辨率为每英寸 100 个像素。如果 每个像素 6 位,存放在帧缓冲器中,则帧缓冲器需要多大存储容量(字节数)? 解: 8100101006/8600000 (字节) 。 2、假设计算机字长为 32 位,传输速率为 1 MIP(每秒百万条指令) 。300 DPI(每英寸点数)的激光打 印机,页面大小为 8.511 英寸,要填满帧缓冲器需要多长时间。 解:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1)偏差判断公式
计 机图 机图
学
设要画线段OA,当前的位置为M,因为偏差角度很 设要画线段 ,当前的位置为 , 所以我们用OA和OM的斜率之差来计算偏差 。 的斜率之差来计算偏差δ。 小,所以我们用 和 的斜率之差来计算偏差 由下图可知: 由下图可知: δ=tgβ- δ=tgβ-tgα=
yM xM yA xA = y M xA - y AxM xM xA
计 机图 机图 学
(2)终点判断 开始 偏差判别 X方向移动
逐点比较法的执行过程 :
根据直线段所在象限以及偏差值 Fi的正负判断下一步的走步方向 Fi的正负判断下一步的走步方向 Y方向移动 终点判断通常采用减法计数器 设绘图步距为Δt 直线在X Δt, 设绘图步距为Δt,直线在X、Y方 向增量分别为Δx Δy, Δx和 向增量分别为Δx和Δy,从直线 起点画到终点在X 起点画到终点在X方向应走 Δx/Δt步 方向应走Δy/Δt Δx/Δt步,在Y方向应走Δy/Δt add(Δx/Δt,Δy/Δt) 结束 步。取add(Δx/Δt,Δy/Δt) 作为长度控制数并存入计数器内 根据直线段所在象限以及偏差值 ,在计算长度的方向上每走一步 Fi的正负计算 的正负计算Fi Fi的正负计算Fi+1 计数器减1 直到计数器为0 计数器减1,直到计数器为0时作 计 机图 学 机图 图停止。 图停止。
在直角坐标系中 点由( 点由(x,y)两 个数值组成的坐 标表示 在三维坐标系中点 是由( 是由(x,y,z) 三个数值组成的坐 标表示
Y
Y
ห้องสมุดไป่ตู้
X
X
Z
图4.2 点 二维 三 坐 系 的 示 在 、 维 标 统中 表
计 机图 机图
学
二、直线
一条直线是指所有在它上面的点的集合, 一条直线是指所有在它上面的点的集合,在图形学 中研究的对象是直线段。 中研究的对象是直线段。 已知线段的起点坐标(Xs, Ys)。终点坐标 已知线段的起点坐标 。终点坐标(Xe, Ye)这 这 两点就确定了这条线段,并用线段上的任意一点(x, y)均 两点就确定了这条线段,并用线段上的任意一点 均 满足: 满足:
http://10.20.79.1
第四章 二维图形生成和变化技术
4.1 4.2 4.3 4.4 4.5 4.6 4.7
基本绘图元素 直线段的生成 曲线的生成 区域填充 二维图形变换 二维图形剪裁 反走样技术
计 机图 机图 学
第四章 二维图形生成和变化技术
三维图形最终还是用二 又称立体图形 维图形,即图片、 维图形,即图片、屏幕 、纸张等的形式来表示 。 图形设备显示 曲线段时,最 曲线段时, 终还是将曲线 段转化成一系 列直线段逼近 表示
三次参数 曲线
计 机图 机图
学
四、区域填充
区域填充是一个彩色区域, 区域填充是一个彩色区域,可以是均匀的也可以是 不均匀的,区域边界可以是直线也可以是曲线。 不均匀的,区域边界可以是直线也可以是曲线。 可提供不同的内部填充类型用以充满区域内部, 可提供不同的内部填充类型用以充满区域内部,填 充的类型可能是不同的颜色, 充的类型可能是不同的颜色,不同的灰度或者不同的填 充图案。 充图案。还可以用方程生成的梯度变化曲线完成填充过 程。阴影填充可以通过来自一个光源的投影直线计算出 ,因而在填充区域中的像素相应地发生变化。用户可根 因而在填充区域中的像素相应地发生变化。 据系统硬件和软件,用一种或几种色彩进行填充, 据系统硬件和软件,用一种或几种色彩进行填充,也可 使用多种颜色填充区域。 使用多种颜色填充区域。 阴影填充 元素图
终点判别 偏差计算
(3)逐点比较法生成直线C语言源程序。 逐点比较法生成直线C语言源程序。 偏差判 直线终 总步数控制步数 象限 别公式 端的坐标 void cb_line(int x1, int y1,int x2,int y2) { int dx, dy, n, k, i, f; int x, y; n=abs(x2-x1)+abs(y2-y1); if (x2≥xl) {k = y2 > = y1? 1:4;x=xl ; y= y1;} 根据端点 else {k = y2 >=y1? 2:3;x=x1;y=y1;} 坐标值判 putpixel(x,y,1); 断所在象 dx=abs(x2-x1); dy=abs(y2-y1); 限,并且 找出直线 终端的坐 标
计 机图 机图 学
绘图仪绘制线段是笔在X,Y方向移动,画线时单方向的一 方向移动, 绘图仪绘制线段是笔在 方向移动 次移动距离称为步矩,设备的步矩越小,绘出的图形越精确。 次移动距离称为步矩,设备的步矩越小,绘出的图形越精确。 Y
绘图仪 画线段
O
X
计 机图 机图
学
三、曲线
曲线包括圆、椭圆、 曲线包括圆、椭圆、弧线和由许多类型的方程所确定 的图形。 的图形。在计算机图形程序设计中最好将曲线定义成不能 构成直线的点的集合。曲线被认为是图形学的基础。 构成直线的点的集合。曲线被认为是图形学的基础。
4.1 基本绘图元素
在第二章我们已讨论过坐标系统的世界坐标系、 在第二章我们已讨论过坐标系统的世界坐标系、规 范坐标系和设备坐标系三种坐标系。坐标系统确定之后 范坐标系和设备坐标系三种坐标系。 需要使用不同的绘图元素来描述图形,它们是点、 ,需要使用不同的绘图元素来描述图形,它们是点、直 曲线和其他基本的图形元素。 线、曲线和其他基本的图形元素。
4.1 基本绘图元素 4.2 直线段的生成 4.3 曲线的生成 4.4 区域填充 4.5 二维图形变换 4.6 二维图像裁剪 4.7 反走样技术
计 机图 机图
学
一、逐点比较法
1. 定义 在绘图过程中绘图笔每走一步就与规定的图形进行 比较,然后决定下一步走向, 比较,然后决定下一步走向,用步步逼近的方法画出规 定的图形(对于显示器原理相同) 定的图形(对于显示器原理相同) 2. 逐点比较法执行过程 (1) 偏差计算 下面我们以第一象限为例来说明偏差计算的方法
第四章 二维图形生成和变换技术
4.1 基本绘图元素 4.2 直线段的生成 4.3 曲线的生成 4.4 区域填充 4.5 二维图形变换 4.6 二维图像裁剪 4.7 反走样技术
计 机图 机图
学
一、点
点是图形中最基本的图素,直线、 点是图形中最基本的图素,直线、曲线以及其他的图 元都是点的集合。在计算机图形学中, 元都是点的集合。在计算机图形学中,点是用数值坐标来 表示的。 表示的。
计 机图 机图
学
4.2 直线段的生成
直线段是最基本的图形,因此, 直线段是最基本的图形,因此,直线段生成的质量好 坏与速度快慢将直接影响整个图形生成的质量和速度。 坏与速度快慢将直接影响整个图形生成的质量和速度。 直线生成算法在图形软件设计中起着关键的作用。 直线生成算法在图形软件设计中起着关键的作用。 下面介绍几种直线生成算法: 下面介绍几种直线生成算法: ①逐点比较法 数值微分法( ②数值微分法(DDA法) 法 第四章 二维图形生成和变换技术 Bresenham法 ③Bresenham法
又称平面 图形图形 所有图形我们都可以看成是由直线段组成。 无论什么复杂图形, 因此, 无论什么复杂图形,它们无 因此,所有图形我们都可以看成是由直线段组成。 非是由直线段和曲线段组成 对二维图形的处理是计算机图形学的基础 (三维图形经投影后最终变 计 机图 学 机图 成了二维图形) 成了二维图形)
计算机图形学
Computer Graphics
王汝传 wangrc@ 黄海平 hhp@ 林巧民 qmlin@ 无线传感器网络研究中心
教材: 计算机图形学》 教材:《计算机图形学》王汝传等 编著 人民邮电出版社
x − xe x − xs = y − ye y − ys
计 机图 机图
学
图形显示器是由一个个排列有序的像素所构成, 图形显示器是由一个个排列有序的像素所构成,画 一条直线实际上是根据一系列计算出来并与该线靠近的 像素而绘制。 像素而绘制。
由象素组 成的线段
因此, 因此,显示器划分的像素点越多分辨率越高
3)任意象限偏差计算 ) 对于第二、三、四象限的直线,也可类似推出。当直 对于第二、 四象限的直线,也可类似推出。 线段处于第二、 四象限时, 线段处于第二、三、四象限时,偏差值的计算及走步 方向如下表所示: 方向如下表所示: 直线段位 置 第一象限 第二象限 第三象限 第四象限 走步方向 +X +Y -X -Y 偏差F 偏差 K≥0 FK+1= + FK-YA FK+1= + FK+XA FK+1= + FK+YA FK+1= + FK-XA 走步方向 +Y -X -Y +X 偏差F 偏差 K< 0 FK+1= + FK+XA FK+1= + FK+YA FK+1= + FK-XA FK+1= + FK-YA
α β
计 机图 机图 学
线段下方, 当δ<0时,表示笔在 < 时 表示笔在OA线段下方,应该向 方向走一步 线段下方 应该向+Y方向走一步 线段上方, 当δ>0时,表示笔在 > 时 表示笔在OA线段上方,应该向 方向走一步 线段上方 应该向+X方向走一步 由于分母X 由于分母 MXA>0,因此只需判断分子 YMXA-YAXM的正负 , 即可,得偏差公式: 即可,得偏差公式: FM=YMXA-YAXM 对任意点,偏差函数的一般形式为: 对任意点,偏差函数的一般形式为: Fi=XAYi-YAXi 其中, 是终点A坐标 坐标。 其中,XA,YA是终点 坐标。 αβ 2)递推公式 ) 由公式可以看出,由于每次要计算两次乘法和一次减法, 由公式可以看出,由于每次要计算两次乘法和一次减法,所以 计算工作量大, 为了简化计算, 计算工作量大, 为了简化计算,可设法用前一点的偏差来推算后一 点的走步方向以及走步后的偏差,这种方法称为递推法。 点的走步方向以及走步后的偏差,这种方法称为递推法。递推公式 很容易用计算机实现。 很容易用计算机实现。