刚在在那个那个tank程序里利用书上的球面uvn坐标系统弄了一下
我觉得球面uvn系统好在什么地方呢,
即假设xz为地平面情况下 用每次都从世界坐标系Z轴为基准开始变 n向量先绕世界坐标系X轴转再绕世界坐标系Y轴转。
感觉就很巧妙哈 不用每次都在上一次基准上变换,因为那样你想想绕相机坐标系X轴转,会很麻烦 你可能要先将坐标转换成相机坐标系坐标 在绕相机坐标系x轴转 也就需要矩阵分步相乘,远没有这样只以世界坐标系这一个坐标系运算简单
2.不过上面红字也为我们提供一种思路,即绕局部坐标系Y轴转就在天空中飞机那样
关键是什么是矩阵分步相乘 先乘一个相机坐标系向量的逆矩阵 在乘一个绕局部坐标系Y轴旋转的矩阵即可,
所以矩阵分步相乘好处就是或者说适合用在每一步都在当前坐标系基础上做变换的那种变换。
而uvn球面坐标适合那种人是向上的 也就是在地平面上那种。即变换是基于世界坐标系的那种 本质上因为重力哈 如果是无重力自由空间
那就矩阵分步相乘比较好
但像人物动画里的关节姿势每一个关节都时相对于父关节的坐标系描述的 变道世界坐标时就用矩阵分步变成模型空间姿势比较好