Unity+Shader入门精要(笔记六)变换

变换

线性变换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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值