关于矩阵的用法
来源:互联网 发布:cpu淘宝e5水多深 编辑:程序博客网 时间:2024/05/16 05:47
三元组的意义:
一个三元组(x,y,z)可以表示为一个顶点的位置,然而,一个三元组(x,y,z)还表示一个向量。所以需要注意,三元组既可以表示为一个坐标还可以表示一个方向。
矩阵:
相乘的条件:设有矩阵A与矩阵B能够相乘,则:A的列数=B的行数。
顶点:
通常,一个顶点的位置信息由[x, y, z, w]表示,其中w表示缩放因子。将来所有的变换操作都将是针对此四维向量的乘法。
顶点变换(顶点是图元的组成部分,所有模型的变换都将归结为顶点的变换):
所谓变换,如平移、缩放、旋转或是综合。顶点的变换参数为一个4x4的矩阵,所以被我们称为变换矩阵。
具体变换矩阵格式如下(注:以下均directX为例,opengl为以下矩阵的转秩矩阵,详见:DirectX与OpengGL的不同):
平移变换矩阵:
分别绕X,Y,Z轴旋转变换矩阵:
、、
旋转变换矩阵:
举个例子,假设我要对顶点
作一个 [Tx, Ty, Tz] 的平移变换,那么平移后的新的顶点为:
至此,转换完毕!
需要补充一点:以上所有的变换都是建立在场景中camera都处在原点(0,0,0)位置(这也是opengl中相机的默认位置)。
从上面的计算可以看出,矩阵是3d模型变换极其高效的工数学工具。
总结一下:
不论你想要一个模型处在什么位置、什么方向,你只需要构造一个变换矩阵,然后将模型里每一个顶点矩阵乘以这个变换矩阵,你就可以得到你想要的结果!
0 0
- 关于矩阵的用法
- numpy 矩阵的用法
- 关于矩阵的归一化
- 关于分块矩阵的逆矩阵
- numpy矩阵相乘@的用法
- 关于Normal的矩阵变换
- 关于矩阵运算的若干问题
- 一个关于矩阵的编程
- 关于矩阵的一些理解
- 关于魔方矩阵的心得
- 关于协方差矩阵的理解
- 一个关于矩阵的问题
- 关于协方差矩阵的理解
- 关于协方差矩阵的理解
- 关于旋转矩阵的表示
- 关于协方差矩阵的理解
- 关于协方差矩阵的理解
- 关于灰度矩阵的说明
- Ubuntu Server 添加/删除/修改用户
- Unity3D笔记第十八天——编辑器的拓展
- 神奇的数据建模框架JSONModel
- Git问题:Cannot update paths and switch to branch 'dev' at the same time.
- httpclient4 post 以json方式传参数
- 关于矩阵的用法
- Scheme 博客收藏
- Unity3D笔记第十九天——项目优化策略
- Android,隐藏输入法
- Spring MVC hidden value example
- 构造函数为什么不能是虚函数
- TSM恢复ORACLE数据库速度极慢的问题。
- Unity3D笔记第二十天——3D图形学(网格基础)
- 网游服务器优化