假设您在3D中有一些点。您希望按升序或降序对其进行排序。您在排序时不考虑CW / CCW。你怎么排序?
答案 0 :(得分:1)
对3D点进行排序的一种方法是比较它们的大小 - 它们与原点(0,0,0)的距离 - 可以使用毕达哥拉定理的3D模拟来计算:
M = sqrt(x^2 + y^2 + z^2) http://www.sciweavers.org/upload/Tex2Img_1392933041/eqn.png
然后,您将拥有一个浮点/双打列表,可以使用任何传统的排序算法进行排序。
但这只是最常用的方法。存在无限多种比较3D点的方法,其中一些比其他点更敏感。例如,哪个是“更大”的点,(1,0,0)或(-10,-50,5)?比较X或Y坐标将表明前者更大,而比较Z坐标或幅度表明后者更大。这些答案都不是完全正确或错误的;这实际上取决于您的应用程序需要做什么。