计算机图形学 第九章.
计算机图形学实验指导书(vc++版)
实验指导书刘文涛2013目录第一章图形学实验环境和要求 (4)1.1 VC++实验环境 (4)1.1.1 基本环境 (4)1.1.1 开发图形程序的一般流程 (7)1.1.3 基本绘图函数介绍 (11)1.2 OpenGL (22)1.2.1 OpenGL介绍 (22)1.2.2 OpenGL开发环境 (24)1.2.3 OpenGL函数 (24)1.2.4 回调函数 (25)1.2.4 一个典型OpenGL例程 (26)1.3 实验要求 (29)1.3.1 实验内容 (29)1.3.2 实验方法 (29)1.3.3 实验效果 (30)第二章直线生成算法 (30)2.1 实验原理 (30)2.1.1 DDA算法 (30)2.1.2 Bresenham算法 (30)2.2 实验内容 (30)2.3 参考示例程序 (30)第三章圆和椭圆生成算法 (32)3.1 实验原理 (32)3.2 实验内容 (32)3.3 参考示例程序1 (32)3.4 参考示例程序2 (33)第四章裁剪算法 (35)4.1 实验原理 (35)4.2 实验内容 (35)4.3 示例程序 (35)4.3.1 参考例子1 (35)4.3.2参考例子2 (38)第五章二维变换 (40)5.1 实验原理 (40)5.2 实验内容 (40)5.3 示例程序 (40)5.3.1参考例子1 (40)第六章三维变换 (44)6.1 实验原理: (44)6.2 实验内容 (45)6.3示例程序 (45)第七章填充算法 (47)7.1 实验原理: (47)7.2 实验内容 (47)7.3示例程序 (47)第八章曲线曲面 (50)8.1 实验原理 (50)8.2 实验内容 (50)8.3示例程序 (51)8.3.1 参考例子(1) (51)8.3.2 参考例子(2) (52)8.3.3 参考例子(3) (54)8.3.4 参考例子(4) (56)第九章真实感图形绘制 (59)9.1 实验原理 (59)9.2 实验内容 (59)9.3示例程序 (59)9.3.1参考例子(1) (59)9.3.2参考例子(2) (61)9.3.3参考例子(3) (63)第十章动画 (66)10.1 实验原理 (66)10.2 实验内容 (66)10.3示例程序 (66)10.3.1 参考例子 (66)参考文献: (72)第一章图形学实验基础1.1 VC++实验环境1.1.1 基本环境Microsoft Visual C++ 6.0 是微软推出的功能强大的可视化C/C++语言编译器,运行在Windows 9x/2000/NT等平台上,可以建立32位应用程序。
计算机图形学第九章
对于一般的物体,如果其表面的光滑度较低,也就是镜面反射不太明显, 甚至可忽略不计(如一般的地表、橡胶制品等等)则可将前述phong模型中的镜面反射部分去掉而简化成:
又因环境反射光所占比例极小(d《1),有时也可忽略不计,故可得:
五.一般物体的表示
对于金属材料制成品可不考虑漫反射,而只考虑镜面反射。其材质感可由高光效应表现出来。计算公式可简化为:
一般取d《1 (0.02~0.2之间)
θ是光源和法线间的夹角(入射角);
α是视线和反射光间的夹角;
ω是反射强度(0≤ω≤1); n 是物体表面光泽度。
该公式表明,一旦物体的基本颜色以及各种反射光的比例确定,那么从景物表面上某点到达观察者的反射光强弱就仅仅与光源入射角θ和视角α有关。
6
法线、视线和光源矢量
3.光源方向矢量 对于点光源,需先给定光源的位置 L(lx, ly, lz)。将这个 光源和物体表面上的任一可见点 P(px, py, pz)连接的矢量 I(ix, iy, iz)作为该点处的光源方向矢量。 即: ix = px - lx iy = py - ly iz = pz - lz
01
在实际使用中,由于cosα的计算不方便(要计算反射光方向矢量),所以常用N(法线)和H(光源矢量和视线矢量的二等分矢量)之间的夹角余弦值来代替。
02
六.金属材质的表示
)
(
)
(
(
(
+
H
V
L
V
L
+
=
)
R
光源
L
法线
N
视线
V
反射光)
H
θ
α
α
H可理解为朝观察方向产生镜面反射的虚拟表面的法向量。显然,H和表面的实际向量N之间的角度反映了射向观察者的镜面反射光的大小。
计算机图形学第九章部分
第九章:真实感图形学
精确的重叠测试如果所有测试失败,就必须对多边形在XY平面上的投影作求交计算计算时不必具体求出重叠部分,只要能判断出前后顺序即可最简单的方法是对每对边(一条P边,一条Q边)作线段求交测试,若没有循环重叠情况,则只要求出第一个交点,在交点处进行深度比较即可确定二者顺序画家算法原理简单。其关键是如何对场景中的物体按深度排序它的缺点是只能处理互不相交的面,而且深度优先级表中面的顺序可能出错。在两个面相交,三个以上的面重叠的情形,用任何排序方法都不能排出正确的序。这时只能把有关的面进行分割后再排序
第九章:真实感图形学
否则,窗口内含有两个以上的面,则把窗口等分成四个子窗口。对每个小窗口再做上述同样的处理。这样反复地进行下去。如果到某个时刻,窗口仅有象素那么大,而窗口内仍有两个以上的面,这时不必再分割,只要取窗口内最近的可见面的颜色或所有可见面的平均颜色作为该象素的值
四叉树算法假设全屏幕窗口分辨率为1024×1024。窗口以左下角点(x,y)和边宽s定义。下图为使用栈结构实现的区域子分割算法流图。由于算法中每次递归的把窗口分割成四个与原窗口相似的小窗口,故这种算法通常称为四叉树算法
第九章:真实感图形学
Southerland根据消隐空间的不同,将消隐算法分为三类
物体空间的消隐算法 (光线投射、Roberts) 将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系
图像空间的消隐算法 (Z-buffer、扫描线、warnock)对屏幕上每个象素进行判断,决定哪个多边形在该象素可见
消隐的对象是三维物体。三维体的表示有边界表示和CSG(结构实体几何学)表示等。最简单的表示方式是用表面上的平面多边形表示。如物体的表面是曲面,则将曲面用多个平面多边形近似。 消隐结果与观察物体有关,也与视点有关。 按消隐对象分类
计算机图形学课件chapter9
9.4 整体光照模型
• 整体光照模型 Whitted在Phong模型中增加了环境镜面反射光 亮度Is和环境规则透射光亮度It, 从而模拟周围 环境的光透射在景物表面上产生的理想镜面反 射和规则透射现象。
• 不同光源, 不同表面材料对 光亮度有很大影响。
图9.1
5
• 简单光照模型(不考虑透射光, 仅有反射光) 而反射光又分成3个分量, 即: 反射光=环境反射+漫反射+镜面反射
• 环境反射 物体除了受特定光源照射外,还受到周围环境 来的反射光照射。该分量用Ipa表示,取常数。
• 漫反射 表示特定光源在景物表面的反射光中那些向空 间各方向均匀反射出去的光。 漫反射可使用朗伯定律计算。
第9章 真实感图形技术
知 识 点: 光照模型, 明暗处理, 光线跟踪, 纹理等真实感技术。
教学目的:使学生了解真实感图形生成的基 本原理和基本方法。
1
本章内容
9.1 概述 9.2 简单光照模型 9.3 多边形表示物体的光滑明暗处理 9.4 整体光照模型 9.5 光线跟踪技术 9.6 纹理
2
9.1 概述
• 优缺点 效果尚好, 计算量小; 不能正确模拟高光, 会产生Mach带效应(光亮度 变化率不连续的边界处呈现亮带或黑带)。
17
图9.6 光亮度插值及其顶点法向量计算
18Biblioteka 二、 Phong明暗处理技术(Phong Shading) • 思想: 对离散的法向量采样作双线性插值, 构造一个连续的法向量函数, 将这个连续的 法向量插值函数代入光亮度计算公式, 即得 到一个非线性的光亮度插值公式。 如图9.7所示, 任一点P处法向按插值方法由 各顶点处法向推出。
3
• 光强(Intensity of light)或称光亮度 既能表示光能大小又能表示其色彩组成的物理 量。一般表示为(R,G,B).
计算机图形学教案
计算机图形学教案第一章:计算机图形学概述1.1 课程介绍计算机图形学的定义计算机图形学的发展历程计算机图形学的应用领域1.2 图形与图像的区别图像的定义图形的定义图形与图像的联系与区别1.3 计算机图形学的基本概念像素与分辨率矢量与栅格颜色模型图像文件格式第二章:二维图形基础2.1 基本绘图函数画点函数画线函数填充函数2.2 图形变换平移变换旋转变换缩放变换2.3 图形裁剪矩形裁剪贝塞尔曲线裁剪多边形裁剪第三章:三维图形基础3.1 基本三维绘图函数画点函数画线函数填充函数3.2 三维变换平移变换旋转变换缩放变换3.3 光照与材质基本光照模型材质的定义与属性光照与材质的实现第四章:图像处理基础4.1 图像处理基本概念像素的定义与操作图像的表示与存储图像的数字化4.2 图像增强对比度增强锐化滤波4.3 图像分割阈值分割区域生长边缘检测第五章:计算机动画基础5.1 动画基本概念动画的定义与分类动画的基本原理动画的制作流程5.2 关键帧动画关键帧的定义与作用关键帧动画的制作方法关键帧动画的插值算法5.3 骨骼动画骨骼的定义与作用骨骼动画的制作方法骨骼动画的插值算法第六章:虚拟现实与增强现实6.1 虚拟现实基本概念虚拟现实的定义与分类虚拟现实技术的关键组件虚拟现实技术的应用领域6.2 虚拟现实实现技术头戴式显示器(HMD)位置追踪与运动捕捉交互设备与手势识别6.3 增强现实基本概念与实现增强现实的定义与原理增强现实技术的应用领域增强现实设备的介绍第七章:计算机图形学与人类视觉7.1 人类视觉系统基本原理视觉感知的基本过程人类视觉的特性和局限性视觉注意和视觉习惯7.2 计算机图形学中的视觉感知视觉感知在计算机图形学中的应用视觉线索和视觉引导视觉感知与图形界面设计7.3 图形学中的视觉错误与解决方案常见视觉错误分析避免视觉错误的方法提高图形可读性与美观性第八章:计算机图形学与艺术8.1 计算机图形学在艺术创作中的应用数字艺术与计算机图形学的交融计算机图形学工具在艺术创作中的使用计算机图形学与艺术的创新实践8.2 计算机图形学与数字绘画数字绘画的基本概念与工具数字绘画技巧与风格数字绘画作品的创作与展示8.3 计算机图形学与动画电影动画电影制作中的计算机图形学技术3D动画技术与特效制作动画电影的视觉艺术表现第九章:计算机图形学的未来发展9.1 新兴图形学技术的发展趋势实时图形渲染技术基于物理的渲染动态图形设计9.2 计算机图形学与其他领域的融合计算机图形学与的结合计算机图形学与物联网的结合计算机图形学与生物医学的结合9.3 计算机图形学教育的未来发展图形学教育的重要性图形学教育的发展方向图形学教育资源的整合与创新第十章:综合项目实践10.1 项目设计概述项目目标与需求分析项目实施流程与时间规划项目团队组织与管理10.2 项目实施与技术细节项目技术选型与工具使用项目开发过程中的关键技术项目测试与优化10.3 项目成果展示与评价项目成果的展示与推广项目成果的评价与反馈重点和难点解析一、图像的定义与图像的定义,图形与图像的联系与区别1. 学生是否能够理解并区分图像和图形的概念。
计算机图形学习题参考答案(完整版)
区域二(下半部分)
k (x k, yk) pk 0 (7, 3) b 2(x 0 1/2)2 a 2(y01)2a 2b 2 23 1 (8, 2) p02a 2y1a 22b 2x1 361 2 (8,1) p12a 2y2 a 2 297 3 (8, 0)
2a yk pk 2 2 2 1600 b a b (1/4)a 332 768 p0 2b2x1b2 224 768 p12b 2x 2 b 2 44 768 p2 2b 2x 3 b2 208 2 640 p3 2b x 4 b 22a 2y 4 108 640 p4 2b 2x 5 b 2 288 512 p5 2b 2x 6 b 22a 2y6 244 384
10、使用中点椭圆算法,绘制中心为 (0, 0) ,长半径 a 8 ,短半径 b 6 的椭圆在第一象限中的部分。 解: 区域一(上半部分)
k (x k, yk) 2b x k 0 (0, 8) 0 1 (1, 8) 72 2 (2, 8) 144 3 (3, 8) 216 4 (4, 7) 288 5 (5, 7) 360 6 (6, 6) 432 7 (7, 6) 504 8 8, 5
第 2 章 基本图元的显示
1、假设 RGB 光栅系统的设计采用 810 英寸的屏幕,每个方向的分辨率为每英寸 100 个像素。如果 每个像素 6 位,存放在帧缓冲器中,则帧缓冲器需要多大存储容量(字节数)? 解: 8100101006/8600000 (字节) 。 2、假设计算机字长为 32 位,传输速率为 1 MIP(每秒百万条指令) 。300 DPI(每英寸点数)的激光打 印机,页面大小为 8.511 英寸,要填满帧缓冲器需要多长时间。 解:
2
11、已知: A(0, 0) 、 B(1, 1) 、 C(2, 0) 、 D(1, 2) ,请判断多边形 ABCD 是否是凹多边形。 解: 多 边 形 的 边 向 量 为 AB (1,1, 0) , BC (1, 1, 0) , CD (1, 2, 0) , DA(1, 2, 0) 。 因 为
计算机图形学_完整版 ppt课件
输入设备
键盘、鼠标 按钮盒、旋钮 跟踪球、空间球 操作杆 触觉反馈设备 数据手套、数据衣 数字化仪 扫描仪 触摸板 光笔 ……
硬拷贝设备
打印机 喷墨 激光 ……
绘图仪 台式 大型滚动传送式 ……
图形硬件系统组成模块示意图:
或称图形坐标系、用户坐标系、全局坐标系 如在世界坐标系中进行装配
观察坐标系(viewing coordinate)
对场景进行观察所对应的坐标系 对象经变换到该场景的一个二维投影——投影变换
规范化坐标系(normalized coordinate)
可使图形软件与特定输出设备的坐标范围无关 坐标范围:-1~1,或0 ~ 1 等等
在场景中对物体移动、旋转、缩 放、扭曲等,或转换模型坐标系
3D→2D,并对观察区域进行裁 剪和缩放
一种伪变换,对窗口上的最终输 出进行移动、缩放等
三维几何变换
可用4×4矩阵操作统一表示二维和三维几何变换
缩放、旋转、 对称、错切等
平移
投影
整体缩放
基本变换:平移、旋转、缩放
复合变换:可由平移、旋转、缩放和其他变换的矩阵乘积 (合并)形成。
图元的绘制、显示过程
顶点 法向量、颜色、纹理… 像素
图元操作、像素操作 光栅化(扫描转换)
像素信息 帧缓存 显示器
调用底层函数,如 setPixel (x,y);将当 前像素颜色设定值存 入帧缓存的整数坐标 位置(x,y)处。
图元描述与操作
几何图元由一组顶点(Vertex)描述 这一组顶点可以是一个或是多个。每个顶点信息二维或 三维,使用 2~4 个坐标。顶点信息由位置坐标、颜色 值、法向量、纹理坐标等组成。
图形学复习大纲
图形学复习大纲计算机图形图像学复习大纲:第一章1.关于计算机图形学的含义(填空、选择、判断)2.关于图形分类及举例3.关于图形的表示方法(两种)<概念、区别>4.图形与图像的区别5.图形学的另一种解释6.阴极射线管组成(五部分)7.什么是分辨率及特性8.习题3(图形、图像含义)第二章1.什么是CDC类(P31下)设备上下文对象的基类2.例2.4、例2.5(P35、P38)第三章1.什么是直线的扫描转换2.程序:利用中点Bresenham绘直线第四章1.多边形定义及分类,三种。
(P73)2.多边形表示方法有哪两种(顶点、点阵)及其概念3.什么是多边形扫描转换4.什么是多边形填充5.有效边表填充原则(下闭上开、左闭右开)6.什么是有效边、有效边表7.分析题:分析某个多边形关于某条扫描线的有效边表8.什么是桶表(又名边表)9.什么是边缘填充?[P80]10.什么是种子填充算法?11.什么是四/八邻接点(连通域)。
简答第五章二维变换和裁剪1.什么是图形几何变换?分为几种?2.什么是(规范化)齐次坐标?点的表达式3.三维变换矩阵的形式,和子矩阵功能:T1、T2、T3、T4形式、作用4.二维图形基本几何变换5.什么是平移(比例)变换,概念和过程?6.如何使用比例变换改变图形形状(P92中)7.什么是旋转变换(概念、结论)8.什么是反射变换(概念、3个结论矩阵)9.错切变换(概念)10.例1、例2(P95、97)11.什么是用户、观察、设备、规格化设备坐标系12.窗口、视区的关系,概念13.什么是裁剪、算法原理14.习题1.2.4(P106)第六章三维变换和投影1.三维几何变换矩阵2.平移、比例矩阵3.什么是平行投影,特点和分类?4.什么是三视图、哪三个,加以区分5.透视投影的特点6.什么是透视投影、视心、视点、视距7.透视变换坐标区包含3个(区别)8.什么是灭点、性质是什么?P1259.什么是主灭点、性质?10.什么是一、二、三点透视第七章自由变换曲线和曲面1.什么是样条曲线/面2.曲线曲面的表示形式3.什么是拟合、逼近4.什么是Bezier曲线及性质?P1375.一次、二次、三次Bezier的形状?6.Bezier性质(简答)第九章动态消隐1.什么是消隐?P1872.什么是图形的几何信息、拓扑信息?3.线框、表面实体模型的区别4.什么是消隐图5.消隐算法分类6.隐线算法原理(简答)7.隐线算法的特性8.凸面体的性质第十章真实感图形1.什么是颜色2.颜色的三要素和概念3.三刺激理论4.三原色性质5.常用颜色模型6.灰度和彩色的区分7.颜色渐变的方法8.关于直线的渐变9.三角形颜色渐变10.什么是材质第一章导论1.关于计算机图形学的含义(填空、选择、判断)?计算机图形学是一种使用图形生成原理和算法将二维或三维图形转化为光栅化的计算机显示的学科。
计算机图形学知识要点
单元分解法优缺点
优点
表示简单 容易实现几何变换 基本体素可以按需选择,表示范围较广 可以精确表示物体 物体的表示不唯一 物体的有效性难以保证 空间位置枚举表示----同样大小立方体粘合在一起表示 物体 八叉树表示----不同大小的立方体粘合在一起表示物体 单元分解表示----多种体素粘合在一起表示物体
阴极射线管(CRT):光栅扫描图形显示器; 平板显示器:液晶显示器、等离子体显示板等; 光点、像素、帧缓存(frame buffer)、位平面;三种 分辨率(屏幕、显示、存储); 黑白、灰度、彩色图形的实现方法(直接存储颜色数据、 颜色查找表); 光栅图形显示子系统的结构
基本概念
第四章 图形的表示与数据结构
2、规则三维形体的表示
形体表示的分类 线框模型
缺点 多边形表,拓扑信息: 显示和隐式表示
表面模型
显示表示:在数据结构中显式的存储拓扑结构。例如,翼边结构 表示(Winged Edges Structure) 隐式表示:即根据数据 之间的关系在运行时实
时的解算。 平面方程 多边形网格 分解表示、构造表示、边界表示
Bresenham算法绘制圆弧
基本原理 从(0,R)点,顺时针开始; 上一个确定像素点为p(x, y),则下一个像素点只 能是p1和p2中的一个;
P(x, y) P1(x+1, y)
p2 (x+1, y-1)
误差判据:像素点到圆心的距离平方与半径平方之 差; 一般关系式取值对应的几何意义,即和下一个像素 的对应关系;
3、椭圆的光栅化方法
计算机图形学基础课件chap9
计算机图形学的起源可以追溯到20世纪50年代,随着计算机技术 的发展,图形学逐渐成为一门独立的学科。
发展
计算机图形学经历了从简单二维图形到复杂三维图形的发展,如今 正朝着虚拟现实、增强现实等方向发展。
未来趋势
随着计算能力的提升和算法的优化,计算机图形学将在更多领域发 挥重要作用,如医学成像、建筑设计等领域。
性能计算机支持。
03
分布式渲染技术
分布式渲染技术是一种将渲染任务分配给多个计算机共同完成的渲染技
术。这种技术能够提高渲染效率,缩短渲染时间,适用于大规模的图像
渲染任务。
人工智能在计算机图形学中的应用
智能动画生成
人工智能技术可以用于生成智能动画,通过对大量数据进行学习,自动生成符合要求的动 画效果。这种技术能够提高动画制作的效率和质量。
可视化和表现
学习如何使用软件的功能和技术,将设计 理念和创意以可视化的方式呈现出来,提 高设计的表现力和说服力。
虚拟现实与增强现实实践项目
虚拟现实与增强现实实践 项目
通过开发一款简单的虚拟现实 或增强现实应用,掌握虚拟现 实和增强现实技术的实现和应 用。
虚拟现实与增强现实开发 工具
选择适合的开发工具和平台, 如Unity、Unreal Engine、 ARKit、VRKit等,学习使用这 些工具进行应用的开发和实现 。
智能材质与纹理生成
人工智能技术可以用于生成智能材质和纹理,通过对大量数据进行学习,自动生成符合要 求的材质和纹理效果。这种技术能够提高材质和纹理设计的效率和质量。
智能场景构建
人工智能技术可以用于构建智能场景,通过对大量数据进行学习,自动生成符合要求的场 景效果。这种技术能够提高场景设计的效率和质量。
计算机图形学 第九章 三维形体的表
正则集合运算
• 为什么需要正则集合运算
– 正则集合运算是构造复杂物体的有效方法 – 普通的集合运算会产生无效物体
– (b):A∩B – (c):普通A∩B – (d):正则A∩B
精选课件
正则集合运算
• 集合运算(并、交、差)是构造形体的 基本方法。正则形体经过集合运算后, 可能会产生悬边、悬面等低于三维的形 体。
图3.2.1 非正则形体实例
精选课件
• 为了能够处理非正则形体,产生了非正则 造型技术。
• 九十年代以来,基于约束的参数化、变量 化造型和支持线框、曲面、实体统一表示 的非正则形体造型技术已成为几何造型技 术的主流。
精选课件
形体表示模型
•在实体模型的表示中,基本上可以分 为分解表示、构造表示和边界表示三 大类。 •1、分解表示
2、线框模型与形体之间不存在一一对应关系: 它仅仅通过给定的轮廓线约束所表示形体的 边界面,而在轮廓线之间的地方,形体的表 面可以任意变化。
3、没有形体的表面信息,不适于真实感显示, 由此导致表示的形体可能产生二义性。
精选课件
表面模型
• 表面模型– 将形体表示成 Nhomakorabea组表面的集合
– 如果把线框模型中的棱线包围的部分定义为 面,所形成的模型便是表面模型。其数据结 构是在线模型的基础上附加一些指针,有序 地连接棱线。下图中表面编号表示第几个表 面,表面特征表面是平面还是曲面。
精选课件
正则集合运算
• 同理: • b(A∪*B)=(bA ∩ eB) ∪(bB ∩
eA)∪(bA∩bB)同侧 • b(A-*B)=(bA ∩ eB) ∪(bB ∩
iA)∪(bA∩bB)异侧
精选课件
一些非正则形体的实例
课程代码04644考试大纲
广东省高等教育自学考试计算机图形学课程(课程代码:04644)考试大纲目录一、课程性质与设置目的二、课程内容与考核目标第一章计算机图形学概述第一节计算机图形学的发展概况第二节计算机图形学的主要应用领域第三节计算机图形学与计算机辅助设计(CAD)第四节计算机图形系统第二章绘图基础第一节GDI+概述第二节绘图基础第三节绘图方法第三章基本图形、图案设计第一节基本图形设计第二节圆弧连接程序设计第四章图形变换及图形设计第一节二维图形变换第二节三维图形变换第四节轴测投影变换第五节透视投影变换第六节凸平面立体隐藏线的消除第五章曲线的程序设计第一节平面曲线第二节三次样条曲线第三节Bezier曲线第四节B样条曲线第六章曲面程序设计第一节常见曲面第七章图像处理第一节位图图像文件及操作第二节位图图像的处理技术第八章动画技术第一节动画技术基础第二节动画技术的实现方法第三节动画综合实例第四节综合实例源代码第九章用交开发互式CAD系统第一节交互式CAD系统的总体设计第二节图元的选择与删除第四节添加绘图辅助工具三、关于大纲的说明与考核实施要求【附录】题型举例一、课程性质与设置目的(一)课程性质与特点本课程是广东省高等教育自学考试数字媒体艺术专业(独立本科段)的必考课程之一,本课程是数字媒体艺术专业的应用型专业课。
目的通过学习本课程,培养学生掌握图形学基本概念、原理和方法,掌握用绘制图形程序的能力,通过图形学理论和程序编写实践,提高学生对图形学的理解,使学生能使用的编制图形软件。
(二)本课程的基本要求通过本课程学习,要求学生认识编制绘图程序的特点,了解图形学基本原理和方法,掌握编写图形程序的方法和流程。
1、了解绘图基础;2、掌握基本图形设计和常用图形算法;3、了解曲线、曲面的表达方法和绘图技术;4、掌握图形的二/三维几何变换;5、掌握绘制动画的方法;(三)本课程与相关课程的联系本课程是一门与《Visual Basic程序设计》、《多媒体应用技术》、《计算机三维绘图》、《计算机辅助工业设计》等多种课程相关的课程。
第九章 使用MFC实现真实感图形绘制
第九章使用MFC实现真实感图形绘制真实感图形绘制是计算机图形学的一个重要组成部分。
它综合利用数学、物理学、计算机科学和其他学科知识在计算机图形设备上生成象彩色照片那样的真实感图形。
要用计算机图形设备绘制场景的真实感图形,就必须首先在计算机中建立该场景的模型,用这个模型来反映场景的特点和属性。
这一模型通常是由一批几何数据及数据之间的拓扑关系来表示的,这就是造型技术,它是真实感图形绘制技术的重要组成部分。
有了三维场景的模型,并给定了观察点和观察方向以后,就可以通过几何变换和投影变换在屏幕上显示该三维场景的二维图像。
为了使二维图像具有立体感,并尽可能逼真地显示出该物体在现实世界中被观察到的形象,就需要运用适当的光照模型,来模拟场景在现实世界中受到各种光源照射时的效果,这就是真实感图形的画面绘制技术,也就是真实感图形的生成技术。
用计算机在图形设备上生成连续色调的真实感图形大致可以分为以下四步:第一步,用数学方法建立所需三维场景的几何描述,并将它们输入至计算机。
这部分工作可由三维立体造型或曲面造型系统来完成。
场景的几何描述直接影响了图形的复杂性和图形绘制的计算耗费,因此选择合理的、有效的数据表示和输入手段是非常重要的。
第二步,将三维几何描述转换为二维投影图。
这可以通过对场景的投影变换来完成。
第三步,确定场景中的所有可见面,这需要使用隐藏面消除算法将被其他物体遮挡的不可见面消去。
第四步,计算场景中可见面的颜色,严格地说,就是根据基于光学物理的光照明模型计算可见面投射到观察者眼中的光亮度大小和色彩分量,并将它转换成适合图形设备的颜色值,从而确定投影画面上每一象素的颜色,最终生成图形。
前三步的相关知识在前面已经进行了介绍,本章将重点介绍如何通过MFC 编程的方式,利用光照模型计算场景中可见面的光亮度和颜色,并绘制最终的真实感图形。
实际上,现在OpenGL和DirectX等图形函数库提供了很多支持真实感图形绘制的函数,使用它们可以更轻松的完成真实感图形绘制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.Dragon 曲线 (1)Dragon 曲线的生成规则
变化的起始是一条原始直线段。第一 步是将该直线段由中间点隆起,使其 变成一个等腰直角三角形的两腰。 接下去再分别对两腰作和前面同样的 变化,如此不断进行。(图例)
不难看出,Dragon 曲线完全是由长 度相等的线段组成,且两两相交处 都成直角。 另外,每次分形后,曲线的长度是 原来曲线长度的 2 倍。因此,经 过无数次变化,Dragon 曲线也将变 成无限长。这一点正符合分形曲线 的特点。
曲线由把每一折线段反复迭代成缩小 比例的三分之一的生成元而成。即字 符串T= F L F R R F L F 中的每一个 F 又是字符串 T 本身。而每次迭代 后,生成的曲线长是原来曲线长的三 分之四倍。可见,无数次迭代后, Koch 曲线将变得具有无限长度。并 且,Koch 曲线是永远不自相交的。
9.2 非几何形体的造型技术
1、分形造型的概念 分形是最近二十多年来发展起来的新 学科。分形的原文是 Fractals,是由著 名数学家 B . Mandelbrot 于 1975 年用 拉丁词根构造的单词,他创立了独立 于欧几里德几何学之外的数学方法: 分形几何。
分形具有下面列出的典型几何性质
从以上过程可以清楚地看出,Koch曲 线(其它分形集也是如此)可以由简单的 图,称为 生成元 ,迭代产生。 在这里,Koch曲线的生成元是:
在这里,假如我们约定好记号,就可 以把Koch曲线的生成元的构造用一个 字符串符号表示出来。设: F 从当前点开始,向前移动一距离d L 向左(逆时针)转一定角 R 向右(顺时针)转一定角 则Koch曲线的生成元可表示为: T= F L F R R F L F ( =60º )
3.其他分形实例
用 分形 可以构造很多自然界的形体, 下面是几种常见的例子:
(1)分枝
Koch 曲线和Dragon曲线都是连续的, 分枝结构是不连续的,它的生成元类 似于图例所示。 其生成元描述为: F: F[LF]F[RF]F
***
(2)粒子模型的图例 (3)岩石
Z
***
这种分形由平面多边形(如三角形、 取中点在 在中点上加一 边直线上 个随机法向量 四边形等)用随机插值法迭代生成, 可模拟山峦。 如图所示:
(2)
生成Koch 曲线的程序
函数 side( ),用于绘制Koch 曲线的生 成元,函数中所用的参数为:
xa, ya, xb, yb :线段的起点和终点坐标; a : 线段的方向角; n : 迭代次数(递归深度)。
void side ( xa, ya, xb, yb, a, n ) int n ; float xa, ya, xb, yb, a ; { float x1, y1, x2, y2, x3, y3, dl, a1, a2 ; int xs, ys, xe, ye ; if (n==0) { xs=(int)(xa+0.5) ; ys=(int)(ya+0.5) ; xe=(int)(xb+0.5) ; ye=(int)(yb+0.5) ; moveto(xs,480-ys) ; lineto(xe,480-ye); } else
(1)分形集都具有任意小尺度下的 比例细节,或者说它具有精细的结构。 (2)分形集不能用传统的几何语言 来描述,它既不是满足于某些条件的 点的轨迹,也不是某些简单方程的解 集。
(3)分形集具有某种自相似的形式, 可能是近似的或统计的自相似。 (4)一般说来,分形集的维数是一 个分数,所以分形也称为分数维; (5)在大多数令人感兴趣的情形下, 分形集由非常简单的方法定义,可以 用变换的迭代产生。
{ dl=sqrt((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya)) / 3. ; x1=xa+(xb-xa) / 3. ; y1=ya+(yb-ya) / 3. ; side(xa, ya, x1, y1, a, n-1) ; a1=a+AF ; x2=x1+dl*cos(a1) ; y2=y1+dl*sin(a1) ; side(x1, y1, *AF ; x3=x2+dl*cos(a2) ; y3=y2+dl*sin(a2) ; side(x2, y2, x3, y3, a2, n-1) ; side(x3, y3, xb, yb, a, n-1) ; } } ***
2、目前的造型技术主要有: (1)实体造型技术(Solid Modeling): 将对象分解为一组有限的三维元素 的集合,以及施加在这组集合元素上的 一组操作。又可分为空间分割表示、结 构实体几何模型(CSG)、边界模型( B—Reps)。
(2)曲面造型技术(Surface Modeling) 用数学函数(如B样条、贝塞尔)描述 曲线和曲面,并提供其修改、连接、求 交和显示等操作 (3)非几何形体的造型技术 大多数自然物体,如山石、树木、花草 、云、水波、火焰的非规则形体的表达 与操作方法
分形的四种构成方法
(1)基于L系统的分形模型 (2)迭代函数系统模型 (3)粒子系统模型 (4)随机插值模型
二、典型的分形模型 1 .Koch 曲线 ( 1 ) Koch 曲线的生成规则
Koch 曲线是 Von Koch 于1904年第一 次描述的。它的构造是:迭代初始把 原线段去掉中间的三分之一,代之以 底边在被去线段上的等边三角形的两 腰;以后每一步的迭代都是这样的重 复。 (图例)
第九章 三维实体的表示
造型技术概述
实体的定义
八叉树表示
物体的边界表示 构造实体几何表示
9.1 造型技术概述
1、造型技术:计算机内对形状信息的描述方 法简称为造型(Modeling)技术,造型技术主 要有形状表达和形状操作两个部分组成。
将形状的结构用数 据结构模拟出来。 这种描述形状的数 据结构称为模型 (Model) 实现对模型的生成、 修改、综合、分析、 计算、显示等操作, 以便完成设计过程中 的各种造型任务。