旋转矩阵

前几天遇到一个旋转矩阵 谈一下它的构建

mat3 rotation = mat3(cross(up, -normal), up, -normal) ;//up 垂直于normal

 为什么呢

涉及的一个概念是基变换 

假设空间一个向量 它的三个坐标轴xyz

旋转这个向量, 同时保持轴相对于它的位置不变得到的新轴 为子空间的基底 这个变换叫基变换 

就是一个向量(比如这个子空间的单位向量)乘以刚刚这个矩阵得到它在父空间的位置

cross(up, -normal), up, -normal这个就是新的三个轴

游戏引擎架构 叶劲松译 page151

原文地址:https://www.cnblogs.com/minggoddess/p/6757977.html