Java:凸多边形的周长

时间:2015-04-27 17:01:06

标签: java arraylist polygon point convex

我有一些ArrayList的{​​{1}}。它保证了点是凸多边形的一部分。

如何计算此凸多边形的周长?

更新:ArrayList中的Points不在任何顺序

更新2:所有点都是凸多边形边缘

的一部分

3 个答案:

答案 0 :(得分:1)

点数是否合适?如果是这样,你只需要总结从每个顶点到下一个顶点的距离

答案 1 :(得分:1)

答案 2 :(得分:0)

如果没有订购积分,则不可能而不确定正确的订单。那是因为如果有超过3个点,则可以形成多个多边形。

我不完全确定这些点形成凸多边形的约束条件足以确定点云的正典形状。

我的猜测是,通过从列表中取一个随机点,然后查找最近的剩余点,您可以构建一个canonic订单。从那里它只是总结由连续点形成的线的长度。

编辑:再想一想,抓住这个想法。它不适用于所有情况。这使您可以置换点并检查形成的多边形是否确实是凸的。

有关如何检查多边形是否为凸面的问题已在此处提出并回答:How do determine if a polygon is complex/convex/nonconvex?