图形图像裁剪_第1页
图形图像裁剪_第2页
图形图像裁剪_第3页
图形图像裁剪_第4页
图形图像裁剪_第5页
已阅读5页,还剩26页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图形图像裁剪三维变换流程图局部坐标系世界坐标系视点坐标系图像坐标系规格化设备坐标系屏幕坐标系造型变换取景变换投影变换设备变换视窗变换二维裁剪?三维裁剪?2裁剪(Clipping)3裁剪是确定场景或画面中位于给定区域(2D或3D裁剪窗口)之内的部分裁剪还可用于图形反走样、隐藏线、隐藏面、阴影、纹理等算法中裁剪推广应用:多面体对多面体的裁剪,实体造型系统中执行布尔运算在窗口系统中复制、移动或删除画面中某一部分(Cut-Copy-Paste)裁剪4裁剪算法分类:裁剪窗口的维数:二维、三维裁剪窗口:规则(矩形、六面体)和不规则的(任意多边形和多面体)对象维数:点、线、多边形、多面体实现方式:软件和硬件实现二维线裁剪5图形裁剪就是决定画面中哪些点、线段或部分线段位于裁剪窗口之内。位于窗口内的点、线段或部分线段被保留用于显示,而其它的则被抛弃。在一个典型的场景之中,需要对大量的点、线段进行裁剪,因此裁剪算法的效率十分

重要(如何快速拒绝和接受)二维线裁剪实例6二维线裁剪主要方法7Sutherland-Cohen

裁剪:编码中点分割裁剪:除以2,加法运算参数化裁剪与梁友栋-Barsky

裁剪:高效率的裁剪Nicholl-Lee-Nicholl裁剪:更为精细的判断……Cohn-Sutherland裁剪8算法思想直线段端点的编码快速拒绝/接受判断:完全可见、部分可见、完全不可见部分可见线段的求交直线段端点的4bit编码第一位置1—直线段端点位于窗口上侧第二位置1—直线段端点位于窗口下侧第三位置1—直线段端点位于窗口右面第四位置1—直线段端点位于窗口左面9直线段端点的4bit编码将线段两端点的编码逐位取逻辑“与”,若结果非零,则该线段必为完全不可见线,因而可立即抛弃线段两端点的编码均为零,即两端点均在窗口之内,则线段可见 (逻辑“或”结果为零)其它情形为部分可见和不可见,此时需要求交10线段端点编码逻辑与注释ab0000

00000000完全可见ij0010

00100010完全不可见ij0001

10010001完全不可见ij0101

00010001完全不可见ij0100

01000100完全不可见cd0000

00100000部分可见ef0001

00000000部分可见gh0001

10000000部分可见kl1000

00100000部分可见编码举例11直线段与窗口求交窗口:(xLeft,xRight,yTop,yBottom)直线段:P1(x1,y1)和P2(x2,y2)直线的显式方程:y

m(x

x1

)

y1

y

m(x

x2

)

y2x2

x112m

y2

y1或为直线段斜率直线段与窗口求交它与窗口诸边的交点左:

xL,y

m(xL

x1

)

y1

,

m

右:

xR,y

m(xR

x1

)

y1

,

m

上:

yT,x

x1

(

1m)(

yT

y1

),

m

0下:

yB,x

x1

(

1m)(

yB

y1

),

m

013直线段与窗口求交14特殊情形的考虑若直线的斜率为无穷大,则直线平行于窗口的左边和右边,仅需检查直线与上、下两边的交点若直线斜率为零,则它平行于窗口的上、下两边,仅需检查直线与左、右两边的交点部分可见线段的处理15Sutherland-Cohen算法的关键在于总是要得知位于窗口之外的一个端点。这样位于此端点至交点之间的区段必为不可见,故可抛弃。然后此算法继续处理线段被裁剪后的剩余部分,此时取交点来代替被裁剪线段的一个端点。Sutherland-Cohen算法的描述16对于每个窗口边检查线段P1P2是否为完全可见线段或可以抛弃的显然不可见线段若P1在窗口外,继续执行算法;否则交换用P1P2和窗口边的交点取代点P1Sutherland-Cohen算法实例线段端点P1(-3/2,1/6)和P2(1/2,3/2)的编码分别为(0001)和(1000)。两个端点编码不全为0,逻辑与结果为0。因此该线段既非完全可见,也不是显然不可见。比较两端点编码的第一位可以发现该线段跨越窗口的左边界,并且端点P1位于窗外。17Sutherland-Cohen算法实例线段与窗口左边(x=-1)的交点为P1’(-1,1/2)。用P1’取代P1得到新线段P1’(-1,1/2)P2(1/2,3/2)18Sutherland-Cohen算法实例端点P1、P2的编码仍然为(0000)和(1000),此线段既非完全可见,也不是完全不可见。P1不在窗外,交换P1、P2得到一新线段

P1(1/2,3/2)P2(-1,1/2)19Sutherland-Cohen算法实例线段同窗口顶边界

(y=1)的交点是P1’(-1/4,1)。用P1’取代P1得到新线段P1(-1/4,1)P2(-1,1/2)20Sutherland-Cohen算法实例端点P1、P2的编码分别为(0000)和(0000),该线段完全可见。裁剪过程结束。21中点法22基于Cohen-Sutherland的编码方法线段与窗口的交点通过不断的二分得到优点裁剪运算只有加法和除以2的运算可以并行实现面向硬件的裁剪算法中点法算法过程23二维多边形裁剪24简单的处理方法:对多边形的每条线段采用线裁剪算法适用于线框图显示不适用于多边形的着色显示正确的处理方法:裁剪后的多边形仍为封闭的多边形可能会并入一部分窗口作为多边形边界也可能是多个不相连的多边形多边形裁剪后的输出应该是定义裁剪后的多边形边界的顶点序列如何保证裁剪后区 域的封闭性如何确定裁剪后区 域的边界二维多边形裁剪实例矩形窗口多边形裁剪实例25文本裁剪26矢量文本裁剪:采用前面的多边形裁剪算法实现文本的裁剪点阵文本裁剪:如果点阵是由软件生成的,点阵式文本的裁剪可以归结为点的裁剪问题;如果点阵式文本是由硬件生成的,裁剪就会变得比较复杂,一个简单的处理方法是:如果字符完全位于裁剪窗口内才会显示三维裁剪27三维裁剪裁剪对象:线裁剪、面裁剪裁剪窗口:规范的立方体、视域四棱锥Sutherland-Cohen、梁友栋-Basky裁剪等算法都可以推广到三维情形关于三维变换与裁剪28何时裁剪?投影之前裁剪——三维裁剪优点:只对可见的物体进行投影,提高消隐效率缺点:三维裁剪相对复杂投影之后裁剪——二维裁剪优点:二维裁剪相对容易缺点:需要对所有的物体进行投影变换三维裁剪实例29三维裁剪窗口的规范化30为什么引入规范视域体简化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论