西安石油大学计算机图形学计1201 张文江 习题5

合集下载

《计算机图形学》复习题答案

《计算机图形学》复习题答案

《计算机图形学》复习题答案一、计算机图形学试图从非图象形式的数据描述来生成(逼真的)图象。

数字图象处理旨在对图象进行各种加工以改善现有图片质量和视觉效果。

计算机视觉是研究用计算机来模拟生物外显或宏观视觉功能的科学和技术。

二、答: 首先计算初始值。

在这个问题中,dx=x 2–x 1=8-1=7, y=y 2–y 1=5-1=4,因此,∆1=2dy=8, ∆2=2(dy-dx)=-6, ∆= ∆1-dx=8-7=1 (3分)由算法算出的值如下表:(7分)三、从多边形内部任一点(象素)出发,依“左上右下“顺序判断相邻象素,若其不是边界象素,对其填充,并重复上述过程,直到所有象素填充完毕四、五六、答: Bezier 曲线的参数方程为:B(t)= ].1,0[,)(0,∈∑=t p t Bni i ni (2分)(2分) 经简单计算,有),())0()0(()0()0()0()0(011,11,0101,0,11,00P P n B B n p p nB B p B p B n n n n n -=-+-='+'='---(3分)))()(()1()!)1((!)!1()1())!1()1(()!1()!1())1)(()1(()!(!!)(1,1,1)1()1()1(111,t B t B n t t i n i n n t t i n i n n t t i n t t i i n i n t B n i n i i n i i n i i i n i n i n i --------------=-⋅⋅-----⋅⋅-----=⋅----⋅-=')())1()1(()1()1()1()1(11,1,111,1,,11----------=-+-='+'='n n n n n n n n n n n n n n n n P P n B B n p p nB B p B p B(3分)七、图(a):共10分(1)正确标出A 、B 、C 、各点, (3分) (2)正确绘制曲线, (5分) (3)说明(或作出)曲线上P 0、P 1各点的切矢, (2分 图(b):共10分A 为P 0P 1的中点,A 点的切矢为P 0P 1的走向且等于(P 1-P 0);B 为ΔAP 1C 中线P 1M 的中点,B 点的切矢平行于AC ,且等于1/2(P 2-P 0);C 为P 1P 2的中点,C 点的切矢为P 1P 2的走向且等于(P 2-P 1);D 为ΔCP 2E 中线P 2M 1的中点,其切矢平行于CE ,且等于1/2(P 3-P 1);E 为P 2P 3的中点,其切矢为P 2P 3的走向且等于(P 3-P 2)。

计算机图形学课后习题答案部分

计算机图形学课后习题答案部分

一、问答题(25 分,每题5 分)1 、列举三种常见的颜色模型,简要说明其原理和特点。

答:所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某颜色。

常用的颜色模型有 R G B 、 C M Y 、 H S V 等。

R G B 颜色模型通常用于彩色阴极射线管等彩色光栅图形显示设备中,它多、最熟悉的颜色模型。

它采用三维直角坐标系,红、绿、蓝为原色,各个可以产生复合色C MY 颜色模型以红、绿、蓝的补色青( C yan )、品红( Magenta )、黄( Yellow )为原色构成,常用于从白光中滤去某种颜色,又被称为减性原色系统。

印刷行业中 C MY 颜色模型。

H S V ( H ue , Saturation , Value )颜色模型是面向用户的,对应于画家的配色方5.1.2 中点 Bresenham 算法(P109)5.1.2 改进 Bresenham 算法(P112)习题5(P144)5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。

(P111)解: k<=-1 |△y|/|△x|>=1 y为最大位移方向故有构造判别式:推导d各种情况的方法(设理想直线与y=yi+1的交点为Q):所以有: yQ -kxQ-b=0 且yM=yQd=f(xM -kxM-b-(yQ-kxQ-b)=k(xQ-xM)所以,当k<0,d>0时,M点在Q点右侧(Q在M左),取左点 Pl (xi-1,yi+1)。

d<0时,M点在Q点左侧(Q在M右),取右点 Pr(xi ,yi+1)。

d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(xi ,yi+1) 。

所以有递推公式的推导:d2=f(xi-1.5,yi+2)当d>0时,d2=yi+2-k(xi-1.5)-b 增量为1+k=d1+1+k 当d<0时,d2=yi+2-k(xi-0.5)-b 增量为1=d1+1当d=0时,5.11 如图5-59所示多边形,若采用扫描转换算法(ET边表算法)进行填充,试写出该多边形的边表ET和当扫描线Y=4时的有效边表AET(活性边表)。

《计算机图形学》练习测试题

《计算机图形学》练习测试题

《计算机图形学》练习测试题库一.选择题1.实验表明,镜面反射系数W(θ)与物体类型和角度有关。

当角度θ在30到60度时,金、银玻璃三种物体的W(θ)值从小到大依次为( B )。

A 银、金、玻璃B 玻璃、银、金C 金、玻璃、银D 玻璃、金、银2.灰度等级为16级,分辨率为1024*1024的显示器,至少需要的帧缓存容量为( A )A 512KB;B 1MBC 2MB;D 3MB3.在面片的数量非常大的情况下哪一个消隐算法速度最快? ( C )A 深度缓存算法(Z-Buffer)B 扫描线消隐算法C 深度排序算法(画家算法)D 不知道4.双三次Bezier曲面的4条边界都是三次Bezier曲线,其特征网格有( C )个顶点。

A 9;B 12;C 16;D 205.下列有关平面几何投影的叙述,错误的是( C )A 透视投影又可分为一点透视、二点透视、三点透视;B 斜投影又可分为斜等测、斜二测;C 正轴测又可分为正一测、正二测、正三测;D 正视图又可分为主视图、侧视图、俯视图。

6.下面关于深度缓存消隐算法(Z-Buffer)的论断哪一条不正确? ( B )A 深度缓存算法并不需要开辟一个与图像大小相等的深度缓存数组B 深度缓存算法不能用于处理对透明物体的消隐C 深度缓存算法能并行实现D 深度缓存算法中没有对多边形进行排序7.用转角法判别点在区域的内外。

将疑点M与边界上一点P连接,当P沿边界移动一周时,M点处于区域外的是( A )A MP与给定的某条直线夹角变化值为0;B MP与给定的某条直线夹角变化值为2π;C MP与给定的某条直线夹角变化值为π;D MP与给定的某条直线夹角变化值为3π8. 在下列叙述语句中,不正确的论述为( C )A 在图形文件系统中,点、线、圆等图形元素通常都用其几何特征参数来描述;B 在图形系统中,图形处理运算的精度不取决于显示器的分辨率;C 在光栅扫描图形显示器中,所有图形都按矢量直接描绘显示,不存在任何处理;D 在彩色图形显示器中,使用RGB颜色模型。

《计算机图形学》练习试题及参考答案(四)

《计算机图形学》练习试题及参考答案(四)

《计算机图形学》练习试题及参考答案15、平面上给定三个顶点Qi (i=0,1,2),试构造一条插值这三个顶点的二次Bezier 曲线。

要求简述基本原理并画出示意图。

解:由曲线端点性质,知可以取Bezier 曲线的两端点P 0=Q 0,P 2=Q 2,下面构造P 1 点: 因为P(t)= P 0(1-t)2+ 2P 1(1-t)t+ P 2t 2,令l1=|Q 0Q 1|,l2=|Q 1Q 2|,,则可以取t1=l1/(l1+l2),有: P (t1)=Q 1从而可以求得:2221212012112()2l l Q l Q l Q P l l +--=这样就可以以P 0P 1P 2这特征多边形画出二次Bezier 曲线。

16、给定顶点P 0P 1P 2P 3P 4P 5P 6构成的控制多边形,绘出三次B 样条曲线的形状示意图。

要求:简要说明作图过程,保留作图辅助线,作出(或文字说明)曲线上各特征点的切线矢量。

P0 P2Q 0Q 2画出以P0P1P2 P3决定的地0段3次样条曲线:M1为P0P2的中点,A点位于P1M1的1/3处,A点的切矢平行于P0P2,且等于P0P2的1/2,A点的二阶导数矢量为中线矢量P1M1的两倍;M2为P2P3的中点,B点位于P2M2的1/3处,A点的切矢平行于P1P3,且等于P1P3的1/2,B点的二阶导数矢量为中线矢量P2M2的两倍;正确标出A、B两点、指出A、B点的切矢、指出A、B点的二阶导数矢量以同样的方法画出其它样条曲线。

16、如图,取正方形四个顶点P0,P1,P2,P3作为特征多边形顶点,采用二次B样条曲线绘出光滑封闭曲线的形状示意图。

采用三次B样条曲线绘出光滑封闭曲线的形状示意图。

要求:简要说明作图过程,保留作图辅助线,作出(或文字说明)曲线上各特征点的切线矢量。

1)作图简述:先画由P 0P 1P 2三点所决定的一段曲线。

取P 0P 1中点,该点的切矢方向及大小都与P 0P 1向量相同。

计算机图形学试题及答案完整版

计算机图形学试题及答案完整版

名词解释将图形描述转换成用像素矩阵表示的过程称为扫描转换。

1.图形2.像素图3.参数图4.扫描线5.构造实体几何表示法6.投影7.参数向量方程8.自由曲线9.曲线拟合10.曲线插值11.区域填充12.扫描转换三、填空1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。

2.直线的属性包括线型、和颜色。

3.颜色通常用红、绿和蓝三原色的含量来表示。

对于不具有彩色功能的显示系统,颜色显示为。

4.平面图形在内存中有两种表示方法,即和矢量表示法。

5.字符作为图形有和矢量字符之分。

6.区域的表示有和边界表示两种形式。

7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。

8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。

9.区域填充有和扫描转换填充。

10.区域填充属性包括填充式样、和填充图案。

11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,连接新的顶点序列即可产生新的变换后的图形。

12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。

13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。

14.图形变换是指将图形的几何信息经过产生新的图形。

15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。

16.实体的表面具有、有界性、非自交性和闭合性。

17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。

18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。

19.内点组成的集合称为集合的。

20.边界点组成的集合称为集合的。

21.任意一个实体可以表示为的并集。

22.集合与它的边界的并集称集合的。

23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。

24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。

25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。

计算机图形学习题解答

计算机图形学习题解答
当 b2 xi 0.5 p a2 yi 1 时转入上半部分。
初始值 d2用下半部分计算的最后像素点的坐标值来计算。
已知椭圆的长半轴a=12,b=8.用中点Bresenham画椭圆算法 确定第二象限椭圆弧上的像素点的位置,初始点为(-12,0).
解: 根据题意,先绘制椭圆弧的下半部分. y是最大位移方向,每次走一步,在y方向上加1,x方向上加1或加0. 构造判别式:
(4)d的初始值
d0
F
R 0.5, 2
R 2
1
1.25
2R 2
5.9解: 根据题意,算法要从点(a,0)到(0,b)逆时针确定第一象限椭圆弧。
先绘制椭圆弧的下半部分.
y是最大位移方向,每次走一步,在y方向上加1,x方向上减1或0.
构造判别式:
d1 F (xi 0.5, yi 1) b2 (xi 0.5)2 a2 ( yi 1)2 a2b2
4 2 2
45 2 2
1 1
5-2 2 4-2 2 1
(2)
1 0 0 0 1 0 1 0 0 0 1 0
T2
0
1 0 • 1 0 0 • 0 1 0 1 0 0
5 4 1 0 0 1 5 4 1 9 -1 1
4 1 1
8 3 1
7 3 1 • T2= 6 6 1
7 7 1
2 6 1
当d1 0时 d1 F (xi 0.5, yi 2) b2 (xi 0.5)2 a2 ( yi 2)2 a2b2 d1 a2 (2 yi 3) d1 288yi 432
d1的初始值:d1 F 11.5,1 608
下面绘制椭圆弧的上半部分. x是最大位移方向,每次走一步,在x方向上加1,y方向上加1或加0. 构造判别式:

计算机图形学题

一.单项选择题1.以下对DDA算法及Bresenham算法的描述中,错误的选项是〔 B 〕〔A〕DDA算法的本质是用数值方法解微分方程〔数值微分法〕。

〔B〕DDA算法效率低,但利于硬件实现。

〔C〕Bresenham算法只有加法和乘2计算,效率高。

〔D〕Bresenham算法的基本思想是借助于一个决策变量d的正负符号,来确定下一个该亮点的象素点。

2.以下对圆弧的生成算法中,可能造成所产生的圆是不封闭的算法是〔B 〕〔A〕扫描法〔B〕DDA算法〔C〕Bresenham算法〔D〕正负法3.电脑图形学与计算几何之间的关系是( B )(A〕学术上的同义词(B〕电脑图形学以计算几何为理论基础(C〕计算几何是电脑图形学的前身(D〕两门毫不相干的学科4. 对直线的扫描转换算法中,以下说法正确的选项是〔A 〕〔A〕Bresenham算法主要是通过借助于一个决策变量d的正负符号,来确定下一个该亮点的象素点。

〔B〕Bresenham算法中决策变量的计算式与上一次决策变量的正负无关。

〔C〕DDA算法主要利用整数进行计算,其效率较高。

〔D〕DDA算法不需要计算直线的斜率,但Bresenham算法需要。

5. 用中点法画线时,对坐标点P〔xi,yi〕,对M〔xi+1,yi+0.5〕有di=F(M)=F(xi+1, yi+0.5)<0,此时下一个象素应选择〔 C 〕〔A〕P1(xi+1,yi) (B)P2(xi,yi+1) (C)P3(xi+1,yi+1) (D)P4(xi,yi)6.对简单种子填充算法,其算法原理是将种子像素入栈,当栈非空时,将执行以下三个步骤:〔1〕栈顶像素点A出栈。

〔2〕按某一顺序查出与A相邻的4个像素,假设其中某个像素还是区域中原有颜色,或不为边界,则将该像素入栈。

〔3〕将A置成填充色。

其正确步骤为〔B 〕〔A〕〔1〕->〔2〕->〔3〕〔B〕〔1〕->〔3〕->〔2〕〔C〕〔2〕->〔3〕->〔1〕〔D〕〔3〕->〔2〕->〔1〕7.曲线分为规则曲线和自由曲线,以下为自由曲线的是〔 D 〕〔A〕渐开线〔B〕双曲线〔C〕双曲线〔D〕等高线8. 以下有关Bezier曲线性质的表达语句中,错误的结论为〔D 〕〔A〕Bezier曲线可用其特征多边形来定义。

计算机图形学-习题库及答案

计算机图形学-习题库及答案1、计算机图形显⽰器和绘图设备表⽰颜⾊的⽅法各是什么颜⾊系统?它们之间的关系如何?1、计算机图形显⽰器是⽤RGB⽅法表⽰颜⾊,⽽绘图设备是⽤CMY⽅法来表⽰颜⾊的。

它们之间的关系是:两者都是⾯向硬件的颜⾊系统,前者是增性原⾊系统,后者是减性原⾊系统,后者是通过在⿊⾊⾥加⼊⼀种什么颜⾊来定义⼀种颜⾊,⽽后者是通过指定从⽩⾊⾥减去⼀种什么颜⾊来定义⼀种颜⾊2、简述帧缓存与显⽰器分辨率的关系。

分辨率分别为640×480,1280×1024,和2560×2048的显⽰器各需要多少字节位平⾯数为24的帧缓存?2、帧缓存的⼤⼩和显⽰器分辨率之间的关系是:帧缓存的⼤⼩=显⽰器分辨率的⼤⼩*帧缓存的3、画直线的算法有哪⼏种?画圆弧的算法有哪⼏种?c1)逐点⽐较法;(2)数值微分法;(3)Bresenham算法。

画弧线的常⽤⽅法有:(1)逐点⽐较法;(2)⾓度DDA法;(3)Bresenham算法。

4、分别写出平移、旋转、缩放及其组合的变换矩阵。

4、1)平移变换:其中, , , 是物体在三个坐标⽅向上的位移量。

2)旋转变换:绕Z轴旋转的公式为:绕X轴旋转的公式为:绕Y轴旋转的公式为:如果旋转所绕的轴不是坐标轴,设其为任意两点p1,p2所定义的⽮量,旋转⾓度为。

则可由7个基本变换组合构成:1.使p1,点与原点重合;2.,使轴p1p2落⼊平⾯xoz内;3.,使p1p2与z轴重合;4.,执⾏绕p1p2轴的⾓旋转;5.,作3的逆变换;6.,作2的逆变换;7.作1的逆变换。

3)缩放变换:其中,,,是物体在三个⽅向上的⽐例变化量。

记为。

若对于某个⾮原点参考点进⾏固定点缩放变换,则通过如下的级联变换实现:5、如何⽤⼏何变换实现坐标系的变换?坐标系的变换,亦即将某⼀坐标系lcs1中的点变换为另⼀个坐标系lcs2下的坐标。

若,矩阵的推导分三步。

1)将lcs1中的点变换到世界坐标系的矩阵 ;x_axis, y_axis, z_axis 为lcs1中x,y,z轴⽮量在世界坐标系的表⽰org为lcs1中原点在世界坐标系的表⽰2)将世界坐标系的点变换到lcs2中的点矩阵 ;x_axis, y_axis, z_axis 为lcs1中x,y,z轴⽮量在世界坐标系的表⽰org为lcs1中原点在世界坐标系的表⽰a = - x_axis.x * org.x - x_axis.y * org.y - x_axis.z * org.zb = - y_axis.x * org.x - y_axis.y * org.y - y_axis.z * org.zc = - z_axis.x * org.x - z_axis.y * org.y - z_axis.z * org.z6、写出⼏种线裁剪算法;写出⼏种多边形裁剪算法。

计算机图形学试卷

● 题目:简述计算机图形学在游戏设计中的应用。 答案:计算机图形学在游戏设计中广泛应用于场景设计、角色建模、动画制作等 方面,为游戏提供逼真的视觉效果。 解析:简答题考察计算机图形学在游戏设计中的应用,属于应用领域题。 ● 答案:计算机图形学在游戏设计中广泛应用于场景设计、角色建模、动画制作等方面,为游戏提供逼真的视觉效果。 ● 解析:简答题考察计算机图形学在游戏设计中的应用,属于应用领域题。
● 答案:计算机图形学在游戏设计中扮演着至关重要的角色,它提供了逼真的图像和动画效果,增强了游戏的可玩性和吸引力。同时,计算机图形 学还为游戏开发者提供了丰富的工具和资源,简化了游戏制作的过程。
● 解析:这道题主要考察了计算机图形学在游戏设计中的应用和重要性,需要回答者对计算机图形学和游戏设计的相关知识有一定的了解。 ● 论述题2:计算机图形学中的光照模型及其应用场景 答案:计算机图形学中的光照模型是用来描述物体表面光照效果的数学模型,它由环境
简答题
什么是计算机图形学?
解释一下计算机图形学中的基本概 念,如像素、分辨率等。
添加标题
添加标题
添加标
描述一下计算机图形学中的基本算 法,如渲染算法、碰撞检测算法等。
论述题
计算机图形学在游戏设计中的应用和影响。 论述计算机图形学中的光照模型及其原理。 探讨计算机图形学中的纹理映射技术及其应用场景。 分析计算机图形学中的阴影生成算法及其优缺点。
● 题目:以下哪个不是计算机图形学的应用领域? 答案:A.游戏开发 解析:计算机图形学的应用领域包括电影制作、游戏开发、虚 拟现实、科学可视化等,而操作系统不是计算机图形学的应用领域。 ● 答案:A.游戏开发 ● 解析:计算机图形学的应用领域包括电影制作、游戏开发、虚拟现实、科学可视化等,而操作系统不是计算机图形学的应用领域。

《计算机图形学》1-8章习题解答

《计算机图形学》1-8章习题解答《计算机图形学》1-4章习题解答习题11.计算机图形学的研究内容是什么?答:几何模型构造,图形生成,图形操作与处理,图形信息的存储、检索与交换,人机交互及用户接口,动画,图形输出设备与输出技术,图形标准与图形软件包的研究等。

2.计算机图形学与图像处理有何联系?有何区别?答:计算机图形学与图像处理都是用计算机来处理图形和图像,结合紧密且相互渗透,但其属于两个不同的技术领域。

计算机图形学是通过算法和程序在显示设备上构造图形,是从数据到图像的处理过程;而图像处理是对景物或图像的分析技术,是从图像到图像的处理过程。

3.简述计算机图形学的发展过程。

答:略。

(参考:教材P3)4.简述你所理解的计算机图形学的应用领域。

5.如果使用每种基色占10比特的直接编码方式表示RGB 颜色的值,每一像素有多少种可能的颜色?答:824107374110242223101010==⨯⨯6.如果每个像素的红色和蓝色都用5比特表示,绿色用6比特表示,一共用16比特表示,总共可以表示多少种颜色?答:65536222655=⨯⨯7.解释水平回扫、垂直回扫的概念。

答:水平回扫:电子束从CRT 屏幕右边缘回到屏幕左边缘的动作。

垂直回扫:电子束到达每次刷新周期末尾,从CRT 屏幕右下角回到屏幕左上角的动作。

8.为什么很多彩色打印机使用黑色颜料? 答:彩色颜料(青、品红、黄)相对来说较贵,并且在技术上很难通过多种颜色产生高质量的黑色。

9.简述随机扫描显示器和光栅扫描显示器的简单工作原理和各自的特点。

答:随机扫描显示器的工作原理:要显示的图形定义是一组画线命令,存放在刷新缓存中,由显示控制器控制电子束的偏移,周期性地按画线命令依次画出其组成线条,从而在屏幕上产生图形。

特点:其显示的图形质量好,刷新缓存中的内容可局部或动态修改,分辨率和对比度高,并且图形不会产生锯齿状线条。

光栅扫描显示器的工作原理:将CRT屏幕分成由像素构成的光栅网格,其中像素的灰度和颜色信息保存在帧缓存中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章基本图形生成算法
5.2 DDA算法:
void DDALine(int x0,int y0,int x1,int y1,int color)
{
int x;
float dx,dy,y,k;
dx=x1-x0,dy=y1-y0;
k=dy/dx,y=y0;
for(x=x0;x<=x1;x++)
{
Drawpixel(x,int(y+0.5),color);
y=y+k;
}
}
中点Bresenham算法:
void MidBresenhamLine(int x0,int y0,int x1,int y1,int color) {
int dx,dy,UpIncre,DownIncre,x,y;
if(x0>x1)
{
x=x1;
x1=x0;
x0=x;
y=y1;
y1=y0;
y0=y;
}
x=x0;
y=y0;
dx=x1-x0;
dy=y1-y0;
d=dx-2*dy ;
UpIncre=2*dx-2*dy ; Downincre=-2*dy; while(x<=x1)
{
putixel(x,y,color); x++;
if(d<0)
{
y++;
d+=UpIncre;
}
else
d+=DownIncre;
}
}
中点Bresenham算法绘制(0,0)到(8,6)直线段
Bresenham算法:
void BresenhamLine(int x0,int y0,int x1,int y1,int color) {
int x,y,dx,dy,e;
dx=x1-x0 ;
dy=y1-y0 ;
e=-dx ;
x=x0 ;
y=y0 ;
while(x<x1 )
{
putpixel(x,y,color) ;
x++ ;
e=e+2*dy;
if(e>0)
{
y++;
e=e-2*dx;
}
}
}
Bresenham算法绘制(0,0)到(8,6)直线段
5.20 自交多边形的内外测试通常采用奇偶规则或者非零绕数规则。

奇偶规则:从测试区域的任意位置,假定为P点,做一条射线,若与该射线相交的多边形边的数目为奇数,则P是多边形内部的点,被测区域是多边形的内部,否则P是多边形外部的点,被测区域是多边形的外部。

为保证测试的正确性,射线不得与任何多变边与边的交点(包括共享顶点和交点)相交。

非零环绕数规则:首先按逆时针方向对多边形的顶点进行排序,使多变形的边为矢量,然后将环绕数初始化为零。

再从测试区域的任意位置,假定为P点,做一条射线,该射线不与任何多边形顶点相交。


从P点沿射线方向移动时,对在每个方向上穿过射线的边计数,每当多边形的边从右到左穿过射线时,环绕数加1,从左到右时,环绕数减1。

处理完多边形的所有相关边之后,若环绕数为非零,则P为内部点,被测区域是多边形内部;否则P外部点,被测区域是多边形外部。

奇偶规则和非零环绕数规则会产生不同的内部和外部区域。

相关文档
最新文档