[UnityShader基础]11.矩阵
作者:互联网
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的变换矩阵对一个点进行变换时,平移、旋转、缩放都会作用于该点;而如果是用于变换一个矢量,平移的效果就会被忽略
标签:11,缩放,变换,矢量,矩阵,UnityShader,坐标,齐次 来源: https://www.cnblogs.com/lyh916/p/14232365.html