计算机图形学_第七章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从世界坐标系到观察坐标系的变换 原点坐标P0 观察坐标系的原点坐标在世界坐标系中的位置等于观察点在 世界坐标系中的位置。 Z轴正方向n
N n N
Pref是观察参考点, N=P0-Pref。 yw Vup yv xv v N Pref zw P0 u zv n
X轴正方向u
u Vup n Vup n
后截面
透视投影观察体到规范化观察体的变换 3.计算投影平面上的投影坐标 假设投影平面为前截面
根据相似三角形关系有: z
(xpvp,ypvp,zpvp)
x 前截面 P1(x1,y1,z1)
N
x y z x1 y1 N x x1 N z
F
同理
P(x,y,z)
y y1 N z
投影坐标为:
(1,1,1)
1.平移观察体((xwmin+xwmax)/2, (ywmin+ywmax)/2, (zfar+znear)/2)点到观 察坐标系(0,0,0)点。 2.缩放观察体为单位立方体。 3.转变右手系为左手系。
正投影
1 0 T1 0 0
0 1 0 0
0 x 0 y 1 z 0 1
平行投影观察体到规范化观察体的变换 2.对坐标系进行切变,使投影中心到窗口中心的连线切变 到Z轴
z (xpvp,ypvp,zpvp) 前截面 x
0 1 0 0 zcw 0 cw 1 0
0 1 0 0
a b 1 0
0 xcw x cw y 0 y cw cw z 0 zcw cw 1 1 1
平行投影观察体到规范化观察体的变换 1.将投影中心平移到观察坐标系原点
z
(xpvp,ypvp,zpvp)
前截面
x
窗口中心 (xcw,ycw,zcw)
后截面
平行投影观察体到规范化观察体的变换 2.对坐标系进行切变,使投影中心到窗口中心的连线切变 到Z轴 z
(xpvp,ypvp,zpvp)
前截面
x
窗口中心
sx 0 S 0 0
0 sy 0 0
0 0 sz 0
0 0 0 1
1 0 R2L 0 0
0 0 1 0 0 1 0 0
0 0 0 1
平行投影 平行投影观察体
y z (xpvp,ypvp,zpvp) z
前截面 x x 前截面 观察窗口 观察窗口 后截面 后截面
窗口中心
xcw xcw azcw 0 a zcw ycw ycw bzcw 0 b zcw
(xcw,ycw,zcw) 后截面
(0,0,zcw)
透视投影 透视投影观察体 通过在观察平面上指定一个矩形裁剪窗口可以得到一个观 察体。
透视投影观察体到规范化观察体的变换 1.将投影中心平移到观察坐标系原点
yv
坐标系描述 原点的位置 坐标轴的方向,单位向量。
v P0(x0,y0,z0) n zv u xv
从世界坐标系到观察坐标系的变换 观察(摄像)坐标系的建立 已知条件: 1、观察点,即照相机在世界坐标系中的位置。 2、观察参考点,即相机镜头对准的物体在世界坐标中的 位置。 3、观察向上向量,相机向上的方向在世界坐标中的方向。
M wrold view R T
1 0 T 0 0 0 1 0 0 0 x0 0 y0 1 z0 0 1
u x v R x nx 0 uy vy ny 0 uz vz nz 0 0 0 0 1
三维观察流水线 第二步投影变换
透视投影观察体到规范化观察体的变换
x y az b p3 ( N , N , ) z z z
z 1 (xpvp,ypvp,zpvp) x 前截面 P1(x1,y1,z2)
N
p ( x, y, z )
z
x P3 -1
N
F
F
P(x,y,z) 后截面
透视投影观察体到规范化观察体的变换 参数a,b的确定
N
p2 ( N
x y , N , z) z z
z
(xpvp,ypvp,zpvp) x 前截面
N
F
F
透视投影观察体到规范化观察体的变换 视锥到正平行六面体的变换矩阵
x y p2 ( N , N , z ) z z
转换为奇次坐标
p2 ( N
x y , N , z ,1) z z
p2 M p
第七章、三维观察
三维观察变换 三维观察流水线 三维观察坐标系 投影变换 三维裁剪算法
三维观察 在二维图形应用中,观察操作将世界平面上的点变换到输 出设备上 利用世界坐标系中的裁剪窗口和设备上的视口,二维图形 软件包根据裁剪窗口的四条边对世界坐标中的图形进行裁 剪,并将裁剪窗口中的图形映射到设备坐标系中。
Vup是观察参向上向量, U垂直于Vup及n确定的平面。
Y轴正方向v
v n u
xw
从世界坐标系到观察坐标系的变换 对象从世界坐标系到观察坐标系的变换,等价于将观察坐 标系叠加到世界坐标系的一连串变换。
1、平移,将观察坐标原点平移到世界坐标原点。 2、旋转,将观察坐标系的xv、yv、zv分别与世界坐标系的xw、yw、zw 对齐。
透视投影观察体到规范化观察体的变换 4.视锥变换为正平行六面体方法二
x y p1 ( N , N , N ) z z x y az b p3 ( N , N , ) z z z
转换为奇次坐标
p3 ( N
x y az b ,N , ) z z z
p3 ( Nx, Ny, az b, z )
正投影 正投影观察体 注意:观察方向是沿Zv轴的负方向,因此Zfar < Znear。 我们观察到的场景是在该观察体内的对象化观察体的变换
(xwmax, ywmax, zfar)
yv (xwmin, ywmin, znear) xv zv (-1,-1,-1)
x 前截面
0 1 0 0 zcw 0 1 0
0 a 0 xcw y 1 b 0 cw 0 1 0 zcw 0 0 1 1
窗口中心 (xcw,ycw,zcw)
xcw xcw azcw 0 a zcw ycw ycw bzcw 0 b zcw
x y p1 ( N , N , N ) z z x y p1 ( N , N , z ) z z
z’需要保持观察坐标系中原坐标点z方向的坐标顺序
透视投影观察体到规范化观察体的变换 4.视锥变换为正平行六面体方法一
x y p1 ( N , N , N ) z z
z
(xpvp,ypvp,zpvp) x 前截面 P1(x’,y’,z’) P(x,y,z) 后截面 后截面
三维观察流水线 建模变换 在摄影棚中布置场景 观察变换 确定照相机位置 投影变换 调焦 拍照流程
规范化变换及裁剪
拍照
视口变换
冲洗照片
三维观察流水线 第一步观察变换
从世界坐标系到观察坐标系的变换 观察(摄像)坐标系 为了在不同的距离和角度上观察物 体,需要在世界坐标系下建立观察 坐标系xvyvzv(通常是右手坐标系)。 如右图所示。
后截面
p1 ( N
x y , N , N) z z
透视投影观察体到规范化观察体的变换 投影平面上z坐标值的讨论 在实际绘图过程中,虽然是在2D平面上 绘图,但是距离投影平面较近的物体应该 遮挡较远的物体。这就需要根据各顶点的 z坐标信息,来判断那个顶点在前,那个 顶点在后。绘图时,投影平面上的同一坐 标位置(x,y)的点,靠前的顶点需要覆盖靠 后的顶点,同时靠后的顶点没有必要再次 绘制。这一过程称为z消隐。因此,保持z 方向顶点的坐标顺序是十分必要的。
p
M
p3
N 0 0 0
0 N 0 0
0 0 a 1
0 x Nx 0 y Ny b z az b 0 1 z
透视投影观察体到规范化观察体的变换 x,y方向标准化
(xcw,ycw,zcw)
后截面
(0,0,zcw)
切变
1 H xy ( s ) 0 0 1 沿xz平面切变 H xz ( s ) 0 0
沿xy平面切变 沿yz平面切变
0 s 1 t 0 1 s 0 1 0 t 1
1 0 0 H yz ( s ) s 1 0 t 0 1
特点: 1、z与 (az b) / z 之间并不是线性变换。 2、当z<0,b<0时,(az b) / z 为单调递增函数 3、我们可以适当选择参数a,b使 (az b) / z 在[-1,1]之间单 调递增变化,从而规范化z方向。 4、可以用奇次坐标变化为3D坐标的方法计算坐标位置, 处理更加统一高效。 5、构造的变换矩阵固定不变。
z (xpvp,ypvp,zpvp) x 前截面
窗口中心
1 0 0 0
0 1 0 0
0 x pvp 0 y pvp 1 z pvp 0 1
后截面
透视投影观察体到规范化观察体的变换 2.对坐标系进行切变,使投影中心到窗口中心的连线切变 到Z轴
z
(xpvp,ypvp,zpvp)
观察体 观察平面(投影平面) 垂直于观察坐标系zv轴的平面称为观察平面(View Plane),也称做投影平面。 观察窗口(投影窗口) 为了建立观察空间,用户需要在观察平面上指定一个窗 口,称为观察窗口
观察体 观察体 将观察窗口沿投影方向作平移运动产生的三维形体。观察 空间的大小和形状依赖于窗口的大小及投影类型。
三维观察 对三维图形应用而言,由于对视图如何产生有更多的选择, 因此涉及的情况也更多 可以从空间中的任意位置观察物体。 三维对象必须经过投影变换输出到设备的观察平面上。 此时的裁剪边界变为一个六面体,而不是一个面,其 形状依赖于选择的投影类型。
三维观察流水线 三维观察流水线
三维观察流水线
观察体 有限观察体 指定平行于投影平面的前后平面来实现。 作用:去掉离观察窗口过近和过远的对象。
观察体 规范化观察体 规范化观察体是一个单位立方体,其x、y、z的坐标范围 都在[-1,1]之间。 由于屏幕坐标系常指定为左手系,因此规范化观察体也常 指定为左手系。
(1,1,1)
(-1,-1,-1)
az b 1, z N z 1, z F
FN a N F 2 FN b N F
b<0,z<0,函数 z (az b) / z 是单调递增函数,因此z’ 保持了观察坐标系中顶点在z方向的顺序。
透视投影观察体到规范化观察体的变换 Z方向标准化透视投影矩阵
投影变换 平行投影 是投影线互相平行的投影,包括正投影与斜投影。 正投影 投影方向与投影平面法线平行的投影称为正投影
斜投影 投影方向与投影平面法线不平行的投影称为斜投影
投影变换 透视投影 投影线汇聚于透视中心。
投影变换 透视投影的特点 透视投影的深度感更强,更加具有真实感,但透视投影不 能够准确反映物体的大小和形状。 灭点 透视投影中不平行于投影面的平行线的投影会汇聚到一个 点,这个点称为灭点
Mp x N x z y N y z z z 1 1
N z M 0 0 0 0 N z 0 0 0 0 0 0 1 0 0 1