【发布时间】:2019-03-12 07:12:52
【问题描述】:
我要计算由法线向量(Z方向向量)和中心坐标确定的X方向向量。
例如,给定Z方向向量Z(2, 5, 8) ,中心坐标点P(5, 10, 14)
由于我不知道该怎么做,任何其他人都可以给我任何提示我现在应该做什么?
【问题讨论】:
标签: c++ math vector coordinate-systems
我要计算由法线向量(Z方向向量)和中心坐标确定的X方向向量。
例如,给定Z方向向量Z(2, 5, 8) ,中心坐标点P(5, 10, 14)
由于我不知道该怎么做,任何其他人都可以给我任何提示我现在应该做什么?
【问题讨论】:
标签: c++ math vector coordinate-systems
有无数个可能的 X/Y 方向。
如果你想得到垂直于给定 Z 的任意向量,你可以应用下一个方法:
比较 Z 向量分量的大小。交换最大和下一个分量,取反最大分量,使最小分量为零。
例如,如果Abs(Z.z)>=Abs(Z.x)>=Abs(Z.y),则向量X = (-Z.z, 0, Z.y) 是垂直的(检查标量积是否为零)。以您为例:
Z(2, 5, 8)
X(0, -8, 5)
Y = Z x X (vector product)
【讨论】:
X = (-Z.z, 0, Z.y),不是X (-8, 0, 5)?