平行投影与透视投影的关系与统一的矩阵表示

D3DXMatrixShadow 产生一个矩阵,把几何体投影到平面上,神奇的是这个矩阵不论对平行光还是点光,都具有统一的形式。随着点光源距离平面越来越远,平面上任意两点接收到的光线趋于平行,若点光源位置无穷远,则就是平行光了
摘要由CSDN通过智能技术生成

D3DXMatrixShadow 产生一个矩阵,把几何体投影到平面上,神奇的是这个矩阵不论对平行光还是点光,都具有统一的形式(见左边D3DXMatrixShadow的文档链接)。

Introduction to 3D Game Programming with DirectX9.0 模板缓冲区那一章里提示感兴趣的读者参考Chapter 6, “Me and My (Fake) Shadow,” Jim Blinn’s Corner: A Trip Down the Graphics Pipeline

《计算机图形学与几何造型导论》用很基本的向量和矩阵(线性代数)的知识,分别推导出了平行投影和透视投影各自的变换矩阵。因为后者我很早就读过了,非常熟悉;只把前者简单地看了看,有了一个思路(随着点光源距离平面越来越远,平面上任意两点接收到的光线趋于平行,若点光源位置无穷远,则就是平行光了),把这两个变换矩阵合二为一。


齐次坐标

一维


数轴L上一点的坐标 x = x/1 = kx/k ( k!=0 ) 即数轴上一点的坐标可以写成两个实数 X、k 的比值,记作 (X,k) k!=0,这就是一维空间的齐次坐标(比例关系X:k)。

(x,1) 与 k!=0 k(x,1)=(kx,k) 都是数轴L上的同一个点,对应着二维空间中的一条过原点、斜率不为零的直线(除去原点)

(X,k) k!=0 代表数轴L上的点 x=X/k,若X!=0,k->0  x-> infinity,即无穷远。记 (X,0) X!=0 代表无穷远,对应着二维空间中过原点、斜率为零的直线(除去原点)

而剩下的 (0,0) 对应着 二维空间的 原点


二维


黄色平面(z=1)上某点A的二维坐标 (x,y) = (x/1, y/1) = (kx/k, ky/k) k!=0,kx=X,ky=Y,写成齐次坐标的形式:(X, Y, k) <--> (X/k, Y/k, 1) = (x,y,1) k!=0,比例关系 (X: Y :k) 。

(x,y,1) 与 (kx,ky,k) k!=0 都表示黄色平面上的同一个点,对应着三维空间中一条

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值