计算机图形学 第七章
计算机图形学基础教程
7.1.2 曲线曲面的表示形式
曲线曲面的可以采用显式方程、隐函数 方程和参数方程表示。
首先看一下直线的表示形式:已知直线 的起点坐标P1(x1,y1)和终点坐标P2 (x2,y2),直线的显式方程表示为:
px[13]=180;py[13]=0;
px[14]=225;py[14]=71;
px[15]=270;py[15]=100;
px[16]=315;py[16]=71;
px[17]=360;py[17]=0;
}
void CTestView::DrawPoint()//绘制型值点 {
CClientDC dc(this); CPen NewPen,*OldPen; CBrush NewBrush,*OldBrush; NewPen.CreatePen(PS_SOLID,1,RGB(255,255,0)); OldPen=dc.SelectObject(&NewPen); NewBrush.CreateSolidBrush(RGB(0,0,0)); OldBrush=dc.SelectObject(&NewBrush); for(int i=1;i<N;i++) {
图7-1 汽车的曲面
7.1 基本概念
7.1.1 样条曲线曲面 7.1.2 曲线曲面的表示形式 7.1.3 拟合和逼近 7.1.4 连续性条件
7.1.1 样条曲线曲面
在汽车制造厂里,传统上采用样条 绘制曲线的形状。绘图员弯曲样条(如 弹性细木条)通过各型值点,其它地方 自然过渡,然后沿样条画下曲线,即得 到样条曲线(Spline Curve)。
计算机图形学智慧树知到答案章节测试2023年中国地质大学(武汉)
第一章测试1.计算机图形学产生图形,计算机图像学产生图像。
()A:对B:错答案:B2.下列哪项不属于计算机图形学的应用领域?()A:虚拟现实B:游戏实时显示C:科学计算可视化D:计算机辅助设计E:数字电影制作F:识别图片中的动物答案:F3.本课程将讲不讲解以下哪个内容?()A:动画生成B:真实感图像生成C:曲线生成D:游戏制作答案:D4.使用OPENGL画带颜色的直线,需要调用不同的函数,分别指定颜色和起始点坐标。
()A:错B:对答案:B5.在OPENGL中定义的结点仅包含位置信息。
()A:对B:错答案:B第二章测试1.四面体的表面建模中,可用四个三角形来描述四面体的表面,每个三角形包含三个点,因此,四面体中点的总个数为()。
A:12B:6C:4D:9答案:C2.三次BEZIER曲线有几个控制点?()A:3B:5C:4D:6答案:C3.三次BEZIER曲线经过几个控制点?()A:3B:4C:2D:1答案:C4.不经过Y轴的斜线绕Y轴旋转得到的曲面是()A:半球面B:球面C:柱面D:圆台面答案:B5.BEZIER曲线上的所有点都是由控制点经过插值得到的。
()A:错B:对答案:A第三章测试1.通过变换可以将单位圆变成长半轴2短轴0.5的椭圆,具体实施步骤是()。
A:水平方向做平移变换,竖值方向做平移变换B:水平方向做拉伸变换,竖值方向做平移变换C:水平方向做收缩变换,竖值方向做拉伸变换D:水平方向做拉伸变换,竖值方向做收缩变换答案:B2.变换前后二线夹角保持不变的保角变换有()A:镜像B:旋转C:平移D:缩放答案:D3.水平方向的剪切变换,如果表达为x’=ax+by y’=c x+dy,则有()。
A:b=1,c=1,d=0B:a=0,b=1,c=1C:a=1,b=0,d=1D:a=1,c=0,d=1答案:D4.正交变换不包括()。
A:剪切B:镜像C:旋转D:平移答案:A5.变换的复合运算不满足交换律。
计算机图形学教案
计算机图形学教案第一章:计算机图形学概述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 个坐标。顶点信息由位置坐标、颜色 值、法向量、纹理坐标等组成。
计算机图形学第讲优秀课件
的和减去一张双线性插值曲面得到的:
r (u, v) r1 (u, v) r2 (u, v) r3 (u, v)
r r 1 2 ( u ( u , v , ) v ) ( 1 ( 1 u ) v r ) ( r 0 ( , u v , ) 0 ) u r v ( r 0 , ( v u ) , 1 )r(u,v)(1u,u) r r 1 00 0
计算机图形学第讲
第7章 曲线与曲面
曲线曲面的计算机辅助设计源于20世纪60年代的飞机和汽车工业。
Ø1963年美国波音公司的Ferguson提出用于飞机设计的参数三次方程;
Ø1962年法国雷诺汽车公司的Bézier于提出的以逼近为基础的曲线曲面设 计系统UNISURF,此前de Casteljau大约于1959年在法国另一家汽车公司 雪铁龙的CAD系统中有同样的设计,但因为保密的原因而没有公布;
u1u
m
及其上的及调配函数
i
(u)
参数v的分割:v0v1 vn 及其上的及调 配函数 i (u)
r (u, v)
v
定义在uv 平面的矩形区域上的这
张曲面称为张量积曲面。 张量积曲面的特点是将曲面问题化
解为简单的曲线问题来处理,适用于
映
射
u
拓扑上呈矩形的曲面形状。
空间域
参数域
a00
r(u, v) (0(u)
x x(u,v)
其参数表达式为:y y(u,v)
z z(u,v)
曲面的矢量方程为:
r r(u,v) r(x(u,v), y(u,v), z(u,v))
参数u、v的变化区间常取为单位正方形,即u,v∈[0,1]。x,y,
z都是u和v二元可微函数。当(u,v)在区间[0,1]之间变化时,
计算机图形学第七章
扫描线算法
• 扫描线算法利用了相邻像素之间的连贯 性,避免了反复求交的运算。
• 扫描线算法综合利用了区域的连贯性, 扫描线的连贯性和边的连贯性。
2020/4/11
区域的连贯性
• 假设多边形P的顶点Pi(xi,yi),i=0,1,2…n
• 各个顶点Pi的纵坐标按yi递减排序:
•
yi0, yi1, yi2… yin
•
flood-fill-4(x+1,y,old_color,new_color)
x域累加Δx,即x:=x+Δx • 5)将当前扫描线的纵坐标值y累加1,即
y:=y+1
2020/4/11
扫描线算法的优缺点
• 优点:效率高。 • 缺点:程序复杂,需要排序。
2020/4/11
边缘填充算法
• 由于扫描线算法需要对多边形的边进行 排序,如果采用求余的方法,就不用对 边进行排序了。
2020/4/11
2020/4/11
interior_point如何变化
• 此布尔变量起始在多边形外,初始值为 false,每碰到一个边界像素,就取反。
2020/4/11
边界标志算法的优缺点
• 优点:避免了对帧缓冲器中大量元素的 多次赋值,速度与扫描线算法相当。
• 缺点:需逐条扫描线对帧缓冲器中的元 素进行搜索和比较。
具体表现形式
• 内点表示的4连通区域 • 边界表示的4连通区域 • 内点表示的8连通区域 • 边界表示的8连通区域
2020/4/11
两种连通性的边界不同
• 同一个区域可以看成是4连通区域,也可 以看成是8连通区域,但是两者的边界是 不同的。
• 4连通区域的边界是8连通区域; 8连通 区域的边界是4连通区域。
计算机图形学知识要点
单元分解法优缺点
优点
表示简单 容易实现几何变换 基本体素可以按需选择,表示范围较广 可以精确表示物体 物体的表示不唯一 物体的有效性难以保证 空间位置枚举表示----同样大小立方体粘合在一起表示 物体 八叉树表示----不同大小的立方体粘合在一起表示物体 单元分解表示----多种体素粘合在一起表示物体
阴极射线管(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、椭圆的光栅化方法
【中南大学】计算机图形学习题及答案
计算机图形学作业答案第一章序论第二章图形系统1.什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
2.计算在240像素/英寸下640×480图像的大小。
解答:(640/240)×(480/240)或者(8/3)×2英寸。
3.计算有512×512像素的2×2英寸图像的分辨率。
解答:512/2或256像素/英寸。
第三章二维图形生成技术1.一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。
解答:由于直线的方程没有给出,所以必须找到直线的方程。
下面是寻找直线方程(y =mx+b)的过程。
首先寻找斜率:m =⊿y/⊿x =(y2-y1)/(x2-x1)=(18-0)/(6-0) = 3 接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。
因此b=0,所以直线方程为y=3x。
2.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?解答:(1)计算dx:dx=x2-x1。
(2)计算dy:dy=y2-y1。
(3)计算m:m=dy/dx。
(4)计算b: b=y1-m×x1(5)设置左下方的端点坐标为(x,y),同时将x end设为x的最大值。
如果dx < 0,则x=x2、y=y2和x end=x1。
如果dx > 0,那么x=x1、y=y1和x end=x2。
(6)测试整条线是否已经画完,如果x > x end就停止。
(7)在当前的(x,y)坐标画一个点。
(8)增加x:x=x+1。
(9)根据方程y=mx+b计算下一个y值。
(10)转到步骤(6)。
3.请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。
假设线段的两个端点为(x1,y1)和(x2,y2),且y1<y2int x = x1, y = y1;float x f, m = (y2-y1)/(x2-x1), b = y1-mx1;setPixel( x, y );/*画一个像素点*/while( y < y2 ) {y++;x f = ( y-b)/m;x = Floor( x f +0.5 );setPixel( x, y );}4.请用伪代码程序描述使用DDA算法扫描转换一条斜率介于-45°和45°(即|m| ≤1)之间的直线所需的步骤。
第七章 图形的表示
数学中的点、线、面是其所代表的真实世界中的 对象中的一种抽象,它们之间存在着一定的差距。例 如,数学中的平面是二维的,它没有厚度,体积为0; 而在真实世界中,一张纸无论多么薄,它也是一个三 维体具有一定的体积。这种差距造成了在计算机中以 数学方法描述的形体可能是无效的,即在真实世界中 可能不存在。尽管在有的情况下要构造无效形体,但 用于计算机辅助设计与制造系统设计生产的形体必须 是有效的,所以在实体造型中必须保证实体的有效性 ,原则上的标准是要求“客观存在”。
第7章 图形的表示
图形的表示方法一直是计算机图形学关注的主要问 题。在计算机图形学发展的旱期,计算机图形系统的性 能较差,线框模型是表示三维物体的主要方法。线框模 型仅仅通过定义物体边界的直线和曲线来表示三维物体 ,其特点是模型简单目运算速度较快,但由于每一条直 线或四线都是单独构造出来的,不存在面的信息,因此 三维物体信息的表示不全面,在许多场合不能满足要求 。事实上,研究表示复杂形体的模型与数据结构是计算 机造型等技术的关键。经过近20年的发展,买体的边界 表示法、扫描表示法、构造的实体几何法及八叉树表示 法等已经发展成熟。
7.2 实体表示的三种模型
形体在计算机中常用线框模型、表面模型和实体 模型三种模型来表示。线框模型是在计算机图形学和 CAD、CAM领域中最早用来表示形体的模型,并且至 今仍在广泛应用。线框模型是用顶点和棱边表示形体 ,其特点是结构简单,易于理解,并是表面和实体模 型的基础。如前所述,用线框模型表示形体时曲面的 轮廓线无法随视角的变化而改变;线框模型无法给出 全部连续的几何信息,只有顶点和棱边,不能明确地 定义给定的点与形体之间的关系,以致不能用线框模 型处理计算机图形学和CAD、CAM领域中的多数问题 ,如图7.8所示。
计算机图形学完整课件
=F(x1,y1)+a+10.5·b 1
x y 但由于(x1,y1)在直线上,故F(x1,y1)=0。
因此d的初始值1 为d0=a+0.5·b 1
由于我们使用的只是d的符号,而且d的增量都是整数,只是其初 始值包含小数。因此,我们可以用2d代替d,来摆脱小数,写出仅包 含整数运算的算法:
当d<0时,M在直线下方(即在Q的下 方),故应取右上方的p2作为下一个象 素。
当d>0,则应取正右方的p1。
当d=0是,二者一样合适,可以随便取一 个。
我们约定取正右方的p1。 对 每一个象素计算判别式d,根据它 的符号确定下一象素。由于d是xp 和yp的线性函数,可采用增量计算 ,以便提高运算效率。
对于直线上的点F(x,y)=0; 对于直线上方的点F(x,y)>0; 对于直线下方的点F(x,y)<0。 因此,欲判前述Q在M的上方还是下方,只要把M代入F(x,y), 并判断它的符号。构造判别式
d=F(M)=F( , )=a( )+b( )+c
xp 1 yp 0.5
xp 1
yp 0.5
必须寻找只需做一些简单的 整数运算和判别运算的方 法即可确定圆上的象素点的算法。
考虑到圆的对称性可 以减少计算量。只要 能生成8分圆,那么圆 的其它部分可以通过 一系列的简单映射变 换得到。如图所示, 假设已知一个圆心在 原点的圆上一点(x,y),
(x, y)
( y, x)
(x, y)
(y, x)
( y, x)
( x, y)
( y,x)
( x, y)
计算机图形学第二版(陆枫)课后习题答案部分
计算机图形学第二版(陆枫)课后习题集第一章绪论概念:计算机图形学、图形、图像、点阵法、参数法、图形的几何要素、非几何要素、数字图像处理;计算机图形学和计算机视觉的概念及三者之间的关系;计算机图形系统的功能、计算机图形系统的总体结构。
第二章图形设备图形输入设备:有哪些。
图形显示设备:CRT的结构、原理和工作方式。
彩色CRT:结构、原理。
随机扫描和光栅扫描的图形显示器的结构和工作原理。
图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算第三章交互式技术什么是输入模式的问题,有哪几种输入模式。
第四章图形的表示与数据结构自学,建议至少阅读一遍第五章基本图形生成算法概念:点阵字符和矢量字符;直线和圆的扫描转换算法;多边形的扫描转换:有效边表算法;区域填充:4/8连通的边界/泛填充算法;内外测试:奇偶规则,非零环绕数规则;反走样:反走样和走样的概念,过取样和区域取样。
5.1.2 中点 Bresenham 算法(P109)5.1.2 改进 Bresenham 算法(P112)习题解答习题5(P144)5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。
(P111)解: k<=-1 |△y|/|△x|>=1 y为最大位移方向故有构造判别式:推导d各种情况的方法(设理想直线与y=yi+1的交点为Q):所以有: y Q-kx Q-b=0 且y M=y Qd=f(x M-kx M-b-(y Q-kx Q-b)=k(x Q-x M)所以,当k<0,d>0时,M点在Q点右侧(Q在M左),取左点 P l(x i-1,y i+1)。
d<0时,M点在Q点左侧(Q在M右),取右点 Pr(x i,y i+1)。
d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(x i,y i+1) 。
所以有递推公式的推导:d2=f(x i-1.5,y i+2)当d>0时,d2=y i+2-k(x i-1.5)-b 增量为1+k=d1+1+k当d<0时,d2=y i+2-k(x i-0.5)-b 增量为1=d1+1当d=0时,5.7 利用中点 Bresenham 画圆算法的原理,推导第一象限y=0到y=x圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。
第七章 图形变换
窗口和视区两者关系
窗口和视区可以是多个 不一定非要矩形,但通常是矩形区域 若要指定一个窗口或视区,只要给出矩形两顶点 的坐标值 观察变换(窗口-视区的坐标变换 窗视变换) 视区的坐标变换, 观察变换(窗口 视区的坐标变换,窗视变换) 窗口(WC)和视区(DC)分别处在不同的坐 标系内,所用的长度单位及大小、位置等均不同 将窗口内的图形在视区中显示出来,必须经过 将窗口到视区的坐标变换处理(视见变换)(观察 变换:世界坐标系=>设备坐标系)
本章基本内容
图形变换的数学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段的裁剪
7.1 图形变换的数学基础
点可以用位置向量(矢量 矢量)表示 矢量 二维空间点的坐标可以用行向量[X,Y]或 列向量[X,Y]T 表示 三维空间点的坐标可以用行向量[X,Y,Z] 或列向量表示 用具有一定关系的点的集合(点集 点集)来表示一 点集 个平面图形学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段的裁剪
7.2 窗口视图变换
• 世界坐标系 世界坐标系(WC : World Coordinates) • 设备坐标系 • 规格化设备坐标系
1、世界坐标系(WC : World Coordinates) 、世界坐标系
用户定义的图形从窗口到视区的输出过程
从应用程序得到的图形的世界坐标 ↓WC 对窗口进行裁减 ↓NDC 窗口到视区的规格化变换 ↓DC 视区从规格化坐标系到设备坐标系的变换 ↓ 在图形设备上输出图形
从应用 程序得 到图形 的用户 坐标
对窗口区 进行裁剪
窗口区到 视图区的 规格化变换
视图区从规 格化坐标系 到设备坐标 系的变换
1 i i 0 1
视区 viewport
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.3 投影变换
投影变换是一种人们观察自然景物 并以某种方式将其观察结果映射到平面 介质的观察方式, 介质的观察方式,常被画家或制图人员 用来作为把三维立体物体投射到投影面 上得到二维平面图形的主要手段。 上得到二维平面图形的主要手段。 平行投影( projection) 平行投影(parallel projection) 透视投影(perspective 透视投影(perspective projection)
7.2 三维观察坐标系 7.2.1 三维观察坐标系定义
通常在观察坐标系中定义一个平面 用来作为裁剪窗口所在平面, 用来作为裁剪窗口所在平面,即观察平 或投影平面) 面(或投影平面)。
7.2 三维观察坐标系 7.2.1 三维观察坐标系定义
定义另一个用来确定 察向上向量V 察向上向量V。
正向的观
7.2 三维观察坐标系 7.2.1 三维观察坐标系定义
7.2 三维观察坐标系 7.2.1 三维观察坐标系定义
在实际生活中为了从不同的角度和 方向对物体进行观察, 方向对物体进行观察,一般是通过移动 视点的方法来实现的。 视点的方法来实现的。 在三维观察变换中是通过在世界坐 标系中定义不同的观察坐标系的原点 称为观察参考点、 (称为观察参考点、观察位置或视点 ),并在观察方向上定义不同的观察 等),并在观察方向上定义不同的观察 平面来获得各种观察效果。 平面来获得各种观察效果。
7.1 三维观察与观察流程
三维观察过程与使用照相机拍摄照 片相类似。 片相类似。
7.1 三维观察与观察流程
三维模型坐标系(3DMC) 三维模型坐标系(3DMC) 世界坐标系(3DWC) 世界坐标系(3DWC) 三维观察坐标系(3DVC) 三维观察坐标系(3DVC)
7.2 三维观察坐标系
在从世界坐标系向三维观察坐标系 变换的过程中, 变换的过程中,首先需要在世界坐标系 中定义三维观察坐标系, 中定义三维观察坐标系,然后得到观察 变换的计算矩阵, 变换的计算矩阵,再将此变换矩阵作用 于世界坐标系的图形对象, 于世界坐标系的图形对象,即可得到三 维观察坐标系中图形的描述。 维观察坐标系中图形的描述。
甘朝华
第七章 三维观察
7.1 7.1 7.2 7.2 7.3 7.3 7.4 三维观察与观察流程 三维观察坐标系 投影变换 三维裁剪算法
在三维图形的处理和显示中, 在三维图形的处理和显示中,尽 管只在二维的基础上添加了z 管只在二维的基础上添加了z坐标方向 的第三维空间, 的第三维空间,但三维观察的处理和 显示的复杂度却大大增加了。 显示的复杂度却大大增加了。 场景建模 观察变换过程 三维图形的裁剪 隐藏线、 隐藏线、面的消隐处理 光照模型、 光照模型、纹理贴图等处理
7.3 投影变换 7.3.1 平行投影
正投影: 正投影:
7.3 投影变换 7.3.1 平行投影
正投影变换 裁剪窗口及正投影观察体的建立
7.3 投影变换 7.3.1 平行投影
正投影的规范化变换
在三维观察流程中, 在三维观察流程中,建立了投影观察体 后要将观察坐标系中落在正投影观察体内的图 形描述转换到规范化观察体中。 形描述转换到规范化观察体中。 通常将屏幕坐标系定义为三维左手系, 通常将屏幕坐标系定义为三维左手系, xoy平面与屏幕表面重合在一起 平面与屏幕表面重合在一起, xoy平面与屏幕表面重合在一起,原点位于屏 幕左下角, 轴正向从下向上, 幕左下角,y轴正向从下向上,x轴正向则由左 至右, 轴正向则由屏幕表面指向内部。 至右,而z轴正向则由屏幕表面指向内部。 故规范化观察体也被定义为左手系。 故规范化观察体也被定义为左手系。
透视投影观察体
7.3 投影变换 7.3.2 透视投影
透视投影观察体
7.3 投影变换 7.3.2 透视投影
透视投影变换
7.3 投影变换 7.3.2 透视投影
对称的透视投影观察体
7.4 三维裁剪算法
三维裁剪算法就是以投影观察体的 边界平面为区域范围通过一定的算法将 图形对象区分为内部和外部两部分, 图形对象区分为内部和外部两部分,处 于内部区域的图形对象将会在输出设备 上显示, 上显示,而处于区域外部的图形对象将 被消除掉。 被消除掉。 (略)
7.2 三维观察坐标系 7.2.2 世界坐标系向三维观察坐标系的变换
在世界坐标系中定义了观察坐标系 之后, 之后,将图形对象的描述转换到观察坐 标系的变换等价于将观察坐标系与世界 坐标系重合的变换。 坐标系重合的变换。
7.2 三维观察坐标系 7.2.3 生成观察效果
图形对象在观察平面的投影与在输 出设备上显示的图形保持一致。 出设备上显示的图形保持一致。 在建立观察坐标系和观察平面后, 在建立观察坐标系和观察平面后, 可通过改变视点的位置或改变N 可通过改变视点的位置或改变N的方向使 用户可在不同的距离和角度观察三维图 形对象。 形对象。
由于三维笛卡尔直角坐标系满足正 交特性,在确定了观察平面法向量N 交特性,在确定了观察平面法向量N和观 察向上向量V 可计算出与N 察向上向量V后,可计算出与N、V垂直的 第三个向量U 正向的向量。 第三个向量U,即定义 正向的向量。 单位向量n 单位向量n、v、u形成了一个右手观 察坐标系的轴向量,称此为uvn uvn观察坐标 察坐标系的轴向量,称此为uvn观察坐标 系。
7.2 三维观察坐标系 7.2.3 生成观察效果
(1)保持视点位置不变,通过改变N的 保持视点位置不变,通过改变N 方向来得到多种观察效果。 方向来得到多种观察效果。 保持N的方向不变, (2)保持N的方向不变,而改变视点位 置也可获得多种观察效果。 置也可获得多种观察效果。 视点和N的方向同时改变, (3)视点和N的方向同时改变,可取得 在场景中漫游的视觉效果。 在场景中漫游的视觉效果。
7.3面 的夹角分为两类:正投影和斜投影。 的夹角分为两类:正投影和斜投影。投 影方向与投影面的夹角为90 90° 影方向与投影面的夹角为90°的投影为 正投影( projection, 正投影(orthogonal projection,或正 交投影, projection), 交投影,orthographic projection), 否则为斜投影(oblique 否则为斜投影(oblique parallel projection)。 projection)。
7.3 投影变换 7.3.2 透视投影
经过透视投影变换, 经过透视投影变换,平行于观察平 面的线条投影后仍然平行。 面的线条投影后仍然平行。但与观察平 面不平行的平行线组投影后将会汇聚于 一点,该点被称为灭点( 一点,该点被称为灭点(vanishing point)。 point)。
7.3 投影变换 7.3.2 透视投影
习题
Q &A ?