二维图形的裁剪优秀课件

合集下载

二维图形裁剪

二维图形裁剪

te ∈[0,1]
P ( x0 , y0 ) P ( x1 , y1 ) 和矩形窗口下边的交点满足方程组 0 1 x0 + tl ( x1 - x0 ) = xmin + te ( xmax - xmin ) tl ∈[0,1] te ∈[0,1] y0 + tl ( y1 - y0 ) = ymin
P0在窗口内?

Y
P1在窗口内? N 求交点I, P0I既为 可见部分 Exit
Y

如何判断线段是 否显然不可见? 直线与窗口边如 何求交?
N P1在窗口内? Y P=P0 P0=P1 P1=P N P0P1显然不可见? Y N
P0P1完 全可见 Exit
N
P0P1与窗口有交? Y 求交点I0、I1, I0I1既为可见部分 Exit
18
2. Cohen-SutherLand算法-原理

如何判定应该与窗口的哪条边求交呢?

编码中对应位为1的边。
1000
1001
1010
0001
0000
0010
0101
0100
0110
19
2. Cohen-SutherLand算法-原理

按照左、右、下、上的顺序计算线段 P1(x1,y1)P2(x2,y2)与窗口边界的交点:
20
else if(BOTTOM&code !=0)
else if(TOP & code !=0)
2. Cohen-SutherLand算法-描述
BOOL done,draw; /*done: 完成;draw: 可见;*/ Unsigned char code1,code2; /*端点1,端点2的编码*/ While (!done) { if (判断code1,code2,若为第一种情况) { done = TRUE; draw = TRUE; } else if (为第二种情况) { done = TRUE; draw = FALSE; } else if (检查code1 ,若在窗口内) { 交换端点及端点的编码;以左,右,下,上的次序对端 点1进行判断及求交;将交点的值赋给端点1 } }/*End of while*/

计算机图形学-二维图形变换与裁剪ppt课件

计算机图形学-二维图形变换与裁剪ppt课件
18
基本几何变换——比例变换
比例变换是指对P点相对于坐标原点沿x方向放 缩Sx倍,沿y方向放缩Sy倍。 其中Sx和Sy称为比例系数。
Y
P'(4,3) P(2,1)
X
比例变换(Sx=2,Sy=3)
以坐标原点为缩放参照点 不仅改变了物体的大小和形状,也改变了位置(离原点的距离 )
19
基本几何变换——比例变换
21
基本几何变换——旋转变换
二维旋转是指将p点绕坐标原点转动某个角度 (逆时针为正,顺时针为负)得到新的点p’ 的重定位过程。
P' r θ r
α
图 旋转变换
22
Y
P X
基本几何变换——旋转变换
ቤተ መጻሕፍቲ ባይዱ
P' r P X
推导: α x r cos y r sin 极坐标: 逆时针旋转θ 角
P P T
27
规范化齐次坐标——平移变换矩阵
平移:
x 'y ' x y T xT y

1 0 0 x' y' 1x y 1 0 1 0 T T 1 x y
28
规范化齐次坐标——比例变换矩阵
比例:
S 0 x x ' y ' x y 0 S y
16
基本几何变换——平移变换
平移 将P点从一个坐标位置 移到另一个坐标位置的 重定位过程。
T P Tx
P' Ty
Y
X
图 平移变换
17
基本几何变换——平移变换
推导:
x' x Tx y ' y Ty

CG11-二维图形裁剪

CG11-二维图形裁剪

二维裁剪:线段裁剪 线段裁剪处理的基础有两个方面:
● 对象裁剪方法 ● 其它裁剪方法
– 尤其是对不能确定的线段,要计算 它与裁剪边界的交点,再通过对线 段的端点进行“内 - 外检测”来处 理线段。
裁剪
裁剪后
线段裁剪举例
☆二维裁剪定义 线段P1P2 ☆点的裁剪 由下端点 P1 开始,依次按左、右、 P2 ☆线段裁剪 上、下边界对 P1 检查,发现端点位 ● 线段裁剪举例 P2’ ◘ 算法举例 于裁剪窗口下。
裁剪窗口
二维裁剪时机选择
☆二维裁剪定义
◘ 二维裁剪时机
裁剪算法可用于世界坐标系中, 世界坐标系下的裁剪只有窗口内的部分映射到设备 空间中,而将落在窗口外的图形部分删除。
☆点的裁剪 ☆线段裁剪 ● 线段裁剪举例 ● 线段编码裁剪 ● 梁 -Barsky 裁 剪 ● NLN直线裁剪 ● 非矩形窗口裁
基本认识:裁剪窗口是二维对象;线段是一维对 象,两个对象维数不同不便比较。 解决思路:将待裁剪线段及裁剪矩形窗口均看作 点集,那么,裁剪结果即为两点集的交集。
解决办法:
设:P1P2所在直线为L; 记:该直线(或其延长线)与裁剪窗口的两交点 为Q1Q2,称为Q1Q2诱导窗口,它是一维的。 P1P2 关于矩形窗口的裁剪结果与 P1P2 关于诱 导窗口的裁剪结果是一致的
◘ 区域码生成 ◘ 内外点判断 ◘ 算法举例 ◘ 算法举例(续)
– 根据线段端点的区域码,可快速判断线段是否完全在裁 剪窗口内或外:
完全在窗口边界内的线段两个端点的区域码均为0000;
两个端点区域码同样位置都为 1的线段完全在裁剪矩形外。
– 测试线段更好的方法是对两个端点的区域码进行逻辑与 操作:

7、二维裁剪li

7、二维裁剪li

要点:每一条线段各5分,其中,线段两端点编码正 确1分,严格按照裁剪算法步骤进行裁剪4分。
中点分割法(1)---近似求解

用两个端点的坐标与窗口参数x 、 x 、 y 、 y 的关 系判断线段是否完全不可见,(类似前节首先编码)。
L R T B
p0
p0
p0
A
pm B p1 pm
p1
p1

1.
从p0出发寻找最近可见点p 若p0可见,不用找了p = p0 若p0不可见,取中点pm=(p0+p1)/2

某种作物
行政区划
Weiler-Atherton算法

主多边形为A,裁剪多边形为B。约定多边 形外部边界的顶点顺序取逆时针方向,内 部边界的顶点顺序取顺时针方向。保持多 边形区域位于有向边左侧。
P4 P0 P’1 P’0 P1 P’2 P’3 P3
P2
Weiler-Atherton算法
Q0
主多边形A为: P0P1P2…P0; 裁剪多 边形B 为:Q0Q1Q2…Q0。 建立主多边形和裁剪 多边形顶点表,分别 依次排列主多边形和 裁剪多边形顶点。
内侧 S 外侧 内侧 外侧 内侧 外侧 P S 内侧 P i 外侧 S
P
S
i
P
输出后点
输出交点
不输出
输出交点和后点
Weiler-Atherton算法
该算法用于多边形裁剪多边形 被裁剪多边形称为主多边形,裁剪窗口称 为裁剪多边形 多边形裁剪多边形在地理信息系统中应用 广泛。如统计某行政区某种作物面积
0000
0010
0110
Cohen-Sutherland算法(3)

第五章 二维图形的裁剪

第五章 二维图形的裁剪
2010-7-21 计算机图形学 8
5.2.3 Cohen-Sutherland线段裁剪 线段裁剪
它的大概步骤如下所述. 它的大概步骤如下所述. 步骤1 判断线段的两个端点是否都在窗口内,如果是, 步骤 判断线段的两个端点是否都在窗口内,如果是, 则线段完全可见,显示该线段,裁剪结束; 则线段完全可见,显示该线段,裁剪结束;否则进入步 骤2 . 步骤2 判断线段是否为显然不可见,即线段的两个端 判断线段是否为显然不可见, 步骤 点均落在窗口某边所在直线的外侧,如果是, 点均落在窗口某边所在直线的外侧,如果是,删除该线 裁剪结束;否则进入步骤3. 段,裁剪结束;否则进入步骤 . 步骤3 求线段与窗口边所在直线的交点, 步骤 求线段与窗口边所在直线的交点,这个交点将待 裁剪的线段分成两部分,其中一部分显然不可见, 裁剪的线段分成两部分,其中一部分显然不可见,删除 对余下的另一部分线段重复步骤1, ,直至结束. 之;对余下的另一部分线段重复步骤 ,2,直至结束.
(d) 关于窗口右边裁剪
2010-7-21
(e) 关于窗口下边裁剪
16
计算机图形学
5.3.2 Weiler-Atherton算法 算法
在实际应用中,不仅待裁剪多边形是任意的,而且 在实际应用中,不仅待裁剪多边形是任意的, 要求裁剪窗口也需要是任意的,如图5.13所示. 所示. 要求裁剪窗口也需要是任意的,如图 所示
P5 P4 P3
P 1
P2
(a) 待裁剪多边形
(b) 关于窗口左边裁剪
(c) 关于窗口上边裁剪
2010-7-21
计算机图形学
15
5.3.1 Sutherland-Hodgman算法 算法
经窗口的右边裁剪后, 经窗口的右边裁剪后,得到多边形 PPPPPPPP P ,如图 0 1 2 3 4 5 6 7 0 5.12(d)所示;经窗口的下边裁剪后,得到最终的结果多边形 所示; 所示 经窗口的下边裁剪后, P PP P P P P P P ,如图 如图5.12(e)所示. 所示. (e)所示 0 1 2 3 4 5 6 8 0

计算机图形学 第三章 二维图形的裁剪概述

计算机图形学 第三章 二维图形的裁剪概述

3.2.3 梁友栋-Barsky裁剪算法
式中,Δx=x2-x1,Δy=y2-y1,参数u在0~1 之间取值,P(x,y)代表了该线段上的一个 点,其值由参数u确定,由公式可知,当u=0 时,该点为P1(x1,y1),当u=1时,该点 为P2(x2,y2)。如果点P(x,y)位于由 坐标(xwmin,ywmin)和(xwmax,ywmax)所 确定的窗口内,那么下式成立: xwmin≤x1+ u· Δx≤xwmax ywmin≤y1+ u· Δy≤ywmax(3-10)
3.2.1 Cohen-Sutherland算法
► Code(int ►{
x,int y,int *c)
*c=0; if(y>ymax) /*(xmin,ymin)和(xmax,ymax) 为窗口左下角、右上角坐标。*/ *c=*c|0x08; else if(y<ymin) *c=*c|0x04; if(x>xmax) *c=*c|0x02; else if(x<xmin) *c=*c|0x01; }
► 根据直线两点式方程:

2)
(3-
3.2 线段的裁剪
► 整理后得通用交点公式: ►
(3-3)
► ►
1、与上边界的求交公式: (3-4)
3.2 线段的裁剪
► ►
2、与下边界的求交公式:
(3-5)

► ►
3、与右边界的求交公式:
(3-6) 4、与左边界的求交公式:

(3-7)
3.2.1 Cohen-Sutherla2、判别 根据C1和C2的具体值,可以有三种情况: (1)C1=C2=0,表明两端点全在窗口内,因而 整个线段也在窗内,应予保留。 (2)C1&C2≠0(两端点代码按位作逻辑乘不为 0),即C1和C2至少有某一位同时为1,表明两端点 必定处于某一边界的同一外侧,因而整个线段全在 窗外,应予舍弃。 (3)不属于上面两种情况,均需要求交点。

计算机图形学 第6章 二维裁剪PPT课件

计算机图形学 第6章 二维裁剪PPT课件

若(x1,y1)在5区,且ys>yt ,则线段与窗口无交点,无 输出线段,过程就此结束。
若(x1,y1) 在3区.且ys<yb ,则线段与窗口无交点,无 输出线段,过程就此结束。
28.11.2020
华东交大信息学院软件教研室
11
A
A
A A
28.11.2020
华东交大信息学院软件教研室
12
若ys<yb (在5区),则:
如果线段不能通过上述两种测试判
断为保留或舍弃,则必须求出线段与窗 1001 1000 1010
口边界线的交点,即分割线段,舍弃在
窗口外同侧的部分线段,对留下的线段
窗口
重复进行上述对留下的线段重复进行上 0001 0000 0010
述两种情况的判断,直到留下的线段符
合上述两种情况之一为止。
0101 0100 0110
28.11.2020
华东交大信息学院软件教研室
8
我们以图的线段AB为例来说明,该裁剪算法的步骤 如下:
①排斥性测试。 若线段满足下述的四个条件之一,即:
– max(x1, x2)≤xL; – min(x1, x2)≥xr; – max(y1, y2)≤yb; – min(yl, y2) ≥yt;
则线段必定完全位于窗口之外,无输出线段,过程就 此结束。
第6章 裁剪
6.1 直线段的裁减算法 6.2 多边形裁剪 6.3 字符裁剪
28.11.2020
华东交大信息学院软件教研室
1
6.1 直线段的裁减算法
二维裁剪及裁剪处理工作:
• 窗口内外的判断;

计算图形元素与窗口边界的交点; 判断图形元素在窗口内外的原则:

图形学之二维裁剪37页PPT

图形学之二维裁剪37页PPT
Ni·(p(t)-Ai)>=0, i=0,…,k, 0≤t ≤1. 即:
Ni·(P1-Ai)+ Ni·(P2-P1) t>=0可得:ti=… 线段可见的交点参数:
t1=max{0,max{ti: Ni·(P2-P1) >0}} t2=min{1,min{ti: Ni·(P2-P1)<0}} 若 t1<=t2, [t1,t2]是可见线段的交点参数
Graphics Lab.PKU
14
5.1.6 Liang-Barsky算法
看作点集之间的交集,即为裁剪结果。 Q0Q1为诱导窗口,一维窗口,二维裁剪
简化成一维裁剪。
2020/5/26
Graphics Lab.PKU
15
一维裁剪问题 P0P1至少部分可见的
充要条件是
Max(0,t0)<=min(1,t1) 且可见部分的参数区
2020/5/26
Graphics Lab.PKU
4
线段端点编码,区域的编码值,端 点在窗口内部,只要编码值为0。
两个端点的编码的逻辑“与”非0时, 落在窗口某边外侧。
窗口与线段求交,验证两端点各位 编码值,相异则求交。
2020/5/26
Graphics Lab.PKU
5
最坏情形,线段求交四次。 求次测试顺序固定, 由交点编码可判断线段的可见性。
3.用斜率判P1所在区域 4.求交点,确定线段可见部分。
特点:效率较高,但仅适合二维矩形窗口。
2020/5/26
Graphics Lab.PKU
10
2020/5/26
Graphics Lab.PKU
11
5.1.5中点分割法
想法:从P0点出发找出距P0最近的可见 点,从P1点出发找出距P1最近的可见点。

第3章二维图形裁剪

第3章二维图形裁剪
想是从A,B和P0三点中找出最 靠近的P1点,图中要找的点 是P0。从C,D和P1中找出最靠 近P0的点。图中要找的点是C 点。那么P0C就是P0P1线段上 的可见部分。
线段的参数表示
x=x0+t△x
y=y0+t△y
0<=t<=1
△x=x1-x0 △y=y1-y0
窗口边界的四条边分为两类:始边和终边。
裁剪的目的 判断图形元素是否落在裁剪窗口之内并找出其位于内 部的部分
裁剪处理的基础 图元关于窗口内外关系的判别 图元与窗口的求交
假定条件 矩形裁剪窗口:[xmin,xmax]×[ymin,ymax] 待裁剪点或线段:
• 点裁剪
– 点(x, y)在窗口内的充分必要条件是:
x m in x x m a x
例:分别给下列直线段编码,并判断是否需要剪裁。
P2
C2=1010
P2
C1=0001
C
C2=0000
P1
B
P1
C1=0100
P2
C2=0101
P1
C1=0101
D A P2 C2=0000
P1
C1=0000
例:Cohen-SutherLand算法过程:
过程:
1)输入线段AB的两端点坐标A(x0,y0)、B(x1,y1),以及裁剪窗 口的四条边界:yt,yb,xl,xr。 2)对AB编码,A的编码codeA=0001,B的编码为codeB=0110。 3)线段AB裁剪的基本过程(按左右下上的顺序):
若x 若x
例1 设有直线段P0P1,有一个矩形裁剪窗口,写出对 该线段裁剪的算法。
1)判断线段端点的位置,由图4-2(a)可知:P0不 在窗口内,P1在窗口内。

第四讲 二维裁剪

第四讲 二维裁剪

例图:
P2
C2=1010
C1=0001
C
P2
C2=0000
D A P1 P2
C2=0000
P1 B P1
C1=0100
P2
C2=0100
C1=0000
P1
C1=0101
Cohen-SutherLand算法(编码算法)
Cohen-SutherLand算法(编码算法)
对于那些非完全可见、又非显然不可见的线段,需要 求交(如,线段AD),求交前先测试与窗口哪条边所在 直线有交?(按序判断端点编码中各位的值ClCtCrCb)

二维图形的显示流程图
在计算机图形学中常常会遇到求交计算。求交运算是比较复 杂的,为了减少计算量,在进行真正的求交计算之前,往往先用 凸包等辅助结构进行粗略地比较,排除那些显然不相交的情形。
求交问题可以分为两类:
求交点 求交线
2.5.1 求交点算法
求交点可以分两种情况,即求线与线的交点以及求线与面的交点。
类似求得 u
(C E ) D ( C E ) A (C E ) B
w
( B E ) D ( B E) A (B E) C
如果是直线与平面区域求交点,则要进一步判断交点是否在平面的 有效区域中,其算法可参见2.5.3节。
2.5.1 求交点算法(续)
2.5.1 求交点算法(续)
下面讨论线与面的交点的求法。 ⒈ 直线段与平面的交点 如图2.15所示。把平面上的点表示为 P(u, w)=A+uB+wC,直线段上的点表 示为Q(t)=D+tE,二者的交点记为R。 假设线段不平行于平面,则它们交于 R=P(u, w)=Q(t), 即 A+uB+wC = D+tE

第5章观察变换和裁剪185页PPT

第5章观察变换和裁剪185页PPT
void gluOrtho2D( GLdouble left, GLdouble right, GLdouble bottom, Ldouble top ); left, right
The coordinates for the left and right vertical clipping planes. bottom, top
在窗口边界线外同侧 (E、
B
F);与窗口边界求交,分 C
① 两交点均处于窗口有 效边界上(E),两交点间的 线段S1S2为可见,其余两侧的
A
DS
S2
S1
EF
② 两交点均在窗口有效边界外(F),完全不 可见, 舍弃。
27
2. 直线段裁剪算法 Cohen-Sutherland算法(编码裁剪法)
用四条窗口边界线把整个平面分成九个区域, 每个区域用一个四位二进制代码表示。
13
4.2.3 WC到VC的变换
1) 平移观察坐标系的坐标原点,与世界坐标系的
2) 将xe、ye轴分别旋转(-θ)角与xw、yw轴重合。
1 00
cosθ -sinθ 0
TT= 1 0 0
TR= sinθ cosθ 0
-x0 -y0 1
0
01
WC到VC的变换总矩阵为 T=TT·TR
14
5.1.4 窗口到视区变换
第5章 观察变换和裁剪
5.1 2维观察 5.2 二维图形裁剪 5.3 3维观察控制流程 5.4 观察坐标系及其变换 5.5 投影变换 5.6 观察体 5.7 三维裁剪
1
2
5.1 2维观察
用图形生成算法,结合几何变换方法在2维空间 构造图形;然后通过图形物理设备(显示屏、绘图 仪等)输出图形的过程, 称之为观察。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为提高效率,算法设计时应考虑: (一)快速判断情形(1)(2); (二) 设法减少情形(3)求交次数和每次求交时所需的计 算量。
2020/10/18
计算机科学与技术学院
8
➢ 实交点是直线段与窗口矩形边界的交点。 ➢ 虚交点则是直线段与窗口矩形边界延长线或直线
段的延长线与窗口矩形边界的交点。
A
实交点
(xmax,ymax )
xm in xxmax
yminyymax
➢ 裁剪窗口(Xmin,Xmax,Ymin,Ymax)
是世界坐标系的窗口边界或视区边界
➢ 应用举例
(xmin,ymin )
➢ 爆炸场景或海面泡沫的显示
➢ 问题:对于任何多边形窗口,如何判别?
2020/10/18
计算机科学与技术学院
4
直线段裁剪
➢ 包含性测试
若线段满足:xl≤x1≤ xr, yb≤y1≤ yt,则线段的始点在0 区,也即线段可见段的起点为:
xs = x1 , ys= y1
2020/10/18
计算机科学与技术学院
13
➢求交点,并判断 I. 若x1<xl,则:
线段的起点坐标可能 位于3区、4区、5区。
3
4 (x1,y1)
而新起点的坐标可能在 直线y= yb和线段的交点上 直线y= yt和线段的交点上 直线x= xl和线段的交点上
➢ 待裁剪线段:18
计算机科学与技术学院
5
直线段裁剪
➢ 待裁剪线段和窗口的关系
(1)完全落在窗口内,线段完全可见 (2)完全落在窗口外,显然不可见 (3)与窗口边界相交,线段至少有一端点在窗口之外,但非
显然不可见
2020/10/18
计算机科学与技术学院
5 xl
2020/10/18
计算机科学与技术学院
1
6
yt
(x2,y2)
0
7
yb
2
8
xr
14
第一种情况:
xsx 1(yby1)x (2x 1)/( y2y1) ysyb
此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。
第二种情况:
xsx1(yt y1)x (2x1)/( y2y1) ysyt
10
直接求交算法
直线与窗口边 都写成参数形 式,求参数值。
2020/10/18
计算机科学与技术学院
11
矢量裁剪法
➢ 算法思想
先从线段的一个端点出发进行判断或进行求交运算,所得交点 坐标保存在(xs,ys)中,然后再从线段的另一个端点出 发用前面的判断及其求交运算求得交点坐标(x,y),最后 只输出两个交点间的线段。
位于6区、7区、8区。
4
而新起点的坐标可能在 直线y= yb和线段的交点上 直线y= yt和线段的交点上 直线x= xr和线段的交点上
5 xl
1
6
yt
0
7 (x1,y1)
yb
2
8
xr
2020/10/18
计算机科学与技术学院
16
第一种情况: x ys s x y1 b(yby1)x (2x1)/(y2y1) 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。
6
要确定一条直线段上位于窗口内的可见段,只 须求出它的两个位于窗口内的可见端点即可。 ➢ 算法的基本思想
把所有的直线按照它和窗口的关系分类,不同 的直线使用不同的处理方法确定其可见部分。
2020/10/18
计算机科学与技术学院
7
直线裁剪算法的主要步骤: 首先将不需要裁剪的直线挑出,并删去其中在窗外的 直线; 其次,对其余直线,逐条与窗框求交点,并将窗外部 分删去
二维图形的裁剪优秀课件
二维裁剪
➢ 识别图形在指定区域内和区域外的部分的过程称为裁剪算法, 简称裁剪(clipping)
➢ 二维窗口是投影平面上的一个矩形。一般来说,这个矩形的边 和投影平面上的坐标轴平行,图形在窗口内的部分被显示出来, 窗口外的部分被裁剪掉了。平面上的图形受该矩形的裁剪称为 二维裁剪。
第二种情况: x ys s x y1 t (yt y1)x (2x1)/(y2y1) 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。
实交点 H
I 虚交点
G
F
窗口
虚交点 JD
实交点
E
B
虚交点
C
图6-25 实交点与虚交点
2020/10/18
计算机科学与技术学院
9
直线的剪裁算法
直接求交算法
矢量裁剪法
Cohen-Sutherland算法
中点分割算法
梁友栋-Barsky算法
2020/10/18
Nicholl-Lee-Nicholl算法
计算机科学与技术学院
➢ 用窗口的四条边界的直线将窗口分为9个区。
3
1
6
yt
(x2,y2)
4
0
7
(x1,y1)
yb
5
2
8
2020/10/18
x x 计算机科学与技术学院
l
r
12
➢ 排斥性测试
若线段满足下述四个条件之一时:
max(x1,x2)≤xl min(x1,x2)≥xr max(y1,y2)≤yb min(y1,y2)≥yt 则线段必定位于窗口之外,无输出线段。
此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。
第三种情况:xxl
yyl (y1y0)x (l x0)/x (1x0)
此时,若yb≤ys≤ yt 则(xs ys)为有效新起点。
三种情况都不满足,则此线段不在窗口区内。
2020/10/18
计算机科学与技术学院
15
II. 若x1>xr
3
线段的起点坐标可能
2020/10/18
计算机科学与技术学院
2
➢ 裁剪的应用
➢ 从定义的场景中抽取用于观察的部分
➢ 在三维视图中识别出可见面
➢ 防止线段或对象的边界混淆
➢ 用实体造型来创建对象
➢ 显示多窗口的环境
➢ 允许选择图形的一部分来进行拷贝、移动或删除等绘图操作
➢ 裁剪算法类型
➢ 图形裁剪与窗口——视图变换的先后
➢ 窗口边界裁剪 ➢ 视区边界裁剪
➢ 图形生成与裁剪先后
➢ 先生成后裁剪
➢ 先裁剪后生成
2020/10/18
计算机科学与技术学院
3
点的裁剪
➢ 图形裁剪中的最基本的问题。
➢ 假设裁剪窗口为一个在标准位置的矩形,即边与坐标轴平行的
矩形,由上(y=ymin)、下(y=ymax)、左(x=xmin)、右
(x=xmax)四条边描述。 ➢ 点(x, y)在窗口内的充分必要条件是:
➢ 直线段裁剪算法是复杂图形裁剪的基础。复杂的曲线可以通过 折线段来近似,从而裁剪问题也可以化为直线段的裁剪问题。
➢ 裁剪的目的
判断图形元素是否落在裁剪窗口之内并找出其位于内部的部分
➢ 裁剪处理的基础
➢ 图元关于窗口内外关系的判别 ➢ 图元与窗口的求交
➢ 假定条件
➢ 矩形裁剪窗口:[xmin,xmax]X[ymin,ymax]
相关文档
最新文档