Matrix4x4矩阵 api
Posted 露夕逝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matrix4x4矩阵 api相关的知识,希望对你有一定的参考价值。
Matrix4x4 矩阵api介绍
Namespace: UnityEngine
Description 描述
A standard 4×4 transformation matrix.
一个标准的4×4变换矩阵。
A transformation matrix can perform arbitrary linear 3D transformations (i.e. translation, rotation, scale, shear etc.) and perspective transformations using homogenous coordinates. You rarely use matrices in scripts; most often using Vector3s, Quaternions and functionality of Transform class is more straightforward. Plain matrices are used in special cases like setting up nonstandard camera projection.
一个变换矩阵可以表达任意的线性3D变换(例如平移,旋转,缩放,切变等)并且使用齐次坐标系进行投影变换。我们基本上不会在脚本中使用矩阵;通常都直接使用三维向量、四元数以及Transform对象的函数。在特殊的场合例如设置一个非标准化的摄像机投影时才使用纯粹的矩阵。
Consult any graphics textbook for in depth explanation of transformation matrices.
参考任意一本图形学对于变换矩阵的深入解释。
In Unity, Matrix4x4 is used by several Transform, Camera, Material and GL functions.
在Unity中,Matrix4x4对象被很多Transform,Camera,Matierial和Gl中的函数使用。
Matrices in unity are column major. Data is accessed as: row + (column*4). Matrices can be indexed like 2D arrays but in an expression like mat[a, b], a refers to the row index, while b refers to the column index (note that this is the opposite way round to Cartesian coordinates).
Unity中的矩阵使用的是列优先。数据通过行+(列*4)的方式获取。矩阵可以被索引为类似二维数组的形式,但是要以mat[a,b]这样的表达式。其中a代表行号,b代表列号(注意这正好与笛卡尔坐标系相反)。
Static Variables 静态变量
Variables 变量
determinant | The determinant of the matrix. 矩阵的决定因素。 |
inverse | The inverse of this matrix (Read Only). 这个矩阵的逆矩阵(只读)。 |
isIdentity | Is this the identity matrix? 这个矩阵是单位矩阵吗? |
this[int,int] | Access element at [row, column]. 获取[行,列]所对应的元素。 |
transpose | Returns the transpose of this matrix (Read Only). 返回这个矩阵的转置矩阵(只读)。 |
Functions 方法
GetColumn | Get a column of the matrix. 获取这个矩阵的一列。 |
GetRow | Returns a row of the matrix. 返回这个矩阵的一行。 |
MultiplyPoint | Transforms a position by this matrix (generic) 使用该矩阵对一个坐标(点)进行变换(普通) |
MultiplyPoint3x4 | Transforms a position by this matrix (fast). 使用该矩阵对一个坐标(点)进行变换(快速) |
MultiplyVector | Transforms a direction by this matrix. 使用该矩阵对一个方向(按方法名理解应该是向量吧,向量包含方向和大小,译者注)进行变换 |
SetColumn | Sets a column of the matrix. 给这个矩阵的一列赋值。 |
SetRow | Sets a row of the matrix. 给这个矩阵的以行赋值。 |
SetTRS | Sets this matrix to a translation, rotation and scaling matrix. 把这个矩阵变为平移、旋转和缩放矩阵。 |
ToString | Returns a nicely formatted string for this matrix. 返回一个该矩阵的漂亮的格式化字符串。 |
Static Functions 静态方法
Ortho | Creates an orthogonal projection matrix. 创建一个正交投影矩阵。 |
Perspective | Creates a perspective projection matrix. 创建一个透视投影矩阵。 |
Scale | Creates a scaling matrix. 创建一个缩放矩阵。 |
TRS | Creates a translation, rotation and scaling matrix. 创建一个平移、旋转和缩放矩阵。 |
Operators 运算符重载
operator * | Multiplies two matrices. 两个矩阵相乘。 |
转http://wiki.ceeger.com/script/unityengine/classes/matrix4x4/matrix4x4
以上是关于Matrix4x4矩阵 api的主要内容,如果未能解决你的问题,请参考以下文章
csharp MATRIX4X4クラスを使って座标変换するサンプル
02矩阵01 —— 基本矩阵 : 对角矩阵方幂数量矩阵转置矩阵对称矩阵逆矩阵奇异矩阵三角矩阵
矩阵的基本性质 之 正规矩阵,矩阵的迹,行列式,伴随矩阵,矩阵的逆,对角矩阵,矩阵求导