为了计算quadrangle 的质心,点需要按照它们沿着quadrangle的周长出现的顺序进行排序。有4个点p1,p2,p3,p4 ,每个点的坐标为x,y ,所以对于p1.x,p1.y,p2.x,......沿周长对点进行排序的最有效方法是什么?
欢迎使用任何编程语言的公式或算法,Javascript 是首选。
为了计算quadrangle 的质心,点需要按照它们沿着quadrangle的周长出现的顺序进行排序。有4个点p1,p2,p3,p4 ,每个点的坐标为x,y ,所以对于p1.x,p1.y,p2.x,......沿周长对点进行排序的最有效方法是什么?
欢迎使用任何编程语言的公式或算法,Javascript 是首选。
答案https://stackoverflow.com/a/2122620/502144可以帮助解决问题。但是,它不考虑点的顺序,只考虑点集。这是带有排序的修改表:
ABC ABD BCD CAD hull
------------------------
+ + + - ABCD
+ + - + ABDC
+ - + + ACBD
ABC、ABD、BCD、CAD 是三角形的方向。仅考虑 4 个点形成凸四边形的情况。在其他情况下,任何排序都是有效的,导致非凸四边形。