三维形体的显示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
观察坐标系由用户坐标系中的观察参考点P0、观察方 向N和观察正向V定义。设
P 0 x0 , y0 , z0
N ( xn , yn , zn )
V xa , ya , za
记N与V的单位向量为 n nx , ny , nz

a ax , a y , az
V v P0 a n u xv zv
yv P 0
yv
N
xv
ቤተ መጻሕፍቲ ባይዱ
zv
补充说明:
uvn系统
选定V后,建立yv和xv轴的另一种方法是:由N,V作 叉积求出第三个向量U,它垂直于N和V,由此确定 xv轴 。然后由N和U作叉积确定与它们垂直的向量 v。
观察平面的选取: 与zv轴垂直即与xvyv平面平行的
平面。 yv zv xv
8.3 用户坐标系到观察坐标系的变换——观察变换
n
zv
建立观察坐标系的步骤:
1. 在用户坐标系中选取一点P0作为观察坐标系的原 点,该点称为观察参考点。
zw
yw P
N
zv P0
xw
2. 选取zv轴的正向
在景物附近或景物上取一点P,将N=P0P (表示矢 量)选为zv轴的正向。这里,N称为观察方向。
3. 确定yv轴的正向。方法如下:
选取一个观察正向V,将它投射到过P0并与N垂直的 平面上。注意:可任意选取不与N平行的V。 V V zv v P0 n u xv
一旦将物体的用户坐标转换成观察坐标,我们就可 以将三维物体投射到二维观察平面上。
存在两种基本的投射方法: 透视投射和平行投射。 透视投影: 坐标点沿着相交于一点(称为投射参考点 或投射中心) 的直线被变换到观察平面。 观察平面(投影平面) P2 P2’ P1’
P1
投射参考点(视点)
(投影中心)
平行投射(影) :坐标点沿着平行线被变换到观察平面。
投影参考点用的是观察坐标系中的三维点。假设投影参 考点位于zv轴上的zprp处,则描述投影线的参数方程为:
x x xu y y yu z z z z prp u 0 u 1
zv
P(x,y,z)
(xp,yp,zvp)
zvp zprp 观察平面
N V n ,a N V
u n a u x , u y , u z v u n v x , v y , v z
yv
uvn系统
xv zw 于是,根据第7 章坐标变换公 式,可得观察变换为: yw
1 0 T x0 , y0 , z0 R 0 x0 0 1 0 y0 0 0 1 z0 0 u x u 0 y 0 uz 1 0 vx vy vz 0
8.4.1 平行投影
根据投影向量与投影平面的夹角不同,平行投影可分 为正交平行投影和斜平行投影。 当投影向量与投影平面垂直时,称为正交平行投影, 否则称为斜平行投影。 正交平行投影的变换方程很容易求出。假设观察平面位于 zv轴上的zvp处,投射方向与zv轴平行(如下图所示),则观 察坐标系中的任意点(x,y,z)被变换为观察平面上的坐标点 (x,y,zvp),而原来的z坐标值保存起来,用作深度检测和可 见面确定过程中的深度信息。 (x,y,z) yv (x,y) zvp xv zv
(2) 三维物体必须投影到二维的显示(输出)设 备上。
(3) 裁剪空间是体空间。
2. 观察流水线 用计算机模拟三维形体显示的步骤与照相机 拍照的过程有点相似,但更加灵活,选择多 样。 下图描述了将用户坐标系中描述的物体转换 成设备坐标的过程。 造型坐标 造型变换 用户坐标
观察变换
投影变换
观察坐标
投影坐标
第8章
8.1 8.2 8.3 8.4
三维形体的显示
三维形体输出流程图 观察坐标系的建立 观察变换 投影变换
8.5
8.6
观察体与三维裁剪
三维形体完整的输出过程
8.1 三维形体输出流程图 1. 三维形体显示与二维物体显示存在许多不同 的地方: (1) 允许从任意空间位置观察物体: 从前面、上 面和后面。 也可以从一组物体的中间或一个物体的内部 观察物体,如建筑物。
工作站变换
设备坐标
8.2 观察坐标系的建立 我们可以在任意地点、任意距离和任意角度 给物体拍照,并通过相机的孔径大小选择拍 摄自己感兴趣的部分。 类似地,给定观察位置、方向及“相机”的 孔径大小,我们可以用图形软件包在二维平 面上显示三维物体。基本思路是建立一个满 足左手坐标系法则的观察坐标系。
xv u v yv
N
zv P0

P
nx ny nz 0
xw
yv
0 0 0 1

xe , ye , ze ,1 xw , yw , zw ,1T ( x0 , y0 , z0 ) R
8.4 投影变换
三维物体和二维显示平面不匹配的问题可通过投影 变换解决,也就是把三维物体先变换到二维投影平 面,然后再变换到显示屏表面。
其中(x’,y’,z’)表示投影线 段上的任意一点。
在观察平面上, z’=zvp,这时, 投影线与观察平面的 交点坐标为:
dp x p x z z prp dp y p y z z prp
其中
d p z prp zvp
表示投影中心与观察平面
x p x, yp y
当zvp=0,即投影平面为xvyv坐标平面时,zp=0。这时正交平 行投影的矩阵表达式为:
1 0 x p , y p , z p ,1 x, y, z,1 0 0
0 0 0 1 0 0 0 0 0 0 0 1
8.4.2 透视投影
观察平面(投影平面) P2 P1 P2’ P1’
两类投影的本质区别在于:透视投影的投影中心到投影平面的 距离是有限的,而平行投影的投影中心到投影平面的距离是无 限的。 两类投影的联系在于:当投影中心在无穷远处,投影线互相平 行,这时透视投影变成平行投影。 定义平行投影时,给出投影方向(称为投影向量)就可以了,而定 义透视投影时,需要明确地指定投影中心的位置。
相关文档
最新文档