摘 要 近几十年来,计算机图形学有了引人瞩目的发展,它已广泛应用于计算机辅助设计、电视广告、动画和仿真等许多领域并发挥着重要作用。线段裁剪和多边形裁剪作为图形裁剪中最基础、最常用的操作之一,其算法始终是计算机图形学研究的热点。可以说计算机图形学已经发展成为一门成熟的学科。在各种实践应用中,计算机图形学的许多基础算法发挥着不可替代的重要作用,越来越复杂的图形和计算也对算法的速度和适用性提出了越来越高的要求。因此,不断简化算 法的实现过程,完善细节处理,满足大量任意多边形的裁剪也就成了当今算法研究的焦点之一。 本文首先对目前国外经典线段裁剪和多边形裁剪算法作了概述,介绍了Cohen-Sutherland裁剪算法、直线段的中点分割裁剪算法、Liang-barsky算法、Sutherland-Hodgman算法,Weiler-Atherton算法的基本思路,也描述了国内在相关领域提出的一些典型算法,如刘勇奎、蔡志杰等人在Weiler-Atherton算法基础上提出的改进算法。 接着,本文重点分析了Liang-barsky算法。在此基础上,通过对多边形按照指定顶点顺序正向和逆向遍历,查找出全部最小多边形,再通过位置判断来得出最终裁剪结果多边形的算法进行了描述。随后,以伪代码和流程图的形式,进一步说明了该算法的结构。 copyright paper51.com 关键词:任意多边形,裁剪,计算机图形学,算法 目录 引 言 1 1.1 课题背景 1 1.1.1 课题的目的 1 1.1.2 课题的意义 2 1.1.3 现实需求 3 1.2 国内外研究情况综述 3 1.2.1 点裁剪 3 1.2.2 矩形窗口的直线段裁剪 3 1.2.3 多边形窗口的直线段裁剪 4 1.2.4 圆形窗口的直线段裁剪 5 1.2.5 多边形窗口的多边形裁剪 5 1.3 本文的主要工作和研究内容 6 第二章 二维裁剪的基本原理 7 2.1 裁剪操作定义 7 2.2 二维裁剪算法简述 7 2.3 Cyrus-Beck算法描述 10 2.3.1 算法基本原理 10 2.4 Liang-Barsky算法描述 12 2.4.1 算法基本原理 12 2.4.2 算法步骤 13 2.5 Weiler-Atherton双边裁剪算法 14 第三章 Sutherland—Hodgman算法实现 16 3.1 算法基本原理 16 3.2 裁剪算法步骤 17 3.3 Sutherland—Hodgman程序 18 3.3.1 程序流程图 18 3.3.2 算法部分代码 19 3.4 程序使用方法 23 3.5 程序运行过程 23 第四章 Sutherland—Hodgman算法分析测试 24 paper51.com 4.1 算法裁剪测试 24 4.2算法测试分析 24 4.3 运行环境 24 4.3.1 开发环境 24 4.3.2 开发工具 25 结 论 26 致 谢 27 参考文献 28 |