【问题标题】:How to calculate coordinate system based on normal vector and center coordinates?如何根据法向量和中心坐标计算坐标系?
【发布时间】:2019-03-12 07:12:52
【问题描述】:

我要计算由法线向量(Z方向向量)和中心坐标确定的X方向向量。

例如,给定Z方向向量Z(2, 5, 8) ,中心坐标点P(5, 10, 14)

由于我不知道该怎么做,任何其他人都可以给我任何提示我现在应该做什么?

【问题讨论】:

    标签: c++ math vector coordinate-systems


    【解决方案1】:

    有无数个可能的 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)
    

    【讨论】:

    • 感谢您的支持!+1 没错,我想得到垂直于给定 Z 的任意向量 X。我在想..
    • 如果X = (-Z.z, 0, Z.y),不是X (-8, 0, 5)
    • 在您的情况下,您必须将 z 和 y 交换为最大组件
    • 我很抱歉。另外,如果您知道参考文件,请告诉我!
    • 我不知道参考。文件。这只是使用标量积属性构造正交向量。
    猜你喜欢
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 2018-05-19
    • 2020-01-11
    相关资源
    最近更新 更多