【Computer Graphics】计算机图形学之观测变换

一、视图变换简介

  视图变换的任务是将三维位置 ( x , y , z ) (x,y,z) (x,y,z) 映射到图像中的二维坐标。它取决于相机的位置与方向,投影的类型,视野和图像的分辨率。但是整个过程可以被细分为如下几个步骤:

  1. 模型变换(Modeling transformation): 调整场景中物体位置
  2. 摄像机变换(Camera transformation): 调整摄像机位置,以及物体与摄像机相对位置。
  3. 投影变换(Projection transformation): 根据摄像机变换得到了所有可视范围内的物体对于摄像机的相对位置坐标 ( x , y , z ) (x,y,z) (x,y,z) 之后,便是根据是平行投影还是透视投影,将三维空间投影至标准二维平面 [ − 1 , 1 ] 2 [-1,1]^2 [1,1]2 之上。

在这里插入图片描述

二、模型变换(Modeling transformation)

  利用矩阵基本变换进行模型变换;具体参考:【Computer Graphics】计算机图形学之基础变换矩阵

三、视图变换(Camera Transformation)

  Camera Transformation 目的是得到所有可视物体与摄像机的相对位置。

  1. 建立摄像机坐标系
    u , v , w u,v,w uvw分别对应标准坐标系下的 x , y , z x,y,z xyz
    在这里插入图片描述

  2. 将相机位置移动至原点
    平移矩阵
    在这里插入图片描述

  3. 通过旋转矩阵将两者坐标系重叠
    最终变换矩阵 M c a m M_{cam} Mcam 定义如下:
    在这里插入图片描述
    (左为旋转矩阵,右为平移矩阵)

四、投影变换(Projection Transformation)

  如何将摄像机变换之后得到点映射至二维空间坐标就由投影变换完成,投影变换包括正交投影(Orthographic projection)透视投影(Perspective projection)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1. 正交投影(Orthographic projection)

 &esmp;正交投影是相对简单的一种,坐标的相对位置都不会改变,所有光线都是平行传播,我们只需将物体(可视部分,即上图的那个长方体)全部转换到一个 [ − 1 , 1 ] 3 [-1,1]^3 [1,1]3 的空间之中即可。
在这里插入图片描述
定义视图空间:在这里插入图片描述
由此定义正交变换矩阵 M o r t h M_{orth} Morth定义如下
在这里插入图片描述

--

2. 透视投影(Perspective Projection)

  透视投影就是最类似人眼所看东西的方式,遵循近大远小,如果说正交投影都是水平光线,那么透视投影则显然不是了(左透视,右正交)
在这里插入图片描述
此时,投影过程可用下图解释,将 ( x , y , z ) (x,y,z) (x,y,z) 一点投影至投影屏幕之后,他的坐标变为 ( x ′ , y ′ , z ′ ) (x',y',z') (x,y,z)
在这里插入图片描述
在这里插入图片描述
M p e r s p − > o r t h o = [ n 0 0 0 0 n 0 0 0 0 n + f − n f 0 0 1 0 ] M_{persp->ortho} = \begin{bmatrix} {n}&{0}&{0}&{0}\\ {0}&{n}&{0}&{0}\\ {0}&{0}&{n+f}&{-nf}\\ {0}&{0}&{1}&{0}\\ \end{bmatrix} Mpersp>ortho=n0000n0000n+f100nf0

在这里插入图片描述
故定义透视投影变换 M p e r M_{per} Mper定义如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值