如果你有一个带有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);
在后一种情况下,距离的含义变得相当抽象(对我而言)。
答案 0 :(得分:2)
是的,你考虑了w坐标。如果您认为这太抽象,请考虑您在一维,二维和三维中进行的计算,看看您是否发现了一种模式。
无论何时添加尺寸,您都可以将两点之间的距离视为直角三角形的下限,其中一条腿位于n维,其中一条位于新维度。在这种情况下使用毕达哥拉斯定理可以得出这个结果。
希望这有帮助!