DirectX 3d 取景变换

取景变换详解:从世界坐标系到观察坐标系的转换过程
本文深入探讨了在计算机图形学中,如何通过取景变换将摄像机的位置和朝向调整至世界坐标系原点,并使其光轴与世界坐标系z轴正方向一致,从而实现高效的投影变换。详细阐述了取景变换矩阵的创建过程,并解释了在实际应用中如何利用该变换确保摄像机视角不变。

在世界坐标系中,几何体和摄像机都是相对于世界坐标系定义的。但是当摄像机的位置和朝向任意时,投影变换及其它类型的变的就略显困难或效率不高。为了简化运算,我们将摄像机变的至世界坐标系原点,并将其旋转,使摄像机的光轴与世界坐标系z轴正方向一致。同时,世界空间中的所有几何几都随着摄像机一同进行变换,以保证摄像机视声恒定。这种变换称之为取景变换(view space transformation),我们称变换后的几何体位于观察坐标系中(view space)。

假定摄像机位于(5,3,-10),其观察点为世界坐标系的原点(0,0,0),我们可以这样创建取景变换矩阵。

D3DXVECTOR3 position( 5.0f,3.0f,-10.0f);//摄像机在世界坐系中的位置
        D3DXVECTOR3 target(0.0f, 0.0f, 0.0f); //被观察点
        D3DXVECTOR3 up(0.0f, 1.0f, 0.0f); //世界坐标系中向上的方向向量
        D3DXMATRIX V;
        D3DXMatrixLookAtLH(&V, &position, &target, &up);//得到取景变的矩阵,即观察矩阵

取景变换

Device->SetTransform(D3DTS_VIEW, &V); //取景变换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值