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 静态变量

identity Returns the identity matrix (Read Only).
返回单位矩阵(只读)。
zero Returns a matrix with all elements set to zero (Read Only).
返回所有元素设置为零的矩阵(只读)。

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的更多相关文章

  1. Unity手游之路<四>3d旋转-四元数,欧拉角和变幻矩阵

    http://blog.csdn.net/janeky/article/details/17272625 今天我们来谈谈关于Unity中的旋转.主要有三种方式.变换矩阵,四元数和欧拉角. 定义 变换矩 ...

  2. Unity3D开发之Matrix4x4矩阵变换

    在Unity开发中时常会用到Matrix4x4矩阵来变换场景中对象的位置.旋转和缩放.但是很多人都不太理解这儿Matrix4x4变换矩阵.通过DX中的变换矩阵我来讲一讲在unity中这个变换矩阵是怎么 ...

  3. ECOS- 技术问题答疑[转]

    http://bbs.ec-os.net/read.php?tid=37 1.为什么我购买的是源码版,但是我的base/ego.php(或者base/ego/目录下文件)却是加密的?  答:ego 源 ...

  4. ecos 问题答疑(转)

    1.为什么我购买的是源码版,但是我的base/ego.php(或者base/ego/目录下文件)却是加密的?  答:ego 源码商业授权文件仅用于和商派软件签订源码协议的商业用户按照甲乙的源码保护约定 ...

  5. 50家硅谷IT公司技术博客

    分享一下 50 家硅谷优秀 IT 公司技术博客,从中可以了解企业文化,技术特色和设计语言,如果直接列出来很单调,加上点评,算吐槽版吧. 知名大厂   1. Facebook https://www.f ...

  6. MultiplyVector方法

    该方法的功能是用来对方向向量v进行矩阵变换,当矩阵与v进行变换时,只是对v的方向进行转换.那么系统就会对参与变换的Matrix4x4矩阵M进行特殊处理. 例如:经过系统处理后就变为 其中n002 + ...

  7. Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API

    Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API 关键词:Local vector,Labeled point,Local matrix,Distrib ...

  8. 介绍Unity中相机的投影矩阵与剪切图像、投影概念

    这篇作为上一篇的补充介绍,主要讲Unity里面的投影矩阵的问题: 上篇的链接写给VR手游开发小白的教程:(三)UnityVR插件CardboardSDKForUnity解析(二) 关于Unity中的C ...

  9. html5 canvas常用api总结(三)--图像变换API

    canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...

随机推荐

  1. Uprobes: userspace probes >= Linux 3.5

    https://lwn.net/Articles/499190/ https://github.com/andreoli/fulltrace Prominent features in Linux 3 ...

  2. sql 分组后按时间降序排列再取出每组的第一条记录

    原文:sql 分组后按时间降序排列再取出每组的第一条记录 竞价记录表: Aid 为竞拍车辆ID,uid为参与竞价人员ID,BidTime为参与竞拍时间 查询出表中某人参与的所有车辆的最新的一条的竞价记 ...

  3. Proxy server got bad address from remote server

    在ArcMap中,在GIS Servrvers中,打开已经设置好的服务器时,出现下面的弹窗问题. Proxy server got bad address from remote server(ver ...

  4. vue axios跨域请求,apache服务器设置

    问题所在axios请求会发送两次请求 也就是说,它会先使用options去测试,你这个接口是否能够正常通讯,如果不能就不会发送真正的请求过来,如果测试通讯正常,则开始正常请求. 思路: 跨域--> ...

  5. django 修改默认的user表和默认的认证系统

    django的功能非常强大,但是自带的user表很多情况下并不满足我们的需求,因此我们需要修改其默认的user表,并且把用username登录改成用email登录 第一步,创建自己的user表,在创建 ...

  6. python良好的编程习惯

    良好的编程习惯 2.1 在程序中是用丰富的注释,注释有助于其他程序员理解程序,有助于程序调试(发现和排除程序中的错误),并列出有用的信息.以后修改或更新代码时,注释还有助于理解当初自己编写的程序 2. ...

  7. Spring3的quartz定时任务

    要使用定时任务,需要将quartz-1.5.2.jar加入lib,没有的话可以从下面地址下载: quartz-1.5.2.jar 有了这个再做个配置文件appctx-quartz.xml: <? ...

  8. Nginx限制连接和请求

    一.ngx_http_limit_conn_module对同一个ip/server的连接数做限制.配置指令:limit_conn_zone语法: limit_conn_zone $variable z ...

  9. GROUP BY和HAVING 以及mysql中常用的日期函数

    一.mysql中的GROUP BY和HAVINGGROUP BY常见的是和聚合函数(SUM,MIN,MAX,COUNT)搭配使用. 比如:SELECT category,SUM(money) AS ` ...

  10. hdu - 4974 - A simple water problem(贪心 + 反证)

    题意:N个队(N <= 100000),每一个队有个总分ai(ai <= 1000000),每场比赛比赛两方最多各可获得1分,问最少经过了多少场比赛. 题目链接:http://acm.hd ...