使用或不使用 'w' 来计算向量 4 的距离?

Use or don't use 'w' to calculate the distance for a vector 4?

如果您有一个带 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);

在后一篇中,距离的含义变得相当抽象(对我而言)。

是的,您确实考虑了 w 坐标。如果你觉得这太抽象了,想想你在一维、二维和三维中做的计算,看看你是否发现了一个规律。

每当你增加一个维度时,你可以把两点之间的距离想象成一个直角三角形的斜边,其中一条边在n维,一条边在新的维度。在这种情况下使用勾股定理会得出这个结果。

希望对您有所帮助!