二维图形的裁剪优秀课件

合集下载

计算机制图中望CAD2023课件模块二基本二维图形的绘制与编辑

计算机制图中望CAD2023课件模块二基本二维图形的绘制与编辑
(2)选项说明 1)“点样式”设置。中望CAD 提供了20 种点的样式,以适应用户的需求
任务1 绘制线段并等分
2)“点大小”设置。“点大小”分为“相对于屏幕设置大小”与“按绝对单 位设置大小”两种。
相对于屏幕设置大小:按屏幕尺寸的百分比设定点的显示大小,当进行缩放时, 点的显示大小并不改变。
按绝对单位设置大小:按“点大小”下指定的实际单位设定点显示的大小,进 行缩放时,显示的点大小随之改变。
任务1 绘制线段并等分
(1)执行“定数等分”命令的方法 1)菜单栏:单击“绘图”→“点”→“定数等分”命令 。 2)功能区:单击“常用”→“绘图”→“定数等分”按钮 。 3)命令行:divide(div)。 (2)示例 将图2-6a 所示线段等分为5 份。
5.绘制定距等分点 定距等分是指通过指定分段长度来放置相等间隔的标记。
任务1 绘制线段并等分
4. 直线或线段的绘制方法 (1)使用绝对坐标绘制直线 1)执行“直线”命令。 2)指定第一点。依次输入X 值、逗号和Y 值,输入直线或线段起点绝对坐标 。 3)按Enter 键或Space 键确认。 4)指定下一点。依次输入X 值、逗号和Y 值,输入直线或线段终点绝对坐标 。 5)按Enter 键或Space 键确认。
任务1 绘制线段并等分
6.对AB、CD、EF 线段进行等分。 (1)将“细实线”图层置为当前图层。 (2)设置点的样式。 执行“点样式”命令,打开“点样式”对话框,设置点样式 (3)进行定数等分。

《ProE》课件——02二维图形中的约束和尺寸标注

《ProE》课件——02二维图形中的约束和尺寸标注
心 线。
图4-60 绘制圆弧(1)
图4-61 绘制竖直中心线
5、绘制圆弧。 (1)使用圆弧 工具绘制一段圆弧,如图4-62所示。 注意该圆弧与上一步创建的圆弧相切,另一个端点落在 竖直中心线上。 (2)继续使用圆弧工具 绘制一段圆弧,如图4-63所 示。
图4-62 绘制圆弧(2)
图4-63 绘制圆弧(3)
3、绘制切线。 (1)使用 工具绘制圆的两条切线,绘图时可以 缓慢移动鼠标指针捕捉相切约束条件,如图4-28所
示。
图4-26 绘制圆和中心线 图4-27 继续绘制圆
图4-28 绘制第一条切线
(2)使用同样的方法绘制另一条切线,结果如图4-
29所示。
图4-29 绘制第2条切线
显然,此时的两条切线并不平行,这是因为绘图时在圆周上 捕捉的点并不是左右两侧的最大象限点。不过可以通过在两 条切线和中心线之间继续添加平行约束条件来实现。
图4-19 标注角度尺寸(2)
Leabharlann Baidu
图4-20 修改角度尺寸(1)
10、继续修改另一个角度尺寸为“108”,此时,图形 已经
具备正五边形的雏形了,如图4-21所示。 11、单击 按钮,打开【约束】对话框,在其上单击 按钮启动水平约束条件。然后单击图形下边线,在其上 添加水平约束条件,使之处于水平位置,如图4-22所示。 12、单击 按钮,打开尺寸标注工具,选中水平线 段,在线段外空白处单击鼠标中键,标注一个边长尺 寸 13,、如在图边4长-2尺3寸所上示双。击鼠标左键,将其数值修改为

二维变换课件

二维变换课件

1 0 0 1 1
关于Y轴的对称变换
x 1 0 0 x
y
0
1
0
y
1 0 0 1 1
关于X轴的对称变换
9
对称变换
Y
(x,y) O
y=x X
(y,x)
x 0 1 0 x
y
1
0
0
y
1 0 0 1 1
关于直线y=x的对称变换
Y (x,y)
O (-y,-x)
y
0
1
t y
y
1 0 0 1 1
T (tx , ty )
P' T P
4
二维旋转
将点P(x,y)绕坐标原点按逆时针旋转角
x ' r cos( ) r cos cos r sin sin
y ' r sin( ) r cos sin r sin cos
y
P'
P
x
x r cos y r sin
y
1 0 0 1 1
S(sx , sy ) 其中sx和sy分别为x和y分量的放缩比例
x
7
剪 切 变 换 (Shear)
沿X-轴方向的剪切变换
Y (x,y)
(x',y')
x 1 tg 0 x
y
0

第3章绘制二维图形(建筑CAD教材课件)

第3章绘制二维图形(建筑CAD教材课件)

//设置第一个偏
• 选择要偏移的对象,或 [退出(E)/放弃(U)] <退出>: //选取要偏移的矩形
• 指定要偏移的那一侧上的点,或 [退出(E)/多个(M)/放弃(U)] <退出>: //在内 部选取一点
• 选择要偏移的对象,或 [退出(E)/放弃(U)] <退出>: //回车
• 依次完成其他3个内部轮廓线。完成结果如图3-3所示。
• 指定第一个角点或 [倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 0,0 //输入第一个角点,坐标原点
• 指定另一个角点或 [面积(A)/尺寸(D)/旋转(R)]: @1500,1950 //输入第二个角点
• 绘制完成双人床轮廓。
• 3.绘制枕头。 • 1)外轮廓线。 • 命令: _rectang • 当前矩形模式: 圆角=37.5000 • 指定第一个角点或 [倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 140,90 //输入
• 命令: _circle 指定圆的圆心或[三点(3P)/两点(2P)/相切、相切、半径 (T)]: _ttr //选取画圆相切、相切、半径选项
• 绘制效果如图3-12所示。
//输入偏移距 //选取刚刚偏
//在左
3-12
• 3.使用“临时追踪点”和“自”绘制2个圆 • 1)设置“轮廓线”层为当前层,打开“临时追踪点”和“自”的方

图形变换与裁剪课件

图形变换与裁剪课件

缩放变换
总结词
缩放变换是指图形在水平或垂直方向 上放大或缩小。
详细描述
缩放变换用于调整图形的大小,使其 适应不同的显示需求或比例要求。在 计算机图形学中,缩放变换可以通过 改变图形数据的坐标值来实现。
旋转变换
总结词
旋转变换是指图形绕一个点旋转一定的角度。
详细描述
旋转变换常用于旋转图形以实现特定的视觉效果或展示角度。在计算机图形学中, 旋转变换可以通过旋转矩阵运算来实现,旋转中心点以及旋转角度是关键参数。
动画制作。
科学可视化
在气象、地质等领域, 图形变换用于数据可视 化,帮助科学家更好地
理解数据。
02 图形变换技术
平移变换
总结词
平移变换是指图形在水平或垂直方向上移动而不发生旋转或缩放。
详细描述
平移变换通常用于调整图形位置,使其符合特定的布局或设计需求。在计算机 图形学中,平移变换通常通过在图形数据的坐标系中添加一个偏移量来实现。
换效率。
优化裁剪算法
选择合适的裁剪窗口
根据图像内容和显示需求,选择合适的裁剪 窗口大小和位置。
优化数据结构
使用合适的数据结构来存储和查询图像信息, 可以加快裁剪过程。
采用快速裁剪算法
使用如扫描线、凸包等快速裁剪算法,可以 大大提高裁剪速度。
多线程和异步处理
利用多线程技术进行异步处理,可以加快图 像裁剪速度。

第三章绘制简单二维图形对象ppt课件

第三章绘制简单二维图形对象ppt课件

2012级地科专业计算机辅助设计
大圆直径为200(半径100) 填充后
6
2012级地科专业计算机辅助设计
起点、圆心、端点
设五边形边长100
起点、端点、半径
起点、圆心、角度
起点、端点、角度
起点、圆心、长度
7
2012级地科专业计算机辅助设计
四、椭圆、椭圆弧
选择“绘图”|“椭圆”子菜单中的命令,或单击“绘 图”工具栏中的“椭圆”按钮,即可绘制椭圆。
方法一:选择“绘图”|“椭圆”|“中心点”命令,指定椭 圆中心、一个轴的端点(主轴)以及另一个轴的半轴长度绘 制椭圆;
方法二:选择“绘图”|“椭圆”|“轴、端点”命令,指定 一个轴的两个端点(主轴)和另一个轴的半轴长度绘制椭圆。
椭圆另一轴 的半轴长度
另一个轴的 半轴长度
椭圆中心点
主轴的第 一个端点 椭圆主轴 的端点
主轴的第 二个端点
8
2012级地科专业计算机辅助设计
椭圆弧的绘图命令和椭圆的绘图命令都是ELLIPSE,但命 令行的提示不同。选择“绘图”|“椭圆”|“圆弧”命令, 或在“绘图”工具栏中单击“椭圆弧”按钮,都可绘制椭 圆弧。
方法一: ①中心点 ②另一点 ③半轴长 ④起始角度 ⑤结束角度
方法二: ①轴的一点 ②另一点 ③半轴长 ④起始角度 ⑤结束角度
选择“绘图”|“直线”命令(LINE),或在“绘图”工 具栏中单击“直线”按钮,可以绘制直线。

二维图形的图案填充及编辑—添加选择对象(CAD课件)

二维图形的图案填充及编辑—添加选择对象(CAD课件)
4)“重新创建边界”按钮。围绕选定的图案填充或填充对象创建多段线 或面域,并使其与图案填充对象相关联(可选)。
5)“查看选择集”按钮。单击该按钮,将暂时关闭对话框,并使用当前 的图案填充或填充设置显示当前定义的边界。
六、二维图形的图案填充及编辑
5. 添加:选择对象
见在线教学资源提供的操作演示:添加:选择对象设置。
(a)文字对象不属于边界集
(b)文字对象包含在边界集中
图2.76 文字是否在边界集中的效果
六、二维图形的图案填充及编辑
5. 添加:选择对象
3)“删除边界”按钮。从边界定义中删除以前添加的任何边界对象。例 如,选择图2.75左侧图中的小圆边界,则可以得到图2.75中间图形的填充效 果。
六、二维图形的图案填充及编辑
5. 添加:选择对象
该按钮是根据构成封闭区域的选定对象确定边界。单击该按钮,对话框将 暂时关闭,系统将会提示用户选择对象,命令行提示如下:
命令行:hatch(启动图案填充命令) 选择对象或[拾取内部点(K)/删除边界(B)]:(选择对象wenku.baidu.com界) 值得注意的是如果填充线遇到对象(例如文本、属性)或实体填充对象, 并且该对象被选为边界集的一部分(即文字也选择作为边界),则Hatch将填 充该对象的四周,如图2.76所示。

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

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

5
第3章 二维变换和裁剪
基本几何变换与基本概念
图形几何变换的数学基础
二维图形几何变换的计算 复合变换 变换的性质
6
基本几何变换
图形的几何变换是指对图形的几何信息经过平 移、比例、旋转等变换后产生新的图形,是图 形在方向、尺寸和形状方面的变换。 基本几何变换都是相对于坐标原点和坐标轴进
行的几何变换。
7
变换的分类
几何变换
平移
旋转 缩放 错切
8
变换的分类
投影变换(二维表示三维)
正投影(三视图) 轴测投影 透视投影
9
图形与矢量
点的表示:二维图形中的点可以用坐标(x,y)来表示,也可
以用矢量[x,y]来表示。
二维 行矢量 [x y] 三维 行矢量 [x y z]
矩阵的数乘
a ka 11 a 12 a 13 11 ka 12 ka 13 k a a a ka ka ka 21 22 23 21 22 23 a ka 31 a 32 a 33 31 ka 32 ka 33
计算机图形学二维图形变换与 裁剪
图形变换
2
观察与思考
零件三视图
3
观察与思考
三视图投影示意图
4
图形变换
从不同角度观察物体,会看到不同的形状 形状的变化可以通过图形变换来实现 图形变换是计算机图形学的基础内容之一 通过图形变换 可由简单图形生成复杂图形 可用二维图形表示三维形体 可对静态图形经过快速变换而获得图形的动 态显示效果

CAD基础教程第06章编辑二维图形课件

CAD基础教程第06章编辑二维图形课件


指定基点或[位移(D)]〈位移〉:(指定基点)

指定第二点或[退出(E)/放弃(U)]〈退出〉:(指定位
移点2)

指定第二点或[退出(E)/放弃(U)]〈退出〉:(指定位
移点3或按〈Enter〉键)

命令:
• 当在指定基点时输入“D”后,系统提示:“指定位移 〈0.0000, 0.0000, 0.0000〉:”,输入位移点坐标后,按 位移点复制。
• 选择基点:任选一点作为基点,根据提示指 定的第二点,按〈Enter〉键,系统将对象沿 两点所确定的位置矢量移动至新位置。
•CAD基础教程第06章编辑二维图形
•12
移动对象示例
•CAD基础教程第06章编辑二维图形
•13
6.8 旋转对象
操作格式 命令: “修改”→“旋转” 选择对象:(选择要旋转的对象) 选择对象:(按〈Enter〉键或继续选择对
• 操作格式

命令: “修改”→“修剪”

选择对象:(选择边界对象圆弧)

选 择 对 象 : ( 按 〈Enter〉 键 或 继 续 选 择
对象)

选择要修剪的对象,或按住〈Shift〉键选
择要延伸的对象,或[栏选(F)/窗交(C)/投影(P)/
边(E)/删除(R)/放弃(U)]:(选择要修剪对象直线)

第四章-二维图形编辑PPT教学课件

第四章-二维图形编辑PPT教学课件
四、分解图形(explode)
注意:直线、圆、文字不能被分解
REC
计算机辅助绘图
五、合并图形(join)
使用join将相似的对象合并为一个对象。用户也可以使用圆 弧和椭圆弧创建完整的圆和椭圆。用户可以合并: ➢圆弧或椭圆弧(必须是多条同心/等半径的圆弧) ➢直线:直线对象必须共线(位于同一无限长的直线上),但是 它们之间可以有间隙。 ➢多段线 ➢样条曲线
REC
计算机辅助绘图 2、试用镜像命令复制左图所示门平面。
REC
计算机辅助绘图 3、试用矩形阵列复制左图中的AB线形成右图的楼梯平面,行 偏移量为280。
REC
计算机辅助绘图 4、试用环形阵列左图中的AB线形成右图的环形楼梯,阵列中 心点位置为圆弧的圆心。
REC
计算机辅助绘图
二、改变图形的位置
步骤可参见如下(也可自由发挥): 1)首先用Mline命令绘制墙体,墙宽为200mm,注意尺寸界线的位置; 2)用Line命令绘制楼梯踏步,踏步长为1600mm; 3)用Array命令阵列复制楼梯踏步,踏步宽为280mm; 4)用Mirror命令镜像复制出楼梯右侧踏步线; 5)用Rectang命令在踏步线之间绘制楼梯井(矩形),其中矩形左上角点为左 侧最上方踏步线的右端点,右下角点为右侧最下方踏步线的左端点; 6)用Offset命令将前步绘制的矩形向外偏移70mm; 7)用Trim命令修剪偏移后矩形内多余的踏步线条; 8)用Pline命令绘制楼梯通行方向,在绘制箭头时,设置多段线的起点50,端 点为0,并使得该多段线经过楼梯踏步的中点,箭头长150mm; 9)最后用Line命令绘制出楼梯的剖断线,并使得剖断线的端点与水平成45°。

图形学课件之裁剪

图形学课件之裁剪

如何求交点
P1 1001 M N P2 0000 1000 1010
0001 0101
0010
判断直线和哪条边由交点,具体方法为: 若编码 &0001<>0 若编码 &0010<>0
0100
0110
若编码 &0100<>0
若编码 &1000<>0,端点与上边界有交点;
算法实现
#define left 1 #define right 2 #define bottom 4 #define top 8 float xl,xr,yt,yb; scanf(“%f,%f,%f,%f”,&xl,&xr,&yt,&yb);
当Qi<0时,求得的ti必是P0P1和始边的交点的参数。 当Qi>0时,ti必是P0P1和终边的交点的参数。 当Qi=0时( i= L,R,B,T),为平行于裁剪边界的直线; 如满足Di<0,则线段完全在裁剪区域外部, 因此该线段要“弃”之; 如满足Di>0,由交点决定直线段上的可见 部分。
void clip(float x0,float y0,float x2,float y2 ) { float x=0,y=0; int c1,c2,c; code(x0,y0,&c1); code(x2,y2,&c2); while ((c1!=0)||(c2!=0)) //不是完全可见的 { if ((c1&c2)!=0) return; //完全不可见 c=c1; if (c1= =0) c=c2; if ((c&left)!=0) //判断是否与xl相交 { x=xl; y=y0+(y2-y0)*(xl-x0)/(x2-x0); } else if ((c&right)!=0) //判断是否与xr相交 { x=xr; y=y0+(y2-y0)*(xr-x0)/(x2-x0); } else if ((c&bottom)!=0) //判断是否与yb相交 { y=yb; x=x0+(x2-x0)*(yb-y0)/(y2-y0); } else if ((c&top)!=0) //判断是否与yt相交 { y=yt; x=x0+(x2-x0)*(yt-y0)/(y2-y0); }

CAD基础裁剪及图案填充

CAD基础裁剪及图案填充

其它
3.2.2 二维线段的裁剪算法
窗口视区变换 二维线段裁剪
整个屏幕被窗口的边框分成九个区域,每个区 域用4位二进制码表示,任一线段两个端点的编码 与它们所在区号相对应。编码由左向右,四位编码
中每一位对应线段端点的定义是:
其它
3.2.2 二维线段的裁剪算法
窗口视区变换 二维线段裁剪 其它
第一位:如果端点在上边框的上面,则为1, 否则为0; 第二位:如果端点在下边框的下边,则为1, 否则为0; 第三位:如果端点在右边框的右边,则为1, 否则为0;
4.4 图案填充与编辑
图案的填充 填充方式 填充图案编辑
hatchedit命令( )对已经填充的图案进行编辑。 可更换图案、修改图案的比例、旋转角度等。
注意问题
(1)图形应封闭。 (2)不封闭时,用EXTEND延伸或封闭。 (3)将图线断开成封闭图形。 (4)用PLINE画成封闭后再删去。 (5)开口要画剖面线的方法。 (6)用Explode分解后再修改。 (7)单独设为一个图层,线型为连续线。
五、图形的显示控制
图形显示缩放 图形平移显示
【功能】图形的平移显示不改变图形的大小及在 整个图形中的位置,而只是在屏幕上显示图形的 不同部分,就好象移动图纸以观察图形的不同部 分一样。
【命令格式】 Command: PAN
五、图形的显示控制
图形显示缩放 图形平移显示 其它

教学课件第3章二维图形编辑

教学课件第3章二维图形编辑
3.选项说明 (1)Select object to trim:选取要修剪对象的
被剪部分。 (2)Project:选择三维图形编辑中实体剪切的
不同投影方法。 (3)Edge:确定修剪边的隐含延伸模式。如图
3.17表示图3.18
C
C
A D
A D
E B
E B
12
A
D
3
4
B
C
12
A
D
3
4
B
C
(a)裁减前 (b)裁减后
第3章 二维图形编辑
本章学习目标
◆ 图形对象的选择方法 ◆ 删除与恢复 ◆ 复制、镜像、偏移、阵列 ◆ 移动与变形 ◆ 修剪与延伸 ◆ 多义线编辑 ◆ 夹点设置和编辑
返回首页
(a) Modify菜单中的编辑命令 (b)Modify工具栏
图3.1 修改工具栏
第3章 二维图形编辑
3.1 图形对象的选择方法
返回本节
第3章 二维图形编辑
3.2.2 OOPS(恢复)
OOPS 能 恢 复 最 近 一 次 由 ERASE 、 BLOCK 或 WBLOCK命令从图形中删除的对象。
返回本节
第3章 二维图形编辑
3.2.3 UNDO(取消操作)
1.输入命令的方法 l 下拉菜单:单击Edit|Undo。 l 工具栏:单击Standard工具栏中的

二维图形的尺寸标注与编辑—角度尺寸标注(CAD课件)

二维图形的尺寸标注与编辑—角度尺寸标注(CAD课件)
四、二维图形的尺寸标注与编辑
14. 角度尺寸标注
角度标注测量的是由两条直线或三点确定的角度 在AutoCAD中,用户可以使用Dimangular命令标注两条直线之 间的夹角、三点之间的角度、圆弧或圆上某段弧的圆心角等。
四、二维图形的尺寸标注与编辑
14. 角度尺寸标注 (1)命令执行方式
命令:Dimangular 快捷形式:DNA 下拉菜单:“标注”|“角度” 工具栏:“标注”|
四、二维图形的尺寸标注与编辑
14. 角度尺寸标注 (2)Dimangular命令的操作方法
采用上述任一种方式启动Dimangular命令后,在命令行中均会 出现提示:
选择圆弧、圆、直线或<指定顶点>:(选择需要标注的圆、圆弧 或直线,或直接按回车键)
此时根据需要进行角度标注。 如果尺寸线与被标注的直线不相交,将根据需要添加尺寸界线, 以延长一条或两条直线(图2.56)。
四、Hale Waihona Puke Baidu维图形的尺寸标注与编辑
14. 角度尺寸标注 (4)实例操作
见在线教学资源提供的操作 演示:半径、直径、角度标注。
图2.56 角度标注示意图

计算机图形学第6章二维图形的裁剪幻灯片PPT

计算机图形学第6章二维图形的裁剪幻灯片PPT

V=(xB-xA)·(y-yA)-(x-xA)·(yB-yA)
(3-1ቤተ መጻሕፍቲ ባይዱ)
因此,当V≤0时,P在边界线内侧; 而V>0时,P在边界线外侧。
练习
Sutherland-Hodgeman多边形裁剪中,常用向量叉积法来测试当前点P 是否在边界内侧。已知窗口边界A(30,100)、B(40,180),某点P(50, 300), 请问点P在边界内侧吗?
计算 V = (xB-xA)·(y-yA)-(x-xA))·(yB-yA) =(40-30)·(300-100)-(50-30))·(180-100) =400
因为V > 0时,所以P在边界外侧。
作业 Sutherland-Hodgeman多边形裁剪中,常用向量叉积法来测试当前点P 是否在边界内侧。已知窗口边界A(50,80)、B(75,130),某点P(60, 150), 请问点P在边界内侧吗?
主多边形A和裁剪多边形B的边界将整个二维平面分成了四 个区域:
1、A∩B(交:属于A且属于B); 2、A-B(差:属于A不属于B); 3、B-A(差:属于B不属于A); 4、A∪B(并:属于A或属于B,取反;即:不属于A且 不属于B)。 内裁剪即通常意义上的裁剪,取图元位于窗口之内的 部分,结果为A∩B。 外裁剪取图元位于窗口之外的部分,结果为A-B。 观察右图不难发现裁剪结果区域的边界由被裁剪多边形的 部分边界和裁剪窗口的部分边界两部分构成,并且在交点 处边界发生交替,即由被裁剪多边形的边界转至裁剪窗口 的边界,或者反之。由于多边形构成一个封闭的区域,所 以,如果被裁剪多边形和裁剪窗口有交点,则交点成对出 现。这些交点分成两类: 一类称“入”点,即被裁剪多边形由此点进入裁剪窗口, 如图中a、c、e; 一类称“出”点,即被裁剪多边形由此点离开裁剪窗口, 如图中b、d、f。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6
要确定一条直线段上位于窗口内的可见段,只 须求出它的两个位于窗口内的可见端点即可。 ➢ 算法的基本思想
把所有的直线按照它和窗口的关系分类,不同 的直线使用不同的处理方法确定其可见部分。
2020/10/18
计算机科学与技术学院
7
直线裁剪算法的主要步骤: 首先将不需要裁剪的直线挑出,并删去其中在窗外的 直线; 其次,对其余直线,逐条与窗框求交点,并将窗外部 分删去
二维图形的裁剪优秀课件
二维裁剪
➢ 识别图形在指定区域内和区域外的部分的过程称为裁剪算法, 简称裁剪(clipping)
➢ 二维窗口是投影平面上的一个矩形。一般来说,这个矩形的边 和投影平面上的坐标轴平行,图形在窗口内的部分被显示出来, 窗口外的部分被裁剪掉了。平面上的图形受该矩形的裁剪称为 二维裁剪。
➢ 包含性测试
若线段满足: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和线段的交点上
2020/10/18
计算机科学与技术学院
2
➢ 裁剪的应用
➢ 从定义的场景中抽取用于观察的部分
➢ 在三维视图中识别出可见面
➢ 防止线段或对象的边界混淆
➢ 用实体造型来创建对象
➢ 显示多窗口的环境
➢ 允许选择图形的一部分来进行拷贝、移动或删除等绘图操作
➢ 裁剪算法类型
➢ 图形裁剪与窗口——视图变换的先后
➢ 待裁剪线段: P 0(x0,y0)P 1(x1,y1)
2020/10/18
计算机科学与技术学院
5
直线段裁剪
➢ 待裁剪线段和窗口的关系
(1)完全落在窗口内,线段完全可见 (2)完全落在窗口外,显然不可见 (3)与窗口边界相交,线段至少有一端点在窗口之外,但非
显然不可见
2020/10/18
计算机科学与技术学院
➢ 窗口边界裁剪 ➢ 视区边界裁剪
➢ 图形生成与裁剪先后
➢ 先生成后裁剪
➢ 先裁剪后生成
2020/10/18
计算机科学与技术学院
3
点的裁剪
➢ 图形裁剪中的最基本的问题。
➢ 假设裁剪窗口为一个在标准位置的矩形,即边与坐标轴平行的
矩形,由上(y=ymin)、下(y=ymax)、左(x=xmin)、右
(x=xmax)四条边描述。 ➢ 点(x, y)在窗口内的充分必要条件是:
为提高效率,算法设计时应考虑: (一)快速判断情形(1)(2); (二) 设法减少情形(3)求交次数和每次求交时所需的计 算量。
2020/10/18
计算机科学与技术学院
8
➢ 实交点是直线段与窗口矩形边界的交点。 ➢ 虚交点则是直线段与窗口矩形边界延长线或直线
段的延长线与窗口矩形边界的交点。
A
实交点
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
➢ 用窗口的四条边界的直线将窗口分为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 则线段必定位于窗口之外,无输出线段。
位于6区、7区、8区。
Hale Waihona Puke Baidu
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)为有效新起点。
第二种情况: x ys s x y1 t (yt y1)x (2x1)/(y2y1) 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。
此时,若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
线段的起点坐标可能
➢ 直线段裁剪算法是复杂图形裁剪的基础。复杂的曲线可以通过 折线段来近似,从而裁剪问题也可以化为直线段的裁剪问题。
➢ 裁剪的目的
判断图形元素是否落在裁剪窗口之内并找出其位于内部的部分
➢ 裁剪处理的基础
➢ 图元关于窗口内外关系的判别 ➢ 图元与窗口的求交
➢ 假定条件
➢ 矩形裁剪窗口:[xmin,xmax]X[ymin,ymax]
(xmax,ymax )
xm in xxmax
yminyymax
➢ 裁剪窗口(Xmin,Xmax,Ymin,Ymax)
是世界坐标系的窗口边界或视区边界
➢ 应用举例
(xmin,ymin )
➢ 爆炸场景或海面泡沫的显示
➢ 问题:对于任何多边形窗口,如何判别?
2020/10/18
计算机科学与技术学院
4
直线段裁剪
实交点 H
I 虚交点
G
F
窗口
虚交点 JD
实交点
E
B
虚交点
C
图6-25 实交点与虚交点
2020/10/18
计算机科学与技术学院
9
直线的剪裁算法
直接求交算法
矢量裁剪法
Cohen-Sutherland算法
中点分割算法
梁友栋-Barsky算法
2020/10/18
Nicholl-Lee-Nicholl算法
计算机科学与技术学院
10
直接求交算法
直线与窗口边 都写成参数形 式,求参数值。
2020/10/18
计算机科学与技术学院
11
矢量裁剪法
➢ 算法思想
先从线段的一个端点出发进行判断或进行求交运算,所得交点 坐标保存在(xs,ys)中,然后再从线段的另一个端点出 发用前面的判断及其求交运算求得交点坐标(x,y),最后 只输出两个交点间的线段。
相关文档
最新文档