首页 > 编程语言 > 详细

[UnityShader基础]11.矩阵

时间:2021-01-04 23:11:12      阅读:31      评论:0      收藏:0      [点我收藏+]

1.矩阵和矩阵的乘法

一个a*b的矩阵和一个b*c的矩阵相乘,结果为一个a*c的矩阵

 

2.矩阵和矢量的乘法

在unity中,通常会把矢量放在矩阵的右侧,即把矢量转换成列矩阵来进行运算

例如,一个4*4的矩阵,乘以一个4*1的向量,结果为一个4*1的向量

对于CBAv=(C(B(Av))),其中C、B、A为矩阵,v为向量,先对v使用A进行变换,再使用B进行变换,最后使用C进行变换

 

3.几何意义

a.变换

矩阵的几何意义是变换,变换包含常见的平移变换、旋转变换、缩放变换,分别通过构造平移矩阵、旋转矩阵、缩放矩阵,然后乘以点或矢量,就可以对点或矢量进行对应的操作

这里构造的矩阵,是4*4的矩阵,因此也就需要把点或矢量扩展到四维空间,这就是齐次坐标空间

 

b.齐次坐标

齐次坐标是一个四维矢量

对于一个点,从三维坐标转为齐次坐标,是把其w分量设为1

对于一个矢量,从三维坐标转为齐次坐标,是把其w分量设为0

这样的话,当用一个4*4的变换矩阵对一个点进行变换时,平移、旋转、缩放都会作用于该点;而如果是用于变换一个矢量,平移的效果就会被忽略

[UnityShader基础]11.矩阵

原文:https://www.cnblogs.com/lyh916/p/14232365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!