一些矩阵的定义和作用
来源:互联网 发布:php wind html5 编辑:程序博客网 时间:2024/04/28 13:17
2009年4月19日:
今天在看的时候不太明白一些矩阵的定义,后来去网上看了以下,感觉这个定义挺好的,简单明了。
世界空间与世界矩阵
什么是模型空间呢?每个模型(3D物体)都有它自己的空间,空间的中心(原点)就是模型的中心。在模型空间里,只有模型上的不同点有位置的相对关系。那什么是世界空间呢?世界就是物体(模型)所存在的地方。当我们把一个模型放进世界里面去,那么它就有了一个世界坐标,这个世界坐标是用来标记世界中不同的模型所处的位置的。在世界空间里,世界的中心就是原点(0, 0, 0),也就是你显示器屏幕中间的那一点。我们可以在世界空间里摆放很多个模型,并且设置它们在世界空间中的坐标,这样模型与模型之间就有了相对的位置。
世界矩阵有什么用呢?我们可以利用它来改变世界空间的坐标。这样,在世界空间里面的模型就可以移动、旋转和缩放了。
我们可以使用上一章末尾所讲的那几个函数来产生世界矩阵。例如产生一个绕X轴旋转的转阵:D3DXMatrixRotationX(&matrix,1)。利用matrix这个矩阵,就可以使世界空间中的物体绕X轴转动1弧度。
可以结合后面的例子来理解世界矩阵。
视图空间与视图矩阵
世界空间建立起来后,我们不一定能看到模型,因为我们还没有“眼睛”啊。在视图空间里,我们可以建立我们在三维空间中的眼睛:摄像机。我们就是通过这个虚拟的摄像机来观察世界空间中的模型的。所以视图空间也叫摄像机空间。
要建立起这个虚拟的摄像机,我们需要一个视图矩阵,产生视图矩阵的一个函数是:
D3DXMATRIX *D3DXMatrixLookAtLH(
D3DXMATRIX* pOut,
CONST D3DXVECTOR3* pEye,
CONST D3DXVECTOR3* pAt,
CONST D3DXVECTOR3* pUp
);
pOut:返回的视图矩阵指针
pEye:设置摄像机的位置
pAt:设置摄像机的观察点
pUp:设置方向“上”
这个函数的后缀LH是表示左手系的意思,聪明的你一定能够猜出肯定有个叫D3DXMatrixLookAtRH的函数。至于左手系和右手系的区别,这里就不多说了,记住左手系中的Z正方向是指向显示器里面的就行了。只能弄懂了视图矩阵的含义,建立视图矩阵完成可以不依赖函数,自己手动完成。视图矩阵其实就是定义了摄像机在世界空间中的位置、观察点、方向“上”这些信息。
- 一些矩阵的定义和作用
- 矩阵一些定义
- 矩阵logm和expm的定义
- matlab矩阵的定义和运算
- 向量范数和矩阵范数的定义
- 向量范数和矩阵范数的定义
- 宏定义中##和#的作用
- 宏定义中##和#的作用
- 宏定义中##和#的作用
- 宏定义中##和#的作用
- trigger 触发器的定义和作用
- 宏定义中##和#的作用
- php变量的定义和作用域
- DSP程序中段的定义和作用
- DSP程序中段的定义和作用
- (trigger)触发器的定义和作用
- DSP程序中段的定义和作用
- 旋转矩阵和角速度的一些应用
- 04/19/09
- JTAG资源汇总
- VB.Net程序设计:简单的通信系统-远程控制+聊天功能
- 一个石头、剪子、布游戏, 三局两胜,可以重玩
- 打开网页即可连接远程电脑——一个applet的远程桌面客户端
- 一些矩阵的定义和作用
- 创业第4天,正式接手软件开发
- JSP与Java Mail API
- 服装ERP应用(23):设计不偏营销路的“紧箍咒”
- More Effective C++ 读书摘要(五、技巧1)Item25 - 27
- 中国构建“绿色经济”需40万亿
- PHP随机验证码、供初学者参考
- cmd /k的含义
- IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置教程