计算机图形学 第9章 深度缓存器算法 电子教案
计算机图形学电子教案
计算机图形学电子教案第一章:计算机图形学概述1.1 图形与图像的区别与联系1.2 计算机图形学的基本概念1.3 计算机图形学的发展历程1.4 计算机图形学的主要应用领域第二章:图形表示与建模2.1 图形的基本元素与属性2.2 向量表示法与栅格表示法2.3 图形建模技术2.4 参数曲面与非参数曲面第三章:图形变换3.1 二维变换3.2 三维变换3.3 齐次坐标与变换矩阵3.4 坐标变换在图形处理中的应用第四章:二维图形算法4.1 直线与圆的算法4.2 填充算法4.3 裁剪算法4.4 图形合成算法第五章:三维图形算法5.1 三维图形的算法5.2 光照模型与材质属性5.3 纹理映射与贴图5.4 三维图形的渲染与显示技术第六章:虚拟现实与增强现实6.1 虚拟现实技术的基本概念与原理6.2 虚拟现实系统的硬件与软件设备6.3 虚拟现实技术的应用领域6.4 增强现实技术的基本原理与应用第七章:计算机动画与视频处理7.1 计算机动画的基本概念与类型7.2 动画制作的基本原理与技术7.3 视频处理与压缩技术7.4 动画与视频在计算机图形学中的应用第八章:计算机图形学软件与应用8.1 计算机图形学软件的分类与功能8.2 常见计算机图形学软件介绍8.3 计算机图形学在实际应用中的案例分析8.4 计算机图形学软件的发展趋势第九章:计算机图形学与9.1 计算机图形学与的结合领域9.2 计算机视觉与图形学的关联9.3 机器学习在计算机图形学中的应用9.4 在计算机图形学未来发展中的作用第十章:计算机图形学实验与项目实践10.1 计算机图形学实验概述10.2 常见计算机图形学实验项目介绍10.3 计算机图形学项目实践案例分析10.4 计算机图形学实验与项目实践的意义与价值重点和难点解析一、图形与图像的区别与联系:理解图形和图像在计算机图形学中的定义和区别是基础,重点关注它们的物理表示和应用场景。
二、计算机图形学的基本概念:掌握计算机图形学的定义、目标、任务和研究领域,理解图形系统和图形处理的基本概念。
计算机图形学第九章部分
第九章:真实感图形学
精确的重叠测试如果所有测试失败,就必须对多边形在XY平面上的投影作求交计算计算时不必具体求出重叠部分,只要能判断出前后顺序即可最简单的方法是对每对边(一条P边,一条Q边)作线段求交测试,若没有循环重叠情况,则只要求出第一个交点,在交点处进行深度比较即可确定二者顺序画家算法原理简单。其关键是如何对场景中的物体按深度排序它的缺点是只能处理互不相交的面,而且深度优先级表中面的顺序可能出错。在两个面相交,三个以上的面重叠的情形,用任何排序方法都不能排出正确的序。这时只能把有关的面进行分割后再排序
第九章:真实感图形学
否则,窗口内含有两个以上的面,则把窗口等分成四个子窗口。对每个小窗口再做上述同样的处理。这样反复地进行下去。如果到某个时刻,窗口仅有象素那么大,而窗口内仍有两个以上的面,这时不必再分割,只要取窗口内最近的可见面的颜色或所有可见面的平均颜色作为该象素的值
四叉树算法假设全屏幕窗口分辨率为1024×1024。窗口以左下角点(x,y)和边宽s定义。下图为使用栈结构实现的区域子分割算法流图。由于算法中每次递归的把窗口分割成四个与原窗口相似的小窗口,故这种算法通常称为四叉树算法
第九章:真实感图形学
Southerland根据消隐空间的不同,将消隐算法分为三类
物体空间的消隐算法 (光线投射、Roberts) 将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系
图像空间的消隐算法 (Z-buffer、扫描线、warnock)对屏幕上每个象素进行判断,决定哪个多边形在该象素可见
消隐的对象是三维物体。三维体的表示有边界表示和CSG(结构实体几何学)表示等。最简单的表示方式是用表面上的平面多边形表示。如物体的表面是曲面,则将曲面用多个平面多边形近似。 消隐结果与观察物体有关,也与视点有关。 按消隐对象分类
计算机图形学电子教案c
计算机图形学电子教案C第一章:计算机图形学简介1.1 图形与图像的区别与联系1.2 计算机图形学的应用领域1.3 计算机图形学的发展历程1.4 计算机图形学的基本概念1.5 本章小结第二章:图形表示与几何变换2.1 图形的基本元素与表示2.2 向量与矩阵2.3 几何变换2.4 坐标变换2.5 本章小结第三章:直线与曲线的绘制3.1 直线绘制算法3.2 圆与椭圆的绘制3.3 参数曲线与非参数曲线3.4 贝塞尔曲线与B样条曲线3.5 本章小结第四章:图形裁剪与填充4.1 裁剪算法4.2 填充算法4.3 扫描线算法4.4 抗锯齿技术4.5 本章小结第五章:三维图形表示与变换5.1 三维坐标系与三维图形表示5.2 三维变换5.3 视图变换5.4 投影变换5.5 本章小结第六章:三维建模与曲面建模6.1 三维建模基础6.2 基本三维模型创建6.3 曲面建模技术6.4 参数曲面与非参数曲面6.5 本章小结第七章:光照与材质7.1 光与影的基本概念7.2 基本光照模型7.3 材质的表示与映射7.4 环境映射与贴图7.5 本章小结第八章:纹理映射与纹理合成8.1 纹理映射的基本概念8.2 纹理坐标的8.3 纹理合成算法8.4 多重纹理映射8.5 本章小结第九章:渲染技术9.1 渲染基础9.2 光栅化算法9.3 阴影技术9.4 反走样技术9.5 本章小结第十章:计算机图形学应用实例10.1 3D游戏设计与开发10.2 虚拟现实与增强现实10.3 计算机辅助设计(CAD)10.4 计算机辅助制造(CAM)10.5 本章小结重点和难点解析重点一:图形与图像的区别与联系解析:图形与图像在计算机图形学中是两个核心概念,理解它们的区别与联系对于学习后续内容至关重要。
图形通常指的是由数学公式或者算法的矢量数据,可以无限放大而不失真;而图像则是二维的像素阵列,放大后会失真。
两者在表示方法、处理技术和应用领域等方面都有所不同。
重点二:几何变换解析:几何变换是计算机图形学的基础,包括平移、旋转、缩放等,这些变换对于图形的处理和视图的变换至关重要。
计算机图形学电子教案c
计算机图形学电子教案C第一章:计算机图形学概述1.1 图形与图像的概念定义区别与联系1.2 计算机图形学的发展历史回顾发展趋势1.3 计算机图形学的应用领域计算机辅助设计(CAD)计算机艺术设计虚拟现实其他应用第二章:图形表示与几何建模2.1 基本图形元素点、线、面矢量与标量2.2 图形属性位置、方向、尺寸颜色、纹理2.3 几何建模参数曲线与曲面非参数曲线与曲面体元建模第三章:图形变换3.1 二维变换平移、旋转缩放、反射错切、扭曲3.2 三维变换齐次坐标旋转矩阵投影变换3.3 变换矩阵与逆变换矩阵的性质逆变换的应用第四章:图形绘制算法4.1 直线绘制算法笛卡尔坐标系下的直线绘制参数坐标系下的直线绘制圆的绘制4.2 填充算法扫描线填充填充规则抗锯齿技术4.3 曲面绘制算法参数曲面绘制非参数曲面绘制多边形曲面绘制第五章:图像处理基础5.1 图像的概念与分类数字图像模拟图像灰度图像与彩色图像5.2 图像数字化采样与量化图像分辨率颜色模型与颜色空间5.3 图像增强与滤波图像增强的目的与方法线性滤波器非线性滤波器5.4 图像分割与特征提取阈值分割区域生长边缘检测第六章:三维建模技术6.1 参数曲线与曲面建模参数方程贝塞尔曲线与曲面非均匀有理B样条(NURBS)6.2 体元建模技术多边形网格建模曲面细分建模基于体元的建模6.3 实例:三维模型建模与编辑简单三维模型建模复杂三维模型建模三维模型编辑技术第七章:计算机动画基础7.1 动画基本概念动画类型关键帧与补间动画7.2 动画设计原理运动轨迹运动速度与加速度动力学模拟7.3 动画制作与播放技术动画文件格式动画渲染技术动画播放控制第八章:虚拟现实技术8.1 虚拟现实基本概念虚拟现实定义虚拟现实系统组成虚拟现实技术分类8.2 虚拟环境建模三维场景建模环境交互设计虚拟物体建模8.3 虚拟现实实现技术视觉渲染技术听觉渲染技术触觉与力反馈技术第九章:计算机图形学与游戏制作9.1 游戏图形学概述游戏图形需求分析游戏图形渲染流程游戏图形优化技巧9.2 游戏角色与场景设计角色设计原则场景设计方法动画与特效设计9.3 游戏引擎与图形API游戏引擎概述常用图形API介绍游戏引擎图形编程实践第十章:计算机图形学前沿技术10.1 基于Web的图形学技术WebGLThree.jsBalon.js10.2 增强现实与混合现实技术增强现实技术混合现实技术应用案例分析10.3 计算机图形学在其他领域的发展图形学在的应用图形学在生物医学领域的应用图形学在工业设计领域的应用第十一章:光照与渲染技术11.1 光照模型基本光照模型反射定律材质属性11.2 光照计算直接光照计算间接光照计算全局光照11.3 渲染技术着色器编程阴影渲染全局渲染第十二章:视觉效果与图像后处理12.1 视觉效果的基本概念色彩校正图像合成景深与运动模糊12.2 图像后处理技术滤波与边缘增强图像锐化与去噪图像分割与识别12.3 特效制作与艺术风格火焰、水波等自然效果卡通风格与手绘效果动态效果与过渡动画第十三章:人机交互与用户界面设计13.1 交互技术概述输入设备交互原则与方法用户界面设计13.2 图形用户界面设计界面布局与元素设计色彩与字体设计交互反馈与动效设计13.3 虚拟现实与增强现实界面设计虚拟现实界面设计增强现实界面设计界面设计与用户体验第十四章:计算机图形学与教育应用14.1 计算机图形学在教育中的应用教育软件设计与开发教学辅助工具虚拟实验室与远程教育14.2 课程设计与项目实践课程设计原则与方法项目实践与管理成果评价与反思14.3 计算机图形学在未来教育的发展趋势与计算机图形学的结合混合现实与虚拟现实在教育中的应用教育个性化与定制化第十五章:计算机图形学综合案例分析15.1 案例一:计算机辅助设计(CAD)案例背景与需求分析设计与实现过程应用效果与评价15.2 案例二:计算机艺术设计案例背景与创意构思技术与方法作品展示与评价15.3 案例三:虚拟现实与游戏制作案例背景与设计理念关键技术研究与实现用户体验与评价重点和难点解析本教案涵盖了计算机图形学的基础知识、图形表示与几何建模、图形变换、图形绘制算法、图像处理基础、三维建模技术、动画制作、虚拟现实技术、游戏制作、前沿技术、光照与渲染技术、视觉效果与图像后处理、人机交互与用户界面设计、计算机图形学在教育应用以及综合案例分析等多个方面。
计算机图形学电子教案
计算机图形学电子教案第一章:计算机图形学概述1.1 课程介绍介绍计算机图形学的定义、发展和应用领域解释图形学与图像学的区别1.2 图形学基本概念定义像素、矢量图、位图等基本概念解释屏幕坐标系统、窗口和视口的概念1.3 图形处理流程介绍图形处理的基本流程:输入、建模、渲染、显示解释光栅化和抗锯齿的概念1.4 图形软件和硬件介绍常见的图形软件(如OpenGL、DirectX)解释图形处理器(GPU)的工作原理和性能影响因素第二章:二维图形基础2.1 基本图形绘制学习使用直线、圆、椭圆等基本图形绘制方法掌握坐标变换(平移、旋转、缩放)的基本算法2.2 图形属性学习设置线条颜色、宽度、样式等属性掌握填充图形的方法和属性设置2.3 文本和图像显示学习使用字体和文本显示方法掌握图像的加载、显示和处理方法2.4 二维动画基础了解动画原理和常见动画技术学习简单动画的实现方法第三章:三维图形基础3.1 三维坐标系统和变换掌握三维坐标系统的定义和转换方法学习三维图形的投影和视图变换算法3.2 基本三维图形绘制学习三维直线、曲面等基本图形的绘制方法掌握光照模型和材质属性设置3.3 三维图形渲染学习三维图形的纹理映射、凹凸映射等渲染技术掌握三维图形着色、光照和阴影的计算方法3.4 三维动画基础了解三维动画原理和常见动画技术学习复杂动画的实现方法第四章:图形用户界面设计4.1 GUI设计原则学习GUI设计的基本原则和界面布局方法掌握常用的GUI组件和控件使用方法4.2 事件处理和输入设备学习事件处理机制和输入设备的使用方法掌握鼠标、键盘等输入设备的交互设计4.3 菜单和对话框设计学习菜单和对话框的设计方法和实现技巧掌握菜单项、菜单栏、工具栏等界面的设计要点4.4 状态栏和工具提示学习状态栏和工具提示的设计和使用方法掌握状态信息的展示和交互设计第五章:图形编程实践5.1 图形编程环境搭建学习图形编程环境的搭建和配置方法掌握基本的图形编程框架和API使用方法5.2 绘制基本图形实现直线、圆、椭圆等基本图形的绘制方法掌握坐标变换和图形属性设置的实践技巧5.3 绘制文本和图像实现文本和图像的显示方法掌握字体加载、图像处理和纹理映射的实践技巧5.4 实现简单动画实现二维和三维动画的绘制方法掌握动画原理和渲染技术的实践应用计算机图形学电子教案第六章:图形算法与数据结构6.1 图形算法概述介绍图形算法的分类和应用场景解释算法复杂度和性能评估6.2 数据结构学习常用的数据结构(如数组、链表、树、图)掌握其在图形处理中的应用和选择原则6.3 填充算法学习扫描线填充、填充规则和抗锯齿技术掌握多边形填充算法的原理和实践6.4 裁剪算法学习简单多边形的裁剪方法掌握裁剪算法的原理和实践第七章:图像处理基础7.1 图像处理概述介绍图像处理的基本概念和应用领域解释图像处理与计算机视觉的区别7.2 图像基本操作学习图像的读取、显示、存储和转换方法掌握图像的点操作、滤波和几何变换7.3 图像增强和复原学习图像增强、去噪和复原的算法掌握图像质量改善的实践方法7.4 图像分割和特征提取学习图像分割和特征提取的算法掌握目标检测和识别的实践技巧第八章:计算机动画与模拟8.1 动画基础介绍动画的类型和制作流程解释帧动画和精灵动画的原理8.2 关键帧动画学习关键帧动画的创建和播放方法掌握动画插值和过渡效果的实现8.3 物理模拟学习物理模拟的基本原理掌握碰撞检测、刚体动力学和粒子系统的实现8.4 动画编辑与播放学习动画编辑工具和播放控制方法掌握动画序列化和资源管理的技术第九章:虚拟现实与增强现实9.1 虚拟现实基础介绍虚拟现实的定义和设备解释虚拟环境的创建和交互方法9.2 虚拟现实技术学习虚拟现实渲染和视觉感知技术掌握虚拟现实应用开发的实践技巧9.3 增强现实基础介绍增强现实的定义和设备解释增强现实图像识别和物体跟踪方法9.4 增强现实应用学习增强现实应用开发的方法掌握增强现实游戏和交互设计的实践技巧第十章:图形学项目实践10.1 项目规划与管理学习项目规划和管理的基本方法掌握项目进度控制和团队协作技巧10.2 图形应用实例分析分析图形应用的案例和实现方法理解图形学技术在实际应用中的应用场景10.3 项目设计与实现设计图形应用项目的架构和功能实现图形界面、交互和图形渲染的技术细节10.4 项目测试与优化学习图形应用项目的测试方法掌握性能优化和错误调试的实践技巧10.5 项目展示与评估学习项目展示和评估的方法掌握项目汇报和成果评价的技巧计算机图形学电子教案第十一章:图形学高级主题11.1 曲面建模学习曲面建模的基本概念和方法掌握参数曲面、隐式曲面和开放曲面的绘制技术11.2 非线性动画了解非线性动画的概念和特点学习关键帧动画以外的动画技术,如动力学和模拟动画11.3 实时渲染技术学习实时渲染的基本概念和挑战掌握基于物理的渲染、全局光照和实时阴影的技术11.4 图形硬件加速了解图形硬件加速的基本原理学习如何利用GPU进行图形渲染和计算加速第十二章:专业图形学应用12.1 游戏开发学习游戏开发的基本流程和工具掌握游戏引擎的使用和游戏设计的实践技巧12.2 影视后期制作了解影视后期制作的基本流程学习三维渲染、特效制作和颜色校正的技术12.3 虚拟现实应用学习虚拟现实应用的设计原则掌握虚拟现实体验的创造和优化的实践技巧12.4 医学可视化了解医学可视化的应用和挑战学习医学图像处理和三维可视化的技术第十三章:图形学的前沿技术13.1 深度学习和图形学了解深度学习在图形学中的应用学习神经网络在图像、风格迁移等领域的应用13.2 增强现实与混合现实学习增强现实和混合现实的区别和联系掌握现实世界和虚拟世界的交互技术13.3 图形学的未来趋势探讨图形学的未来发展趋势了解新兴技术如光场渲染、全息显示等的发展前景第十四章:图形学实验与实践14.1 实验环境搭建学习图形学实验环境的需求和搭建方法掌握图形编程环境的配置和使用14.2 图形学实验项目介绍图形学实验项目的类型和内容学习实验项目的规划和实施方法掌握实验结果分析和总结的技巧14.4 实践案例分析分析图形学实践案例的成功因素学习图形学技术在实际项目中的应用和优化第十五章:图形学教学资源与评估15.1 教学资源建设了解图形学教学资源的需求和类型学习教学资源的创建、整合和共享方法15.2 教学评估与反馈学习教学评估的方法和指标掌握学生学习情况和教学效果的反馈技巧15.3 图形学教育的发展探讨图形学教育的现状和未来发展了解图形学教育在人才培养和创新应用中的作用15.4 图形学课程设计学习图形学课程的整体设计和教学规划掌握课程内容、教学方法和评估体系的构建技巧重点和难点解析计算机图形学的定义、发展和应用领域图形学与图像学的区别二维和三维图形的绘制、变换和渲染方法图形属性、文本和图像显示二维动画和三维动画的实现方法图形用户界面(GUI)设计原则和组件使用图形算法与数据结构(填充、裁剪等)图像处理基础(图像操作、增强和复原)计算机动画与模拟(关键帧动画、物理模拟)虚拟现实与增强现实(VR和AR技术)图形学高级主题(曲面建模、非线性动画)专业图形学应用(游戏开发、影视后期制作)图形学的前沿技术(深度学习、增强现实)图形学实验与实践(实验环境搭建、项目实践)图形学教学资源与评估(教学资源建设、教学评估)图形学中的数学基础(坐标变换、投影等)高级图形算法和数据结构的应用图像处理和计算机动画的算法实现虚拟现实和增强现实的开发实践图形学实验环境搭建和项目实践教学资源的创建、整合和共享教学评估体系的设计和实施。
图像空间消隐:z缓冲器(z-buffer)算法
计算该像素(x, y)的光亮值属性并写入帧缓冲器 更新z缓冲器 zbuffer(x, y)=z(x, y)
5
z缓冲器的其它应用
阴影算法:以光源为 视点的z缓冲器
6
z缓冲器的其它应用
rgb和z缓冲器相结合,实现图像的合成
7
z缓冲器算法分析
优点
算法复杂度(O(nN)):对于给定的图像空间,N是固定的,所 以算法复杂度只会随着场景的复杂度线性地增加
无须排序:场景中的物体是按任意顺序写入帧缓冲器和z缓冲 器的,无须对物体进行排序,从而节省了排序的时间
适合于任何几何物体:能够计算与直线交点 适合于并行实现(硬件加速)算法
z (深度)缓冲器算法属于图像空间算法 z缓冲器是帧缓冲器的推广
帧缓冲器:存储的是像素的颜色属性 z缓冲器:存储的是对应像素的z值
假设在视点坐标系(oxyz)中,投影平面为z=0,视线方向沿(-z)轴方向, 投影为平行投影
深度值就是物体沿着视线(-z)方向、与视点的距离 离视点近的物体遮挡离视点远的物体:z值越大,离视点越近
2
z缓冲器算法
投影变换示意图
3
颜色与深度缓冲举例
颜色缓冲
深度缓冲
4
z缓冲器算法描述
(1) 帧缓冲器中的颜色置为背景颜色 (2) z缓冲器中的z值置成最小值(离视点最远) (3) 以任意顺序扫描各多边形
a) 对于多边形中的每一像素,计算其深度值z(x,y) b) 比较z(x, y)与z缓冲器中已有的值zbuffer(x,y)
不足
z缓冲器需要占用大量的存储单元
一个大规模复杂场景中:深度范围可能为106,一个 像素需要24bit来存储其深度信息。如果显示分辨率 为1280×1024,那么深度缓冲器需要4MB存储空间
计算机图形学课件 第九章 建模与消隐解剖
9.1 三维物体的数据结构
场景中经常绘制的三维物体有
球
圆柱 圆锥
sphere cylinder cone
圆环 torus
无论使用哪种模型描述,都需要为物体建立顶点表、边表 和面表构成的数据结构。建立三维用户坐标系为右手系 Oxyz,x轴水平向右为正,y轴垂直向上为正,z轴从纸面 指向观察者。
4
9.1.1 物体的几何信息和拓扑信息
z坐标
z0=-a z1=-a z2=-a z3=-a z4= a z5= a z6= a z7= a
7
表9-2 立方体边表
边
起点
终点
E0
V0
V1
E1
V1
V2
E2
V2
V3
E3
V3
V0
E4
V4
V5
E5
V5
V6
E6
V6
V7
E7
V7
V4
E8
V0
V4
E9
V1
V5
E10
V2
V6
E11
V3
V7
8
表9-3立方体面表
多面体的顶点数,F是多面体的面数, V4
E4
V5
E是多面体的边数
图9-4 立方体数学模型
6
顶点
V0 V1 V2 V3 V4 V5 V6 V7
表9-1 立方体顶点表
x坐标
x0=-a x1= a x2= a x3=-a x4=-a x5= a x6= a x7=-a
y坐标
y0=-a y1=-a y2= a y3= a y4=-a y5=-a y6= a y7= a
实体模型常采用集合论中的并、交、差等运算来构造复杂 实体 。
计算机图形学电子教案c
计算机图形学电子教案C一、引言1.1 课程简介本课程旨在让学生了解和掌握计算机图形学的基本概念、原理和技术,培养学生运用计算机图形学知识解决实际问题的能力。
1.2 教学目标(1)了解计算机图形学的基本概念和应用领域;(2)掌握计算机图形学的基本原理和技术;(3)能够运用计算机图形学知识解决实际问题。
二、基本概念2.1 计算机图形学的定义计算机图形学是利用计算机技术进行图形表示、处理、存储、传输和显示的科学。
2.2 计算机图形系统的组成计算机图形系统由输入设备、图形处理设备、输出设备和软件组成。
2.3 图形和图像的区别图形是由计算机绘制的,具有确定性和精确性;图像是由相机、扫描仪等设备捕获的,具有不确定性和模糊性。
三、图形表示3.1 矢量图形和位图图形矢量图形是由数学公式和几何形状描述的,具有无限放大不失真的特点;位图图形是由像素阵列组成的,具有有限放大不失真的特点。
3.2 图形文件格式常见图形文件格式包括BMP、JPEG、PNG、GIF等。
3.3 颜色表示颜色是由红、绿、蓝三原色组成的,可以通过不同的颜色模型(如RGB、HSV)进行表示。
四、图形变换4.1 坐标变换包括平移、旋转、缩放等变换。
4.2 投影变换包括正交投影、透视投影等变换。
4.3 参数变换包括插值、曲线拟合等变换。
五、图形绘制5.1 基本图形绘制包括直线、圆、椭圆、多边形等基本图形的绘制方法。
5.2 曲线绘制包括贝塞尔曲线、B样条曲线等曲线的绘制方法。
5.3 图形渲染包括填充、阴影、光照等渲染技术。
六、图形处理技术6.1 图形裁剪介绍如何通过裁剪算法将复杂的图形简化为基本的图形元素。
6.2 图形合成学习如何将多个图形元素合成为一个完整的图形,包括叠加、组合等方法。
6.3 几何运算探讨如何利用计算机进行几何图形的运算,如求交、求并、求补等。
七、图像处理技术7.1 图像增强学习通过对比度增强、锐化等方法改善图像质量。
7.2 图像滤波介绍如何利用滤波技术去除图像中的噪声,包括低通滤波、高通滤波等。
计算机图形学实验z-buffer算法,DOC
实验六9-7一、实验题目z-buffer算法的代表性案例是绘制三个相互交叉的红绿蓝条,如图9-85所示,请使用MFC编程实现。
⑤如果z s(x s,y s)≤zBuffer(x s,y s),则将此像素的颜色写入帧缓冲器,且用z(x s,y s)重置zbuffer(x s,y s)。
三、实验代码CZBuffer::~CZBuffer(){delete[]P;}voidCZBuffer::SetPoint(CPi3p[],intm) {P=newCPi3[m];if(P[i].y<yMin){yMin=P[i].y;//扫描线的最小值}if(P[i].y>yMax){yMax=P[i].y;//扫描线的最大值}}for(inty=yMin;y<=yMax;y++)CurrentB=CurrentB->next;CurrentB->ScanLine=y;CurrentB->pET=NULL;CurrentB->next=NULL;}}}voidCZBuffer::CreateEdge()//创建边表{for(inti=0;i<PNum;i++)while(CurrentB->ScanLine!=P[i].y)//在桶内寻找该边的yMin{CurrentB=CurrentB->next;//移到yMin所在的桶结点}}if(P[j].y<P[i].y)//边的终点比起点低{Edge=newCAET;{CurrentE=CurrentB->pET;if(CurrentE==NULL){CurrentE=Edge;CurrentB->pET=CurrentE;}else{while(CurrentE->next!=NULL)double A,B,C,D;//平面方程Ax+By+Cz+D=0的系数CVectorV21(P[1],P[2]),V10(P[0],P[1]); CVectorVN=V21*V10;A=VN.X();B=VN.Y();C=VN.Z();D=-A*P[1].x-B*P[1].y-C*P[1].z;DeepStep=-A/C;//计算直线deep增量步长CAET*T1,*T2;HeadE=NULL;for(CurrentB=HeadB;CurrentB!=NULL;CurrentB=CurrentB-> next)AddEt(Edge);}EtOrder();T1=HeadE;if(T1==NULL){return;}while(CurrentB->ScanLine>=T1->yMax)//下闭上开{if(CurrentB->ScanLine>=T1->yMax)//下闭上开{T2->next=T1->next;T1=T2->next;}else{T2=T1;T1=T2->next;}{if(Flag==FALSE){xb=T1->x;CurDeep=-(xb*A+CurrentB->ScanLine*B+D)/C;//z=-(Ax+By -D)/CFlag=TRUE;}rDeep;//xy坐标与数组下标保持一致pDC->SetPixel(ROUND(x),CurrentB->ScanLine,RGB(Cf.red* 255,Cf.green*255,Cf.blue*255));}CurDeep+=DeepStep;}Flag=FALSE;}}{CAET*CE;CE=HeadE;if(CE==NULL){HeadE=NewEdge;CE=HeadE;}else{if(T1==NULL){return;}if(T1->next==NULL)//如果该ET表没有再连ET表{return;//桶结点只有一条边,不需要排序}while(T1->next!=NULL)//统计结点的个数{}else{if(T1->x==T1->next->x){if(T1->k>T1->next->k)//按斜率由小到大排序{T2=T1->next;T1->next=T1->next->next;T2->next=T1;T1->next=T1->next->next;T2->next->next=T1;T1=T2->next;}else{if(T1->x==T1->next->x){if(T1->k>T1->next->k)//按斜率由小到大排序{{CRGBc;c=(t-t2)/(t1-t2)*c1+(t-t1)/(t2-t1)*c2;returnc;}voidCZBuffer::InitDeepBuffer(intwidth,intheight,doubledepth) //初始化深度缓冲{Width=width,Height=height;ZB=newdouble*[Width];。
计算机图形学电子教案c
计算机图形学电子教案C第一章:计算机图形学概述1.1 课程简介介绍计算机图形学的定义、发展与研究领域讲解图形学与其他学科的关系1.2 图形学基本概念图像、图形、视图的基本概念矢量图形与位图图形的区别1.3 图形学基本算法光栅图形学基础算法矢量图形学基础算法第二章:二维图形处理2.1 二维图形变换点、直线、圆的参数方程二维坐标系变换(平移、旋转、缩放)2.2 二维图形裁剪裁剪概念及基本算法窗口与视口的概念及关系2.3 二维图形属性颜色、线型、填充属性抗锯齿技术第三章:三维图形处理3.1 三维坐标系与视角右手坐标系与左手坐标系视点、视角、投影变换3.2 三维图形变换三维坐标变换(平移、旋转、缩放)三维投影变换(正交投影、透视投影)3.3 三维图形绘制三维直线、曲面绘制算法光照模型与材质属性第四章:图形界面设计4.1 图形用户界面设计原则界面布局、颜色搭配、字体与图标设计人与计算机交互方式4.2 常用图形界面组件按钮、菜单、对话框、工具栏等组件设计事件处理与消息传递机制4.3 界面设计工具与框架常用的界面设计工具(如:Visual Studio、X)界面设计框架(如:Qt、Win32 API、Mac OS API)第五章:计算机动画与虚拟现实5.1 计算机动画基本概念动画分类与特点帧、帧率、动画序列5.2 动画制作技术与算法关键帧动画、插值动画、角色动画物理动画与仿真动画5.3 虚拟现实技术虚拟现实概念与分类(如:VR、AR、MR)虚拟现实关键技术(如:三维建模、渲染、交互)虚拟现实应用领域与前景展望第六章:图像处理基础6.1 图像处理概述图像处理的基本概念图像处理与计算机图形学的区别与联系6.2 图像数字化图像采样与量化图像文件的常见格式6.3 图像增强与滤波图像增强的目的与方法常用滤波算法(如:低通滤波、高通滤波、中值滤波)第七章:图像分析与特征提取7.1 图像分析基本概念边缘、轮廓、形状分析纹理、颜色分析7.2 特征提取算法边缘检测算法(如:Sobel、Canny、Prewitt)特征点提取与描述(如:Harris、Shi-Tomasi)7.3 形态学处理形态学基本操作(如:腐蚀、膨胀、开运算、闭运算)形态学在图像处理中的应用(如:去除噪声、增强边缘)第八章:图像压缩与编码8.1 图像压缩概述图像数据压缩的必要性压缩的基本方法与分类8.2 图像编码算法静止图像编码(如:JPEG、PNG)视频图像编码(如:H.264、HEVC)8.3 压缩算法的应用与评估压缩算法的选择与实现压缩效果的评估与优化第九章:计算机辅助设计(CAD)9.1 CAD基本概念CAD的定义与发展历程CAD系统的组成与功能9.2 二维CAD绘图基本绘图命令与操作图形编辑与标注9.3 三维CAD建模三维建模基础(如:线框模型、曲面模型、体模型)三维建模与渲染技术第十章:计算机辅助制造(CAM)10.1 CAM基本概念CAM的定义与作用CAM系统的基本组成与工作原理10.2 数控编程与加工数控编程的基本方法与步骤数控加工工艺与参数设置10.3 制造过程仿真与优化制造过程仿真的意义与方法制造过程的优化技术第十一章:渲染技术11.1 渲染基础渲染定义与过程全局光照与局部光照模型11.2 光线追踪与蒙特卡洛方法光线追踪原理与实现蒙特卡洛渲染方法与重要性采样11.3 阴影与光照效果阴影类型(软阴影、硬阴影、环境阴影)光照效果(光泽、反射、折射、透视corrected)第十二章:纹理映射与材质12.1 纹理映射基础纹理映射概念与分类纹理坐标与映射技术12.2 纹理映射算法二维纹理映射三维纹理映射(凹凸映射、法线映射)12.3 材质属性与渲染材质属性(颜色、光泽度、反射率等)材质渲染与贴图技术第十三章:动画与仿真13.1 关键帧动画关键帧动画制作与播放插值算法与动画平滑处理13.2 物理动画与粒子系统物理动画原理与实现粒子系统基本概念与技术13.3 动画编辑与渲染动画编辑工具与技术动画渲染方法与优化第十四章:虚拟现实与增强现实14.1 虚拟现实技术虚拟现实系统组成与原理虚拟现实应用与技术挑战14.2 增强现实技术增强现实系统原理与设备增强现实应用与开发14.3 混合现实与交互技术混合现实概念与实现虚拟物体与现实物体的交互技术第十五章:计算机图形学前沿技术15.1 实时渲染技术实时渲染原理与挑战并行计算与GPU加速渲染15.2 基于物理的渲染基于物理的渲染原理与方法全局光照与实时光照模型15.3 计算机图形学在其他领域的应用计算机图形学在医学、建筑、教育等领域的应用案例未来发展趋势与挑战重点和难点解析本文主要介绍了计算机图形学的基础知识和相关技术,共分为十五个章节。
计算机图形学 第9章 深度缓存器算法 电子教案
贯穿情形:
为了使算法能处理互相贯穿的多边形,扫描线上的分割 点不仅应包含各多边形的边与扫描线的交点,而且应包 含这些贯穿边界与扫描线的交点
1 z
2
3 (a)
4
5 x z
1
2
3 (b)
4
5 x z
1
2
3 (c)
4
5 x
图 9-4
2013-1-25
扫描线子区间
13
华中理工大学计算机学院 陆枫 99-7
第9章 消隐
提出问题
• 物体的消隐或隐藏线面的消除:在给定视点和视
线方向后,决定场景中哪些物体的表面是可见的, 哪些是被遮挡不可见的。物体的消隐或隐藏线面
的消除。
2013-1-25
华中理工大学计算机学院 陆枫 99-7
1
图象空间消隐算法以屏幕象素为采样单位,确定投
影于每一象素的可见景物表面区域,并将其颜色作
201821华中理工大学计算机学院99717图97a和b在xoy平面上投影的包围盒无重叠图98a位于b上a与b的重叠面之后201821华中理工大学计算机学院99718图99b上a与b的重叠面完全位于a之前图910abc之间的遮挡关系201821华中理工大学计算机学院9971994一种简单的细分方式是将区域分割为四块大小相等的矩形201821华中理工大学计算机学院99720图911多边形的投影与考察区域之间的关系考察区域考察区域考察区域考察区域a围绕多边形b相交多边形c被包含多边形d分离多边形201821华中理工大学计算机学院99721可见性测试自适应细分图912满足测试条件3的两个例子围绕多边形相交多边形被包含多边形围绕多边形相交多边形被包含多边形201821华中理工大学计算机学院9972295算法原理
计算机图形学-张进
中国海洋大学本科生课程大纲课程属性;公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修课程介绍1.课程描述:本课程是为地球信息科学与技术系开设的专业基础课,也是计算机类专业的专业技术基础课,主要讲授计算机图形学的基本概念、方法与算法。
选修学生掌握数据结构基础知识,同时能够运用一门高级编程语言。
2.设计思路:本课程主要讲授计•算机图形学的基本概念、方法与算法,尤其是算法方面需要学生能够通过上机编程实现。
为了和所学专业结合,设汁了地球物理数据绘图的编程作业,让学生学以致用,掌握计算机图形学在地球物理中的应用,提升学生图形程序开发的能力。
3.课程与其他课程的关系:先修课程:C程序设计。
二、课程目标通过本课程的学习,学生能对计算机图形学的研究内容及其应用方向有一个全面的认识和了解,了解计算机图形学的研究内容及其与相关学科的关系,掌握一些基本的图形生成算法,掌握投影变换、图形变换、裁剪、填充等图形处理的常用算法原理; 了解三维实体的基本表示方法以及图形交互技术;并初步具备图形程序开发的能力;为以后学习其他相关课程和从事相关工作打下基础。
三、学习要求为了更好的掌握计算机图形学的基本原理和方法,学生应该在课前进行预习,按时上课并认真听讲,积极参与课堂讨论、作业典型案例分析。
同时,为了提升学生的图形程序开发能力,本课程设置了较多的编程作业,学生需要高质量的完成上机编程作业。
另外,学生需要在课下查阅相关参考书和文献帮助自己理解讣算机图形学的相关概念和原理,了解讣算机图形学的发展动态。
四.教学进度五、参考教材与主要参考书[1]《计算机图形学基础》(第2版),陆枫、何云峰编著,电子工业出版社,2008年10月[2]《计算机图形学》(第三版),孙家广编,淸华大学出版社,1998年第3版[3]《计算机图形学教程》,孙正兴等,淸华大学出版社2004年第1版[4]《计算机图形学教程》,陆润明,淸华大学出版社,2003年第1版六、成绩评定(-)考核方式E : A•闭卷考试B.开卷考试C.论文D.考查E.其他(二)成绩综合评分体系:七、学术诚信学习成果不能造假,如考试作弊、盗取他人学习成果、一份报告用于不同的课程等,均属造假行为。
10计算机图形学
谁遮住了我?提纲1消隐的概念2面剔除3深度测试4OpenGL中的消隐消隐的概念1消隐:决定场景中哪些物体的表面是可见的,哪些是被遮挡不可见的“别人遮住了我”“自己遮住了我”面剔除深度测试面剔除2面剔除分析正反面的定义外侧面(正面)内侧面(反面)面剔除2如果V view ∙N>0则该多边形为后向面,后向面是不可见的后向面判别法向量N法向量N法向量N观察点V view V viewV view不可见可见可见面剔除2什么时候做面剔除?顶点着色器几何、曲面细分着色器片元操作片元着色器三角形设置三角形遍历顶点数据摄像机位置光照纹理裁剪屏幕映射000000000000000000000000000000000000011000000000000010010000000000001000100000000001000001100000001000000001000001000000000010000111111100000100000000001111111000000000000000000000000000000000几何阶段光栅化阶段在片元着色之前进行面剔除3深度测试深度测试的必要性3深度测试◆深度缓存器算法◆深度排序算法深度测试3深度缓存深度缓存(Depth Buffer )存储每个片元的深度信息,也就是Z 坐标值。
屏幕坐标系(x 1,y 1)(x 2,y 2)xyz左手系深度测试3深度缓冲器算法(Z-buffer 算法)yxz算法思想:对每个像素点找到距离视点最近的片元在屏幕空间中:其实是最靠近坐标屏幕的片元,也就是z 值最小的片元这个片元的颜色值就是这个像素点的颜色值距离视点最近的片元ABCz 深度测试3◆深度缓冲器算法(Z-buffer 算法)y x算法步骤:1、初始化:将深度缓存与帧缓存中的所有单元(x ,y)初始化:深度缓存中各(x ,y)单元置为z 的最大值1DepthBuffer (x ,y )=1 帧缓存中各(x ,y)单元颜色值置为背景色FrameBuffer (x ,y )=BackgroudColor A B C深度测试3 深度缓冲器算法(Z-buffer 算法)算法步骤:2、处理场景中的每一多边形,每次一个:计算多边形的上各点(x ,y)的深度值z若z<depthBuff(x ,y)则depthBuff (x ,y) =z ;取得该多边形表面的颜色值surfColor (x ,y);frameBuff (x ,y) =surfColor (x ,y)z y xAB C3深度测试深度排序算法(depth sorting method),又叫画家算法(painter’s algorithm)思想:画家在创作一幅油画时,总是先画背景,然后画较远处的场景,然后是近一点的物体,最后画最近的景物。
深度缓冲器算法_计算机图形学实用教程(第3版)_[共2页]
扫描转换该多边形;
for(多边形所覆盖的每一个像素点 (x, y) )
{
计算多边形在该像素点的深度值 z(x, y) ; if( z(x, y) < 深度缓冲器中对应此像素点 (x, y) 的 z 值)
{
把多边形在 (x, y) 处的深度值 z(x, y) 存入深度缓冲器中的 (x, y) 处; 把多边形在 (x, y) 处的属性值存入帧缓冲器中的 (x, y) 处;
计算机图形学实用教程(第 3 版)
步骤 4:递归搜索该 BSP 树,优先绘制标识为“back”的子空间中所含的景物,这样可使得 前面的物体覆盖后面的物体,从而实现物体的消隐。
8.3.5 深度缓冲器算法
深度缓冲器算法(Depth-Buffer Algorithm)是一种简单而且有效的图像空间隐面消除算法, 它是由 Catmull 于 1975 年提出的。该算法的基本思想是:将投影到显示屏上的每一个像素所对应 的多边形表面的深度进行比较,然后取最近表面的属性值作为该像素的属性值。由于视点通常位 于 z 轴上, z 坐标值代表各物体距投影平面的深度,因此可用一个 Z 缓冲器(Z-buffer)来记录位 于投影屏幕上此像素点的最靠近视点的那个多边形表面的深度,同时将此多边形表面的亮度值保存 在帧缓冲器中。因此,深度缓冲器只是帧缓冲器的扩充,深度缓冲器算法也称为 Z 缓冲器算法。
深度缓冲器算法的基本步骤如下。 步骤 1:将场景中的所有多边形通过取景变换、透视变换变换到屏幕坐标系中,即将物体描 述转化为投影坐标,这时多边形表面上的每个点 (x, y, z) 均对应于投影平面上正交投影点 (x, y) 。 因此,对于位于投影平面上的每个像素点 (x, y) ,物体的深度比较可通过它们 z 值的比较来实现。 步骤 2:初始化深度缓冲存储器和帧缓冲器。由于深度缓冲存储器用于存y) 的属性值(亮度或颜色值),因此,深度缓冲器 应初始化为离视点最远的最大 z 值(观察坐标系是左手坐标系,视点在坐标系原点,所以离视点 远的 z 值大),帧缓冲器应初始化为背景的属性值。 步骤 3:按下述流程依次处理场景中的每一个多边形,即
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 9-3
2013-1-25
区间扫描线算法原理
华中理工大学计算机学院 陆枫 99-7 15
9.3 深度排序算法(画家算法)
算法原理:若场景中任何多边形在深度上均不贯穿或循环
遮挡,则各多边形的优先级顺序可完全确定。
深度排序算法:
1.将多边形按深度进行排序:距视点近的优先级高,距视
点远的优先级低。
2.由优先级低的多边形开始逐个对多边形进行扫描转换。
贯穿情形:
为了使算法能处理互相贯穿的多边形,扫描线上的分割 点不仅应包含各多边形的边与扫描线的交点,而且应包 含这些贯穿边界与扫描线的交点
1 z
2
3 (a)
4
5 x z
1
2
3 (b)
4
5 x z
1
2
3 (c)
4
5 x
图 9-4
2013-1-25
扫描线子区间
13
华中理工大学计算机学院 陆枫 99-7
循环遮挡: 将多边形进行划分以消除循环遮挡
(a)贯 穿
(b)循 环 遮 挡
图 9-5
2013-1-25
多边形贯穿和循环遮挡的情形
华中理工大学计算机学院 陆枫 99-7 14
例如:
y A1 B1 C1 A B 扫描线2 扫描线3 A2 A3 C2 B3 B4 C C4 C3 0 x 扫描线1
B2
17
A
A B C B
z
x
z
x
图 9-9
B上 A与 B的 重 叠 面 完 全 位 于 A之 前
图 9-10
A、 B、 C之 间 的 遮 挡 关 系
2013-1-25
华中理工大学计算机学院 陆枫 99-7
18
9.4 区域细分算法
算法原理
一种简单的细分方式是将区域分割为四块大小 相等的矩形
2013-1-25
第9章 消隐
提出问题
• 物体的消隐或隐藏线面的消除:在给定视点和视
线方向后,决定场景中哪些物体的表面是可见的, 哪些是被遮挡不可见的。物体的消隐或隐藏线面
的消除。
2013-1-25
华中理工大学计算机学院 陆枫 99-7
1
图象空间消隐算法以屏幕象素为采样单位,确定投
影于每一象素的可见景物表面区域,并将其颜色作
y 1 , min
B ( y 1) D C
A( x
y , min
1 k
) B ( y 1) D C A B C
z(x
, y) k y , min
扫描线深度缓存器算法(扫描线Z-buffer算法) 特点分析:A缓冲器算法
2013-1-25 华中理工大学计算机学院 陆枫 99-7 10
25
习题
2013-1-25
华中理工大学计算机学院 陆枫 99-7
26
算法:
三张表:边表、多边形表、有效边表。 特殊情形:贯穿情形、循环遮挡情形。
算法的关键:分割子区间,确定子区间上的唯一可见面。
1 z
2
3 (a)
4
5 x z
1
2
3 (b)
4
5 x z
1
2
3 (c)
4
5 x
图 9-4
2013-1-25
扫描线子区间
12
华中理工大学计算机学院 陆枫 99-7
为该象素的显示颜色。
景物空间消隐算法直接在景物空间(观察坐标系)
中确定视点不可见的表面区域,并将它们表达成同 原表面一致的数据结构。
2013-1-25
华中理工大学计算机学院 陆枫 99-7
2
图象空间消隐算法:有深度缓冲器算法、A缓冲器算法、 区间扫描线算法等。 景物空间消隐算法:BSP算法、多边形区域排序算法。 介于二者之间:深度排序算法、区域细分算法、光线投 射算法等。 两个基本原则:排序、连贯性 选择z轴的负向为观察方向
其中的关键是将多边形按深度进行排序。
2013-1-25 华中理工大学计算机学院 陆枫 99-7 16
x A
A
B B
y
z
x
图 9 - 7 A 和 B 在 x o y平 面 上 投 影 的 包 围 盒 无 重 叠
图 9-8
A位 于 B上 A与 B的 重 叠 面 之 后
2013-1-25
华中理工大学计算机学院 陆枫 99-7
缓存中的(x,y)处,再把多边形在z(x,y)处的颜色值存入
帧缓存的(x,y)地址中。
2013-1-25 华中理工大学计算机学院 陆枫 99-7 6
问题:计算采样点(x,y)的深度z(x,y)。
假定多边形的平面方程为:Ax+By+Cz+D=0。
z ( x, y )
Ax By D C
两块缓冲区: Z缓存:保存屏幕坐标系上各象素点所对应的 深度值 帧缓存:保存各点的颜色。
2013-1-25
华中理工大学计算机学院 陆枫 99-7
5
Z-buffer算法的步骤如下:
1.初始化:把Z缓存中各(x,y)单元置为z的最小值,而 帧缓存各(x,y)单元置为背景色。 2.在把物体表面相应的多边形扫描转换成帧缓存中的 信息时,对于多边形内的每一采样点(x,y)进行处理: (1)计算采样点(x,y)的深度z(x,y); (2)如z(x,y)大于Z缓存中在(x,y)处的值,则把z(x,y)存入Z
算法步骤可简单描述如下: 1. 通过视点和投影平面(显示屏幕)上的所有象素
点作一入射线,形成投影线。
2. 将任一投影线与场景中的所有多边形求交。
3. 若有交点,则将所有交点按z值的大小进行排序,
取出最近交点所属多边形的颜色;若没有交点, 则取出背景的颜色。 4. 将该射线穿过的象素点置为取出的颜色。
9.2 区间扫描线算法
算法原理:避免对被遮挡区域的采样是进一步提高扫描线 算法计算效率的关键
y A1 B1 C1 A B 扫描线2 扫描线3 A2 A3 C2 B3 B4 C C4 C3 0 x 扫描线1
B2
图 9-3
2013-1-25
区间扫描线算法原理
华中理工大学计算机学院 陆枫 99-7 11
2013-1-25
华中理工大学计算机学院 陆枫 99-7
7
利用连贯性加速深度的计算:
y 多边形
y y-1
扫描线
0
x x+1
x
图 9-2
利用扫描线的连贯性加速深度的计算
2013-1-25
华中理工大学计算机学院 陆枫 99-7
8
扫描线上所有后继点的深度值:
z ( x 1, y ) A ( x 1) By D C z ( x, y ) A C
华中理工大学计算机学院 陆枫 99-7
19
考察区域
考察区域
考察区域
考察区域
(a)围 绕 多 边 形
(b)相 交 多 边 形
(c)被 包 含 多 边 形
(d)分 离 多 边 形
图 9-11
多边形的投影与考察区域之间的关系
2013-1-25
华中理工大学计算机学院 陆枫 99-7
20
可见性测试
被包含多边形 被包含多边形
• 当处理下一条扫描线y=y-1时,该扫描线上与多边形相 交的最左边(x最小)交点的x值可以利用上一条扫描线 上的最左边的x值计算:
x
2013-1-25
y 1 , min
x
y , min
1 k
9
华中理工大学计算机学院 陆枫 99-7
z(x
y 1 , min
, y 1)
Ax
相交多边形
相交多边形
围绕多边形
围绕多边形
z (a)
x
z 试 条 件 3的 两 个 例 子
自适应细分
2013-1-25 华中理工大学计算机学院 陆枫 99-7 21
9.5 光线投射算法
算法原理:
y 投影线
投影平面 x z
图 9-13
2013-1-25
光线投射算法
22
华中理工大学计算机学院 陆枫 99-7
华中理工大学计算机学院 陆枫 99-7
2013-1-25
23
9.6 BSP树算法
算法原理
实例说明
Q front back B 投影线 front P back C A D (a) 空间剖分 B (b) front Q front back C 形 成 的 BSP树 A front back back Q P
D
图 9-14
2013-1-25
BSP算 法 原 理
24
华中理工大学计算机学院 陆枫 99-7
9.7 多边形区域排序算法
算法思想:
将多边形按深度值由小到大排序,用前面的可
见多边形去切割位于其后的多边形,使得最终
每一个多边形要么是完全可见的,要么是完全
不可见的。
2013-1-25
华中理工大学计算机学院 陆枫 99-7
2013-1-25
华中理工大学计算机学院 陆枫 99-7
3
9.1 深度缓存器算法(Z-buffer算法)
Z-buffer算法的原理:
例如:
R y P2
P1
(x,y) 0
屏幕 x
z
图 9-1
2013-1-25
深 度 缓 存 器 算 法 的 原 理 ( P 1近 , 可 见 )
华中理工大学计算机学院 陆枫 99-7 4