math - 为什么通过添加坐标来添加两个点是错误的?

标签 math graphics addition points

我研究 IT,我必须证明通过添加坐标来添加两个点是个坏主意。我不知道为什么? (数值问题除外)。和平行四边形有关系吗? 对不起我的英语不好。问候。

最佳答案

这确实很大程度上取决于上下文。但区分点和向量通常是有意义的。而且,如果您要进行这种区分,那么向量可以相互相加,但点不应该相加。

从概念上讲,点表示位置,而向量表示特定方向上的距离

从数学上讲,其思想是,与向量空间不同,几何空间没有原点 - 因此您只需提供反射(reflect)这些原则的运算。

这种区别有点迂腐,因为几何点的基本表示几乎肯定与向量相同。但是,您的 API 反射(reflect)数学原理可能是有意义的,因为它使某些类型的编程错误变得更加困难。

实际上,向量是两点之间的。因此,您可以减去两个点以获得一个向量,并且可以将一个向量与一个点相加以获得另一个点。不过,向量可以与其他向量正常缩放、相加、相减、点积等。 API 限制的最终效果是要求您在进行向量数学运算之前先减去点以获得向量,然后,如果您需要输出点结果,则相对于现有点应用。

点和向量都可以使用齐次坐标统一表示:向量将具有额外的坐标w=0,而点将具有w!=0。在这种情况下,找到两点之间的几何向量很复杂,因为您需要首先将它们归一化为w=1,并且避免不小心将两个点相加尤为重要,因为结果通常不会其行为方式具有很大的几何意义......

关于math - 为什么通过添加坐标来添加两个点是错误的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35997616/

相关文章:

math - 我如何看待编程中的数学?

matlab arctanh 函数

java - 为什么这个简单的 C++ 添加比等效的 Java 慢 6 倍?

python - * 之后的 add() 参数必须是序列,而不是 Settings

javascript - 模计算中的奇怪结果

algorithm - 从散点评估/拟合椭圆

java - 撤消和重做,无需存储图形坐标

c# - 有没有办法在不使用 GDI+/WinForms "Graphics"类的情况下检索设备的 DPI?

linux - R:getGraphicsEvent 在 windows 和 linux 下的行为不同——尤其是鼠标滚动

c++ - 添加 double 精度损失?