整理3D运算上的疑问

为什么有些书矩阵运算是左乘, 而有些书是右乘?

可以互换, 使用逆矩阵与转置矩阵公式即可. 由于一个变换矩阵是由 旋转 缩放 位移 组成.
缩放位移都比较简单, 而旋转矩阵又是正交矩阵.所以推导的过程基本类似.
因此只是内部API使用哪种方式而已. 比如DX的书教的是右乘, 而U3D的矩阵是左乘.

为什么同一本书, 有时用左乘, 有时用右乘?

为了性能, 很多变换由于其矩阵是正交矩阵(只包含旋转). 这样做可以省去一步求逆矩阵的过程.(逆矩阵运算量比较大)

矩阵左乘与右乘除了不相等之外又是什么关系?

参考逆矩阵与转置矩阵的变换公式.

如何从 前上右方向与位置 获得空间的转换矩阵?

| | | |
x y z pos
| | | |
0 0 0 1

3维坐标下如何得知某个点是在方向上的左边还是右边?

在左手坐标系下, 必然知道up 与 forward 向量。 UxF 可得右边的向量, 点乘之.

2维坐标下又如何知道 左右?

基本思路也是先求的右方向的坐标然后进行点乘.
对 (1, 0) 这个向量进行一次右转操作(直接画图-_-!)
会发现 屏幕坐标的 右边是 y, -x
而 U3D坐标的右边是 -y, x
或者直接把坐标扩展到3维差乘.
判断z的值是大于0还是小于0

你可能感兴趣的:(整理3D运算上的疑问)