【发布时间】:2020-07-26 16:02:12
【问题描述】:
我找到了以下页面:https://glm.g-truc.net/0.9.4/api/a00131.html
我无法理解为什么以下两个是等价的......
以下代码:
glm::vec3 vec = vector1 - vector2;
distance = glm::length(vec);
相当于:
distance = glm::distance(vector1, vector2);
两个向量相减得到的向量长度如何等于向量之间的距离?
【问题讨论】:
-
这似乎是一个数学误解,你如何定义两个向量之间的距离?
-
这就是定义两点 A 和 B 之间的距离的方式。用数学术语 ||(A - B)||。这正是第一个代码的作用。
-
他们对向量和坐标使用相同的类型。命名简直是糟糕透了。它应该类似于
vec = point1 - point2。 -
你应该阅读向量数学和线性代数。 Wikipedia 是一个很好的起点。
-
程序员通过用从原点到 p 的向量来识别点 p 来混淆事物是很常见的。这减少了代码重复并增加了错误,而程序员传统上更喜欢错误而不是轻微的不便。