【问题标题】:Use or don't use 'w' to calculate the distance for a vector 4?使用或不使用“w”来计算向量 4 的距离?
【发布时间】:2015-07-28 14:41:11
【问题描述】:

如果你有一个带有x,y,z,w 的vector4,并且你想计算到另一个vector4 的距离。那么你应该在计算中使用w 吗?

这个:

float dx = x - v.x;
float dy = y - v.y;
float dz = z - v.z;
Math.sqrt(dx*dx + dy*dy + dz*dz);

或:

float dx = x - v.x;
float dy = y - v.y;
float dz = z - v.z;
float dw = w - v.w;
Math.sqrt(dx*dx + dy*dy + dz*dz + dw*dw);

在后一个中,距离的含义变得非常抽象(对我而言)。

【问题讨论】:

    标签: math language-agnostic


    【解决方案1】:

    是的,您确实考虑了 w 坐标。如果您认为这太抽象,请考虑您将在一维、二维和三个维度上进行的计算,看看您是否发现了一种模式。

    每当您添加维度时,您都可以将两点之间的距离视为直角三角形的斜边,直角三角形的一条边位于 n 维中,其中一条边位于新维度中。在这种情况下使用勾股定理会导致这个结果。

    希望这会有所帮助!

    【讨论】:

    • 我从未使用过 Vec4,但我需要将它添加到我正在开发的框架中。相同的逻辑是否适用于点积等(其他常见的 vec 方法)。或者更确切地说,有没有例外?
    • 我认为这些规则没有任何例外。
    猜你喜欢
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多