矩阵的几何意义
平移
[x y z 1]表示点,[x y z 0]表示矢量。Games101也讲过的。
平移矩阵的逆矩阵是:反向平移得到的矩阵
缩放
这个就可以对点和矢量都进行修改了
一般情况下,都是kx = ky = kz的统一缩放。
缩放矩阵的逆矩阵是:反向缩放得到的矩阵
旋转*
此处先写绕xyz轴选择的矩阵
1.绕x轴旋转θ度
2.绕y轴旋转
3.绕z轴旋转
复合变换
先缩放,再旋转,最后平移,为什么要这样呢?
举几个例子:
(先向前五步,再左转)和(先左转,再向前五步),是不一样的-因为前向不一样
(先放大两倍,在向前五步)和(先向前五步,再放大两倍),是不一样的-因为坐标也会被放大,前者五步大小,后者十步大小
从数学公式上看:
缩放->旋转->平移
平移->旋转->缩放
复合旋转
同时在xyz轴上旋转:
矩阵是有顺序的,因此先转什么轴,再转什么轴,都是有规定的
如:unity里就是zxy的顺序:
但
空间坐标的变换
有一父坐标空间P,有一子坐标空间C,C中有一点A
现在需要把以C表示的点A,用父坐标空间去表示
A在C中表示为(a,b,c)
因此,点A在父空间坐标P中的表示就是
展开该式子,把子坐标的xyz轴都用父坐标在该轴上的分量去表示
转到齐次坐标就是
因此:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!