【发布时间】:2011-08-04 13:15:20
【问题描述】:
我有一些二维点,我想用这些点绘制一个多边形。这个多边形必须通过所有给定的点,这意味着多边形内部或外部都不存在这样的点。
例如:如果我有如下点:(0,0)、(1,1)、(-1,-1)、(-1,1) 和 (1,-1),如果我想使用这些绘制一个多边形,然后我的点数组应按以下方式排序:
(1,1) -> (1,-1) -> (-1,-1) -> (-1,1) -> (0,0) -> (1,1) 或
(1,1) -> (0,0) -> (-1,1) -> (-1,-1) -> (1,-1) -> (1,1)
但不可能:
(1,1) -> (0,0) -> (-1,-1) -> (-1,1) -> (-1,1) -> (1,-1) -> (1,1)
为了绘制多边形,我使用drawLine 函数并从一个点画线到另一个点,最后从最后一个点画到第一个点。
是否有任何可用的算法或代码?
谢谢!!
【问题讨论】:
-
但是可以是 (1,1) -> (0,0) -> (1,-1) -> (-1,-1) -> (-1,1) - > (1,1) 例如?它可以通过 (0,0) 多次传递吗?你到底想做什么?
标签: java android polygon convex-hull