计算机图形学 第二章 二维基本图形的生成与二维区域的填充PPT课件

合集下载

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

计算机图形学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

计算机图形学ppt(共49张PPT)

计算机图形学ppt(共49张PPT)
实现自动化、智能化的 加工和生产。
应用领域
广泛应用于机械、电子、建筑、汽车等制造业领域。
计算机游戏设计与开发
游戏引擎
基于计算机图形学技术构建游戏引擎, 实现游戏场景、角色、特效等的渲染 和交互。
应用领域
广泛应用于娱乐、教育、军事模拟等 领域。
游戏设计
利用计算机图形学技术进行游戏关卡、 任务、角色等的设计,提高游戏的可 玩性和趣味性。
纹理映射与表面细节处理
纹理坐标
定义物体表面上的点与纹理图像上的点之间 的映射关系。
Mipmapping
使用多级渐远纹理来减少纹理采样时的走样 现象。
Bump Mapping
通过扰动表面法线来模拟表面凹凸不平的细 节。
Displacement Mapping
根据高度图调整顶点位置,实现更真实的表 面细节。
透明度与半透明处理
Alpha Blending
通过混合像素的颜色和背景颜 色来实现透明度效果。
Order-Independent Transparency
一种解决透明物体渲染顺序问 题的方法,可以实现正确的透 明效果叠加。
Depth Peeling
通过多次渲染场景,每次剥离 一层深度,来实现半透明物体 的正确渲染。
如中点画圆算法,利用圆 的八对称性,通过计算决 策参数来生成圆。
多边形的生成算法
如扫描线填充算法,通过 扫描多边形并计算交点来 生成多边形。
二维图形的变换与裁剪
二维图形的变换
包括平移(Translation)、旋转(Rotation)、 缩放(Scaling)等变换,可以通过变换矩阵来实 现。
二维图形的裁剪
后期制作
在影视制作后期,利用计算机图形学技术进行颜色校正、合成、剪 辑等处理,提高影片质量。

第二章绘制基本二维图形PPT课件

第二章绘制基本二维图形PPT课件
用自动追踪画线时的注意事项:
1 将极轴、对象捕捉、对象追踪都打开。 2 在工具/选项/草图中将自动追踪设置全部选上,在 工具/选项/用户配置中将输入的优先级选为键盘输入。
3 作图过程中仔细观察自动追踪工具栏的提示,按
照提示要求从键盘输入数据。
*正交偏移捕捉
正交偏移捕捉(不太方便)的操作:启 动直线命令后,出现line 指定第一点:输入 from回车,出现基点:光标在基点处点击, 出现偏移:再输入相对直角坐标值后回车。 见书P38图3-6。
移动鼠标指示直线方向,输入直线长度值回 即可。
课堂练习
1 作一个200×100的矩形。(分别用三种方法) 2 2 作图3-3(见书P37)
2.1.2 使用对象捕捉精确画线
单击状态栏中“对象捕捉”按钮可打开对象捕捉 模式,再次单击该按钮可关闭对象捕捉模式。对象 捕捉的快捷键是(F3)键。
功能: 可以保证你迅速准确地作图,它让鼠标智能地捕捉
二、自动追踪
在使用自动追踪功能时,必须打开对象捕捉。 AutoCAD首先捕捉一个几何点作为追踪参考点, 然后按水平、垂直方向或设定的极轴方向进行追 踪,再用键盘输入数据后回车即可。(任意角度斜线 上的追踪要用捕捉到延长线。先点直线再点捕捉到延 长线。光标移动到斜线的一端并沿斜线移动,当斜线 变为虚线时,从键盘输入距离值后回车。)
注意:选定修剪边界后,欲修剪去的那部分,必须是与修 剪边界相交的,而不是相接的。
相交
相接
小窍门:若点击修剪按钮后就点确定,则可以直接选择要
剪去的线段。
偏移复制对象( Offset)
1 功能:作平行直线或对圆及圆弧作同心拷 2 贝。
2 调用方法 (1)菜单:修改 →偏移 ; (2)工具栏图标 ; (3)命令:Offset

第二章二维基本图形的生成与二维区域的填充课件

第二章二维基本图形的生成与二维区域的填充课件

2019y/12i+/41)作为下一个象素点。
23
2.1.2 生成直线的Bresenham算法
• 因此只要利用(d1-d2)的符号就可以决定下 一个象素点的选择。为此,我们进一步定义一 个新的判别式:
• pi=△x×(d1-d2)=2△y·xi-2△x·yi+c (2-11) 式(2-11)中的△x=(x2-x1)>0,因此pi与(d1-
三、直线Bresenham算法思想之二

由于象素坐标的整数性,数学点(xi,yi)与所
取象素点(xi,yir)间会引起误差(εi),当xi列上已用
象素坐标(xi,yir)表示直线上的点(xi,yi),下一直
线点B(xi+1,yi+1),是取象素点C(xi+1,yir ),还是
2019D/12(/4xi+1,y(i+1)r)呢?
(2-12)
将式(2-12)减去(2-11),并利用xi+1=xi+1,
可得:
• pi+1= pi+2△y-2△x·(yi+1-yi) (2-13)
• 再假设直线的初始端点恰好是其象素点的 坐标,即满足:
• y1=mx1+b
(2-14)
2019/12/4
25
2.1.2 生成直线的Bresenham算法
我们知道,一幅图是由点、直线、曲线、多 边形填充区域以及字符串等组成。下面将讨论这 些基本图元的生成技术和算法。
2019/12/4
4
2.1 直线的扫描转换
一、数学直线 在数学上,理想的直线是一条由无穷多个无
限小的连续的点组成。
数学直线
2019/12/4

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

计算机图形学第二章基本图形的生成与计算ppt课件
• M在Q的上方-> P1离直线更近更近->取P1 • M与Q重合, P1、P2任取一点。
P2 Q
P=(xp,yp) P1
• 问题:如何判断M与Q点的关系?
直线中点画线法
假设直线方程为:ax+by+c=0 其中a=y0-y1, b=x1-x0, c=x0y1-x1y0 由常识知:
Fx, y0 Fx, y0 Fx, y0
Dy
1a True 1b False 2a Ture 2b False
1
m
1/m 1
-1
m
-1/m 1
3a True 3b False 4a Ture 4b False
-1
-m
-1/m -1
1
-m
1/m -1
表2.1
研究表2.1的数据,可以得到如下规律:
1、当|dx|>|dy|时
|Dx|=1 ,|Dy|=m
直线中点画线法
画线从(x0, y0)开场,d的初值
d0=F(x0+1, y0+0.5)= a(x0 +1)+b(y0 +0.5)+c
a+0.5b
= F(x0, y0)+a+0.5b =
由于只用d 的符号作判断,为了只包含整数运 算,
可以用2d代替d来摆脱小数,提高效率。
直线中点画线法
void Midpoint Line (int x0,int y0,int x1, int y1,int color)
否则
|Dx|=1/m ,|Dy|=1
2、Dx,Dy的符号与dx,dy的符号相同
依据上述规律可以生成直线,每生成一条直线 做两次除法,画线中的每点做两次加法,所以 DDA算法生成直线的速度还是很快的。

[课件]计算机图形学--二维几何变换PPT

[课件]计算机图形学--二维几何变换PPT
2018/12/2 34
连续旋转变换
应用于点P的两个连续旋转,得到的点P’的 坐标可计算为 P’ = R(θ2)[ R(θ1)P]= [R(θ2)R(θ1)]P 可以证明:两个连续旋转是可叠加的 R(θ2)*R(θ1)= R(θ1+θ2) 则P’的坐标可计算为 P’ = R(θ1+θ2)P
Other Transformations
大多数图形软件包中包含了平移、旋转和 缩放这些基本变换。有些软件包还提供一 些有用的其它变换,如反射(Reflection)和 错切(Shear)
2018/12/2
28
Reflection对称变换
对称变换后的图形是原图形关于某一轴线或原点 ty)P
2018/12/2 25
对于绕坐标原点的旋转变换
可简写为:P’ = R(θ)P
2018/12/2 26
对于相对于坐标原点在X和Y方向上的缩放变换
可简写为:P’ =S(sx , sy)P T、R和S分别时平移、旋转、缩放变换距阵
2018/12/2 27
2018/12/2
9
标准的旋转是当基准点在坐标 原点时,即物体绕坐标原点的 旋转。点P绕原点逆时针旋转θ, 得到P’点。则P和P’的坐标之 间的关系,如图,可如下表示 x’=rcos(θ+Ψ) =rcosθcosΨ - rsinθsinΨ y’=rsin(θ+Ψ) =rsinθcosΨ + rcosθsinΨ
P2 M 1 P1 M 2
21
齐次坐标:
是Maxwell.E.A在1946年从几何的角度提出来
的,它的基本思想是把一个n维空间的几何问 题转换到n+1维空间中去, 从形式上来说,就是用一个n+1维的向量表示 一个n维向量的方法,即n+1维向量表示n维空 间中的点。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
之所以取x2-x1和y2-y1中较大者作为步进方 向,是考虑沿着线段分布的象素应均匀,这在下 图中可看出。
01.08.2020
13
2.1.1 生成直线的DDA算法
另外,算法实现中还应注意直线的生成 方向,以决定Δx及Δy是取正值还是负值。
01.08.2020
14
2.1.1 生成直线的DDA算法
三、直线DDA算法实现:
数值微分法即DDA法(Digital Differential Analyzer),是一种基于直线的 微分方程来生成直线的方法 一、直线DDA算法描述:
设(x1,y1)和(x2,y2)分别为所求直线 的起点和终点坐标,由直线的微分方程得
01.08.2020
= m =直线的斜率 (2-1)
11
2.1.1 生成直线的DDA算法
16
2.1.1 生成直线的DDA算法
四、直线DDA算法特点:
该算法简单,实现容易,但由于在循环 中涉及实型数的运算,因此生成直线的速度 较慢。
五、直线DDA算法程序:
下面给出考虑不同斜率、不同方向直线 的DDA画线算法程序:
01.08.2020
17
2.1.1 生成直线的DDA算法
void DDAline(int x0,int y0,int x1,int y1,int color) { int x;
可通过计算由x方向的增量△x引起y的改
变来生成直线:xi+1=xi+△x
(2-2)
yi+1=yi+△y=yi+△x·m (2-3)
也可通过计算由y方向的增量△y引起x的
改变来生成直线:yi+1=yi+△y (2-4)
xi+1=xi+△x=xi+△y/m (2-5)
式(2-2)至(2-5)是递推的。
01.08.2020
float dx,dy,y,k;
dx=x1-x0,dy=y1-y0;
k=dy/dx,y=y0; for(x=x0;x<=x1;x++) {
putpixel(x,int(y+0.5),color); //在(x,y)处,
以color色画点
y=y+k;
}Байду номын сангаас
}
01.08.2020
18
2.1.2 生成直线的Bresenham算法
01.08.2020
7
2.1 直线的扫描转换
光栅直线
01.08.2020
8
2.1 直线的扫描转换
三、直线的扫描转换 直线的扫描转换,就是要找出显示平面上最佳逼近理
想直线的那些象素的坐标值,并将这些象素置成所要求的 颜色。
直线的扫描转换
由于一幅图中可能包含成千上万条直线,所以要求绘 制算 法应该:
目前,光栅显示技术占主要地位。
原因是:
1、光栅显示可以用颜色或图案来填充一 个区域;
2、光栅显示以象素为单位进行读写和存 储,可以实现对物体细节的描述;
3、图形的任意部分均可以被移动和复制。
01.08.2020
4
第二章 二维基本图形的生成与区域 填空
在这一章里,主要介绍在光栅输出设备上, 根据物体的坐标描述构造二维几何图形的方法。
xin=dx/steps
yin=dy/steps 6、设置初始象素坐标:x=x1,y=y1 7、用循环实现直线的绘制:
for(i=1;i<=steps;i++) { putpixel(x,y,color);/*在(x,y)处, 以color色画点*/
x=x+xin; y=y+yin;
}
01.08.2020
在光栅显示器上,象素是屏幕的最小显示单 位,因此二维图形的构造就是找出最靠近所描述 几何图形的那些象素,将它们置入规定的颜色并 放入帧缓存。
我们知道,一幅图是由点、直线、曲线、多 边形填充区域以及字符串等组成。下面将讨论这 些基本图元的生成技术和算法。
01.08.2020
5
2.1 直线的扫描转换
一、数学直线 在数学上,理想的直线是一条由无穷多个无
01
概况二
点击此处输入 相关文本内容
02
概况三
点击此处输入 相关文本内容
03
第二章 二维基本图形的生成与区域 填空
图元生成算法的要求:准确、亮度均匀、速 度快。
前面已经知道,矢量显示(随机扫描显示器) 和光栅显示是两种完全不同的图形显示技术。
01.08.2020
3
第二章 二维基本图形的生成与区域 填空
限小的连续的点组成。
数学直线
01.08.2020
6
2.1 直线的扫描转换
二、光栅平面显示的直线 但在光栅显示平面上,我们只能用二
维光栅格网上尽可能靠近这条直线的象素 点的集合来表示它。每个象素具有一定的 尺寸,是显示平面上可被访问的最小单位, 它的坐标x和y只能是整数,也就是说相邻 像素的坐标值是阶梯的而不是连续的。

从上面介绍的DDA算法可以看到,由于在循
环中涉及实型数据的加减运算,因此直线的生成
01.018.、202最0 接近数学上的直线;
9
2.1 直线的扫描转换
2、沿着线段分布的象素应均匀
不均匀的例子如下图所示,对同样长 的线段,如果进行图中的扫描转换,就会 因为斜率的不同,产生的象素个数不相等, 这样将导致象素亮度分布不均匀。
3、画线速度尽可能的快
01.08.2020
10
2.1.1 生成直线的DDA算法
第二章 二维基本图形的生成与区 域填空
掌握二维图元直线、圆、区域 填充、字符的生成算法。
理解二维图元生成的算法思想 并且用C语言进行算法的实现。
授课8学时(直线、圆:3学时;区域填充: 4学时;字符:1学时);
上机4学时(直线、圆:2学时;区域填充:
2学时)。
01.08.2020
1
整体概况
概况一
点击此处输入 相关文本内容
1、已知直线的两端点坐标:(x1,y1), (x2,y2)
2、已知画线的颜色:color 3、计算两个方向的变化量:dx=x2-x1
dy=y2-y1 4、求出两个方向最大变化量的绝对值:
steps=max(|dx|,|dy|)
01.08.2020
15
2.1.1 生成直线的DDA算法
5、计算两个方向的增量(考虑了生成方向):
12
2.1.1 生成直线的DDA算法
二、直线DDA算法思想:
选定x2-x1和y2-y1中较大者作为步进方向 (假设x2-x1较大),取该方向上的增量为一个象素 单位(△x=1),然后利用式(2-1)计算另一个方向 的增量(△y=△x·m=m)。通过递推公式(2-2)至(2 -5),把每次计算出的(xi+1,yi+1)经取整后送到显 示器输出,则得到扫描转换后的直线。
相关文档
最新文档