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的更多相关文章
- Unity手游之路<四>3d旋转-四元数,欧拉角和变幻矩阵
http://blog.csdn.net/janeky/article/details/17272625 今天我们来谈谈关于Unity中的旋转.主要有三种方式.变换矩阵,四元数和欧拉角. 定义 变换矩 ...
- Unity3D开发之Matrix4x4矩阵变换
在Unity开发中时常会用到Matrix4x4矩阵来变换场景中对象的位置.旋转和缩放.但是很多人都不太理解这儿Matrix4x4变换矩阵.通过DX中的变换矩阵我来讲一讲在unity中这个变换矩阵是怎么 ...
- ECOS- 技术问题答疑[转]
http://bbs.ec-os.net/read.php?tid=37 1.为什么我购买的是源码版,但是我的base/ego.php(或者base/ego/目录下文件)却是加密的? 答:ego 源 ...
- ecos 问题答疑(转)
1.为什么我购买的是源码版,但是我的base/ego.php(或者base/ego/目录下文件)却是加密的? 答:ego 源码商业授权文件仅用于和商派软件签订源码协议的商业用户按照甲乙的源码保护约定 ...
- 50家硅谷IT公司技术博客
分享一下 50 家硅谷优秀 IT 公司技术博客,从中可以了解企业文化,技术特色和设计语言,如果直接列出来很单调,加上点评,算吐槽版吧. 知名大厂 1. Facebook https://www.f ...
- MultiplyVector方法
该方法的功能是用来对方向向量v进行矩阵变换,当矩阵与v进行变换时,只是对v的方向进行转换.那么系统就会对参与变换的Matrix4x4矩阵M进行特殊处理. 例如:经过系统处理后就变为 其中n002 + ...
- Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API
Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API 关键词:Local vector,Labeled point,Local matrix,Distrib ...
- 介绍Unity中相机的投影矩阵与剪切图像、投影概念
这篇作为上一篇的补充介绍,主要讲Unity里面的投影矩阵的问题: 上篇的链接写给VR手游开发小白的教程:(三)UnityVR插件CardboardSDKForUnity解析(二) 关于Unity中的C ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
随机推荐
- ubuntu 下安装nodejs以及pm2
ubuntu 12.04服务器可以使用apt-get方式安装Node JS,但是,安装完后的版本为v0.6.12的版本,如果我们想要使用新一点的版本需要做如下配置: 1 2 3 4 apt-get i ...
- JAVA常见算法题(二十)
package com.xiaowu.demo; /** * * 打印出如下图案(菱形) * * * * @author WQ * */ public class Demo20 { public st ...
- C++STL中的向量vector
#include<iostream>#include<vector>#include<algorithm>using namespace std;typedef v ...
- 资源的GPUAddress
BufferAddress CommandHandle TextureHandle 给shader采样的 ImageHandle 给shader load store的.../imageLoad() ...
- JavaSE入门学习18:Java面向对象之多态
一Java多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现.比方我们说"宠 物"这个对象.它就有非常多不同的表达或实现,比方有小猫.小狗.蜥 ...
- [Tips + Javascript] Make a unique array
To make an array uniqued, we can use Set() from Javascript. const ary = ["a", "b" ...
- 【Scala-ML】怎样利用Scala构建并行机器学习系统
引言 在学习Scala的过程中,我发现其在构建大规模分布式计算系统上有与生俱来的特质. 其丰富的类型系统能够帮助编程设计提供非常好的信息隐藏和抽象,其monoids和monads概念利用Scala高阶 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_枚举
在Duts的文件夹上右击,可以声明一个枚举类型,按照格式填写所有类型(注意枚举的元素前面都是逗号,最后一个不需要符号) 在正常使用的时候,枚举的单词可以当全局变量来用 更多教学视频和资料下 ...
- Windows局域网如何进行远程桌面连接
我们以虚拟机为例: 1 确保被控制的计算机允许远程连接 2 确保被控制的计算机有密码(一般人方便,只有一个administrator账号,而且不设密码,开机直接进入的,如果没有密码,将无法进行远程 ...
- iOS uitableivewCell 下划线顶格
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath ...