当前位置:   article > 正文

Unity+Shader入门精要(笔记六)变换_unity仿射变换图形矫正

unity仿射变换图形矫正

变换

线性变换linear transform(指可以保留矢量加和标量乘的变换)

f(x)+f(y)=f(x+y)

kf(x)=f(kx)

线性变换包括:缩放scale,旋转rotation,错切shear,镜像mirroring,正交投影orthographic projection等。

 

放射变换affine transform:就是合并线性变换和平移变换的变换类型。

仿射变换可以使用一个4*4的矩阵表示,所以需要把矢量扩展到四维空间,这就是齐次坐标空间homogeneous space。

 

分解基础变换矩阵

左上表示旋转和缩放,右上表示平移,左下表示零矩阵[0 0 0],右下的元素就是标量1。

 平移矩阵(平移矩阵不是正交矩阵)

点的x,y,z分量分别增加了一个位置偏移。

 

缩放矩阵(一般不是正交矩阵)

如果kx=ky=kz,叫做统一缩放uniform scale

 

旋转矩阵

旋转矩阵的逆矩阵时旋转相反角度得到的变换矩阵。旋转矩阵是正交矩阵,而且多个旋转矩阵之间的串联同样是正交的。

 

复合变换

先进行缩放变换,再进行旋转变换,最后进行平移变换。需要注意的是,变换的结果是依赖变换顺序的,由于矩阵乘法不满足交换律,所以乘法顺序很重要。绝大部分情况下,约定变换顺序是:先缩放,再旋转,最后平移。

在Unity中,旋转的顺序是zxy。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/100247
推荐阅读
相关标签
  

闽ICP备14008679号