您的位置:首页 > 其它

Introduction to 3D Game Programming with DirectX 11学习笔记 1~3章

2017-02-16 15:31 579 查看
Direct3D使用所谓的左手坐标系(left-handed coordinate system)。假如你把左手手指指向x轴正方向,然后朝y轴正方向弯曲四指,大拇指就会指向z轴正方向。图1.5展示了左手坐标系和右手坐标系之间的区别。



左边是左手坐标系,z轴正方向向页面内部延伸。右边是右手坐标系,z轴正方向向页面外部延伸。

观察右手坐标系。假如你把右手手指指向x轴正方向,然后朝y轴正方向弯曲四指,大拇指就会指向z轴正方向。

齐次坐标

因为向量只表示方向和长度,与位置无关,所以平移一个向量是无意义的,换句话说,平移后的向量是不变的。平移只能作用在点上(即,位置向量)。齐次坐标提供了一个便捷的表示方法用来统一处理点和向量。在齐次坐标中,我们使用4个元素,我们通过它的第4个坐标分量w来决定所描述的是一个点还是一个向量。确切地说,我们写为:

1.(x,y,z,0)用于向量

2.(x,y,z,1)用于点

我们将会看到,把w设为1是为了让点的平移操作得到正确执行,把w设为0是为了防止向量在变换过程中发生平移。(我们不希望平移向量的坐标,因为向量可以改变的只有方向和大小——平移对向量来说没有意义。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  directx
相关文章推荐