如何使用 glm::cross 的右手法则?
How do you use the right-hand rule for glm::cross?
当我执行 cross(vec3(0,0,1),vec3(1,0,0)) 时,我得到 vec3(0,1,0)。
任何人都可以向我解释为什么我没有得到 vec3(0,-1,0) 吗?
如果你把食指放在前面,中指指向右边,拇指指向下方。那我做错了什么?
你答对了。如果 i、j、k 是 x、y、z 方向上的单位向量,则:
i X j = k
j X k = i
k X i = j
你的例子是第三个,所以很明显你应该得到一个正y方向的单位向量。
这是一个 permutation symbol 的例子 - 合适,因为向量是一阶张量。
当我执行 cross(vec3(0,0,1),vec3(1,0,0)) 时,我得到 vec3(0,1,0)。
任何人都可以向我解释为什么我没有得到 vec3(0,-1,0) 吗? 如果你把食指放在前面,中指指向右边,拇指指向下方。那我做错了什么?
你答对了。如果 i、j、k 是 x、y、z 方向上的单位向量,则:
i X j = k
j X k = i
k X i = j
你的例子是第三个,所以很明显你应该得到一个正y方向的单位向量。
这是一个 permutation symbol 的例子 - 合适,因为向量是一阶张量。