计算机图形学CG08-三维观察
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参数
值
投影类型 平行投影
VRP(WC) (0,0,0)
VPN(WC) (0,0,1)
VUP(WC) (0,1,0)
PRP(VRC) (0.5,0.5,1)
窗口(VRC) (-0.5,1.5,0.5,1.5)
参数
值
投影类型 平行投影
VRP(WC) (0,0,0)
VPN(WC) (1,1,1)
VUP(WC) (0,1,0)
22
8.3.2 视见体
(1)建立窗口
在投影平面uv上 只有在窗口内的图形才能在视区中显示 指定参数(umin,vmin)(umax,vmax) 窗口中心CW不一定落在观察参考点VRP上
23
8.3.2 视见体
(2)生成观察空间
投影参考点PRP: Projection Reference Point 确定投影中心或投影方向 透视投影:COP = PRP 平行投影:投影方向DOP = 窗口中心CW-PRP
x
y
z
x
x
y
y
z
z
0 0 0
1
35
8.4 投影举例
待投影的单位立方体
顶点3的坐标(1,1,1)
缺省投影参数
参数
值
投影类型
平行投影
VRP(WC) (0,0,0)
VPN(WC) (0,0,1)
VUP(WC) (0,1,0)
PRP(VRC) (0.5,0.5,1)
窗口(VRC) (0,1,0,1)
投影中心(COP: Center of Projection)
视觉系统 — 观察点、视点 电影放映机 — 光源
投影面
不经过投影中心 平面-照相机底片 曲面-球幕电影,视网膜
9
8.2.2 平面几何投影及分类
投影线
从投影中心向物体上各点发出的射线 两类射线
直线 曲线
平面几何投影
窗口(VRC) (-1.5,1.5, -1.5, 1.5)
参数
值
投影类型 透视投影
VRP(WC) (0,0,0)
VPN(WC) (1,0,1)
VUP(WC) (1,1,0)
PRP(VRC) (0.5,0.5,4)
窗口(VRC) (-1.5,1.5, -1.5, 1.5)
38
8.4 投影举例
平行投影
F(VRC) 1.2
B(VRC) 0.2
40
8.5 三维图形的显示流程图
显示流程图(先裁剪后投影)
模型变换: 从局部(模型)坐标系到世界坐标系的变换 观察变换: 从世界坐标系到观察坐标系的变换
41
8.5.1 模型变换
模型坐标系
Modeling Coordinate 物体的局部坐标系 在模型坐标系中物体的表示简单
26
8.3.3 透视投影变换
问题----在uvn中,投影平面为n = 0,投影中心为 (0,0,d ),待投影点为P(up, vp, np),求投影点Q
27
8.3.3 透视投影变换
投影线的参数方程 投影平面方程 n = 0
ut•u
vt
p
•v p
nt(np d)d
t[0, )
Q点的坐标
u
Q
灭点的个数无限
13
8.2.3 透视投影
主灭点:平行于坐标轴的平行线的灭点。
一点透视:1个灭点 两点透视:2个灭点 三点透视:3个灭点
特点
产生近大远小的视觉效果,由它产生的图形深度感强,看 起来更加真实。
14
8.2.3 透视投影
例
一点透视
二点透视
三点透视
15
8.2.4 平行投影
平行投影
投影平面法向VPN 观察正向VUP
n
VPN VPN
记为
[n ,n ,n ]
x
y
z
u
VUP VPN VUP VPN
记为
[u ,u ,u ]
x
y
z
记为
v n u [v ,v , v ]
x
y
z
34
8.3.5 从世界坐标系到观察坐标系的变换
变换公式MWC→VRC
ux
u y
u z
0 1 0 0 VRPx
VPN(WC) (0,0,1)
VUP(WC) (0,1,0)
PRP(VRC)(2.0,2.0,4.0)
窗口(VRC)(-0.5,1.5,-0.5,1.5)
37
8.4 投影举例
两点透视
参数
值
投影类型 透视投影
VRP(WC) (0,0,0)
VPN(WC) (1,0,1)
VUP(WC) (0,1,0)
PRP(VRC) (0.5,0.5,4)
解决方法----建立光照明模型、开发真实感图形绘制方法 (11章)
5
8.1 三维图形的基本问题
三维图形的基本研究内容
投影 三维形体的表示 消除隐藏面与隐藏线 建立光照明模型、真实感图形绘制方法
6
8.2 平面几何投影
如何投影?
生活中的类比—照相
拍摄过程
选景 取景--裁剪 对焦--参考点 按快门--成像
11
8.2.2 平面几何投影及分类
示例
透视投影
平行投影
投影中心与投影平面 之间的距离为有限
投影中心与投影平面 之间的距离为无限
12
8.2.3 透视投影
透视投影
投影中心与投影平面之间的距离为有限 例子:室内白炽灯的投影,视觉系统
灭点(vanishing point)
不平行于投影平面的平行线,经过透视投影之后收 敛于一点,称为灭点
物体之间或物体的不同部分之间存在相互遮挡关系 遮挡关系是空间位置关系的重要组成部分 解决方法----消除隐藏面与隐藏线(10章)
如何产生真实感图形
何谓真实感图形
逼真(颜色、纹理、材质和光照)
人们观察现实世界产生的真实感来源于
空间位置关系----近大远小的透视关系和遮挡关系 光线传播引起的物体表面颜色的自然分布
正视图
俯视图
侧视图
18
8.3 观察坐标系中的投影变换
如何进行投影变换?
变换矩阵? 在什么坐标系中进行?
观察坐标系
生活中的类比--移动舞台还是移动摄像机
移动舞台
投影(摄像)简单 移动难度大
移动摄像机
移动容易 投影复杂
建立观察坐标系,投影简单
19
8.3.1 观察坐标系
什么是观察坐标系
投影中心与投影平面之间的距离为无限 是透视投影的极限状态
投影线方向
投影平面
16
8.2.4 平行投影
(1)正投影与斜投影
正投影(orthogonal projection) 投影线垂直于投影平面
斜投影 投影线不垂直于投影平面
正投影
斜投影
17
8.2.4 平行投影
(2)三视图:正视图、侧视图和俯视图
1
u P
(n P
/d)
v
Q
1
v P
(n P
/d)
n Q
0
由此式可解释为什么透视投影产生近大远小的视觉效果
28
8.3.3 透视投影变换
透视投影变换矩阵
1 0 0 0
M per
0 0
1 0
0 0
0 0
0
0
1 d
1
QM •P per
29
8.3.4 平行投影变换
问题----在uvn中,投影平面为n = 0,投影方向为 (0,0,-1),待投影点为P,求投影点Q
M
vx
v y
v z
0•0 1 0 VRPy
WCVRC n n n 0 0 0 1 VRP
x
y
z
z
0 0 0 1 0 0 0 1
ux
u y
u z
(u x
VRP x
u y
VRP y
u z
VRPz )
vx
v y
v z
(v x
VRPv
x
y
VRPv
y
z
VRPz )
n n n (n VRPn VRPn VRP)
F(VRC)
正无穷
B(VRC)
负无穷
36
8.4 投影举例
一点透视
参数
值
投影类型 透视投影
VRP(WC) (0,0,0)
VPN(WC) (0,0,1)
VUP(WC) (0,1,0)
PRP(VRC)(0.5,0.5,4)
窗口(VRC)(-0.5,1.5,-0.5,1.5)
参数
值
投影类型 透视投影
VRP(WC) (0,0,0)
透视投影与平行投影之间的关系
1 0 0 0
M
per
0 0
1 0
0 0
0 0
0
0
1 d
1
1 0 0 0
M ort
0 0
1 0
0 0
0 0
0 0 0 1
dl i m MperMort
33
8.3.5 从世界坐标系到观察坐标系的变换
条件
VRC的坐标原点(观察参考点)VRP( VRPx , VRPy , VRPz )
取景方式
移动景物 移动照相机
7
8.2.1 照相机模型与投影
步骤
选定投影类型 —— 平行、透视 设置投影参数—— 拍摄方向、距离等 三维裁剪 ——取景 投影和显示——成像
简单的三维图形显示流程图
8
8.2.2 平面几何投影及分类
平面几何投影
投影(Projection)
将 n 维的点变换成小于 n 维的点 将 3 维的点变换成 2 维的点
缺点
需要对所有的物体进行投影变换
44
8.5.2 裁剪
在投影之前裁剪的理由
三维物体的表面通常被离散表示成多边形或折线,而对 这类简单图元,三维裁剪同样比较简单
PRP(VRC) (0.5,0.5,2)
窗口(VRC) (-0.5,1.5,0.5,1.5)
39
8.4 投影举例
前、后裁剪面的影响
参数
值
投影类型 透视投影
VRP(WC) (0,0,0)
VPN(WC) (0,0,1)
VUP(WC) (0,1,0)
PRP(VRC) (0.5,0.5,2)
窗口(VRC) (-0.5,1.5,-0.5,1.5)
观察平面法向VPN 在世界坐标系中指定,为观察坐标的n轴
观察正向VUP 投影参考点PRP 前裁剪面裁距F
在世界坐标系中指定,确定观察坐标系的v 在观察坐标系中指定确定投影中心或投影方向 在观察坐标系中指定,n=F为前裁剪面
后裁剪面裁距B
在观察坐标系中指定,n=B为后裁剪面
窗 口 umin , umax 、 在观察坐标系的uv平面上指定,确定窗口与视见体 vmin、vmax
View Reference Coordinate或VRC 依赖于投影平面建立的三维坐标系uvn。如照相机所在的坐
标系
如何建立观察坐标系
坐标原点----投影平面(如底片 )上的一点,称为观察参考 点VRP(View Reference Point)
n轴(VPN)----照相机镜头方向(投影平面的法向) v轴----标志物体的朝向,类似照相机向上的方向(观察正向
第8章 三维观察
1
本章目标
三维图形显示流程 重点掌握透视投影变换 学会使用OpenGL的显示函数
2
主要内容
三维图形的基本问题 平面几何投影 观察坐标系中的投影变换 投影举例 三维图形的显示流程图 三维裁剪 图形显示过程 OpenGL相关函数
3
8.1 三维图形的基本问题
在二维屏幕上如何显示三维物体?
24
8.3.2 视见体
(3)形成视见体
可看到的范围有限:定义前后裁剪面 四棱台或长方体 又称为裁剪空间
有限观察空间亦称视见体或裁剪空间
25
8.3.2 视见体
定义一个视见体所需的投影参数及其作用
参数
投影类型 观察参考点VRP
作用
定义投影是平行投影还是透视投影 在世界坐标系中指定,为观察坐标系原点
投影面是平面 投影线为直线
投影变换
projection transformation 投影过程 投影的数学表示
(a) (b)
10
8.2.2 平面几何投影及分类
平面几何投影分类
平行投影(parallel projection) 投影中心与投影平面之间的距离为无限
透视投影(perspective projection) 投影中心与投影平面之间的距离为有限
VUP在投影平面上的投影)
u轴---- uvn
20
8.3.1 观察坐标系
观察坐标系的简化
加速投影变换 投影平面---- n = 0 投影中心---- (0,0,d )
COP
21
8.3.2 视见体
视见体
视见体是三维裁剪窗口 建立步骤
(1)定义窗口 (2)形成观察空间(发出射线) (3)形成视见体(前后裁剪面)
显示器屏幕、绘图纸等是二维的 显示的图形对象是三维的 解决方法
投影 三维显示设备(正在研制中)
如何表示三维物体?
二维形体的表示 ----直线段、折线、曲线段、多边形区域等
三维形体的表示 (9章) ----空间直线段、折线、曲线段、多边形、曲面片等
4
8.1 三维图形的基本问题
如何反映遮挡关系?
30
8.3.4 平行投影变换
投影线的参数方程
u v
up vp
n d t
t [0,)
投影平面方程 n = 0
Q点的坐标
u v
Q Q
uP vP
nQ
ቤተ መጻሕፍቲ ባይዱ
0
31
8.3.4 平行投影变换
平行投影变换矩阵
1 0 0 0
M ort
0 0
1 0
0 0
0 0
0 0 0 1
QMor•t P
32
8.3.4 平行投影变换
世界坐标系中的立方体
模型坐标系中的立方体
42
8.5.1 模型变换
模型变换
Modeling Transformation 将物体从本身的模型坐标系变换到上层物体的模型坐标
系(或世界坐标系)的几何变换 模型变换是构造复杂物体的方法 例子:
模型变换1
43
8.5.2 裁剪
先投影后裁剪
优点
二维裁剪相对容易