计算机图形学算法基础作业.doc
《计算机图形学算法基础作业.doc》由会员分享,可在线阅读,更多相关《计算机图形学算法基础作业.doc(86页珍藏版)》请在三一办公上搜索。
1、计算机图形学算法基础作业姓名: LH 学院: 理学院 专业: 计算数学 时间: 2010-12-31 目录1 直线段生成算法综述11.1 生成直线的DDA方法11.1.1 DDA算法基本原理11.1.2 DDA算法实现步骤11.1.3 DDA算法程序(或伪程序)描述21.1.4 DDA算法流程图21.2 生成直线的Bresenham算法31.2.1 Bresenham算法基本原理31.2.2 Bresenham算法实现步骤51.2.3 Bresenham算法程序(或伪程序)描述51.2.4 Bresenham算法流程图51.3 中点画线算法21.3.1 中点画线算法基本原理21.3.2 中点画
2、线算法实现步骤31.3.3 中点画线算法程序(或伪程序)描述31.3.4 中点画线算法流程图31.4 生成直线算法的进一步改进51.5 各种直线生成算法的优缺点对比分析61.6 直线生成算法的发展趋势72 椭圆的Bresenham生成算法72.1 椭圆曲率分析72.2 椭圆方程分析72.3 椭圆生成算法92.3.1 算法实现过程92.3.2 算法流程图102.3.3 算法程序描述113 直线段裁剪算法综述113.1 Sutherland-Cohen裁剪算法113.1.1 Sutherland-Cohen算法基本原理113.1.2 Sutherland-Cohen算法实现步骤113.1.3 算法
3、程序(或伪程序)描述123.1.4 算法流程图123.2 中点分割裁剪算法123.2.1 中点分割算法基本原理与实现步骤123.2.2 算法程序(或伪程序)描述133.2.3 算法流程图133.3 梁友栋Barskey算法143.3.1 梁友栋Barskey算法基本原理与实现步骤143.3.2 算法程序(或伪程序)描述153.3.3 算法流程图153.4 快速算法153.5 其余一些改进的直线裁剪算法163.6 各种直线裁剪算法的优缺点对比分析163.7 直线裁剪算法的发展趋势164 图形求交技术164.1 求交点算法164.1.1 线与线的交点的求法174.2.2 线与面的交点的求法184.
4、2 求交线算法194.3 包含判定算法214.4 重叠判定算法264.5 凸包计算265 自由曲线曲面造型技术285.1 Bezier曲线和曲面285.1.1 Bezier曲线285.1.2 Bezier曲面315.2 B样条曲线与曲面325.2.1 B样条的递推定义和性质325.2.2 B样条曲线345.2.5 B样条曲面365.3 NURBS曲线与曲面375.3.1 NURBS曲线375.3.2 非均匀有理B样条(NURBS)曲面395.4 Coons 曲面405.4.1 基本概念405.4.2 双线性Coons曲面415.4.3 双三次Coons曲面426 CAGD中有关曲线曲面、拼接技
5、术446.1 基本原理446.2 Bezier曲线的的拼接条件446.3 Bezier曲面的的拼接条件467 图形变换技术487.1 二维图形几何变换497.1.1 平移(Translation)497.1.2 旋转(Rotation)497.1.3 变比(scaling)507.2 三维图形几何变换517.2.1 平移517.2.2 旋转517.2.3 变比547.3 参数图形几何变换547.3.1 圆锥曲线的几何变换547.3.2 参数曲线、曲面的几何变换557.4 投影变换587.4.1 平行投影(parallel projection)587.4.2 透视投影(perspective
6、projection)608 图形消隐算法618.1 扫描线Z-buffer算法618.2 区域子分割算法618.3 光线投射算法628.4 平面公式法628.5 径向预排序法638.6 径向排序法638.7 隔离平面法638.8 深度排序法638.9 光线跟踪法638.10 Z缓冲区法648.11 极值检测法648.12 深度分类方法648.13 八叉树方法659 图形学若干基本算法的实现研究65参考文献68附录68图形学算法基础作业1 直线段生成算法综述1.1 生成直线的DDA方法1.1.1 DDA算法基本原理DDA是数字微分分析式(Digital Differential Analyze
7、r)的缩写。设直线之起点为,终点为,则斜率为:直线中的每一点坐标都可以由前一点坐标变化一个增量而得到,即表示为递归式:并有关系:递归式的初值为直线的起点,这样,就可以用加法来生成一条直线。1.1.2 DDA算法实现步骤具体方法是:按照直线从到的方向不同,分为8个象限(见图1.1)。对于方向在第1a象限内的直线而言,。对于方向在第1b象限内的直线而言,取值。各象限中直线生成时的取值列在表1-1之中。图1.1 直线方向的8个象限图表1-1 各象限中直线生成时的取值列象限1a1b2a2b3a3b4a4bTFTFTFTF11/m-1-1/m-1-1/m11/mm1m1-m-1-m-1研究表中的数据,可
8、以发现两个规律:1、当时;否则:2、的符号与的符号相同。这两条规律可以导致程序的简化。由上述方法写成的程序如附录1所示。其中steps变量的设置,以及等语句,正是利用了上述两条规律,使得程序变得简练。使用DDA算法,每生成一条直线做两次除法,每画线中一点做两次加法。因此,用DDA法生成直线的速度是相当快的。1.1.3 DDA算法程序(或伪程序)描述具体程序见附录1。1.1.4 DDA算法流程图(略)1.2 中点画线算法1.2.1 中点画线算法基本原理假定直线斜率在之间,当前象素点为,则下一个象素点有两种可选择点或。若与的中点称为M,Q为理想直线与垂线的交点。当M在Q的下方时,则取应为下一个象素
9、点;当M在Q的上方时,则取为下一个象素点。这就是中点画线法的基本原理。1.2.2 中点画线算法实现步骤下面讨论中点画线法的实现。过点、的直线段L的方程式为,其中,要判断中点M在Q点的上方还是下方,只要把M代入,并判断它的符号即可。为此,我们构造判别式:当时,M在L(Q点)下方,取为下一个象素;当时,M在L(Q点)上方,取为下一个象素;当时,选或均可,约定取为下一个象素。注意到是的线性函数,可采用增量计算,提高运算效率。若当前象素处于情况,则取正右方象素,要判下一个象素位置,应计算,增量为a。 若时,则取右上方象素。要判断再下一象素,则要计算,增量为。画线从开始,的初值,因,所以。 由于我们使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 算法 基础 作业

链接地址:https://www.31ppt.com/p-2391765.html