我已经在互联网上搜寻了很多天,但一直没有找到一个好的答案(或者至少能让我理解的答案)来回答一个看起来应该是一个常见问题。如何缩放任意多边形?特别是凹多边形。我需要一个可以处理凹多边形(肯定的)和自相交(如果可能的话)的算法。显然,我已经使用了简单明了的算法来处理简单的凸多边形,它计算了多边形的质心,将其平移至原点,缩放所有顶点,并将多边形平移到其原始位置。
这种方法对于许多(或者可能是所有)凹多边形都不起作用,因为质心经常落在多边形外部,因此缩放操作也会导致平移。我需要能够在不平移最终结果的情况下“原地”缩放多边形。
有人知道一种缩放凹多边形的方法吗?或者有没有办法找到可以用作缩放操作参考框架的“视觉中心”?
只是为了澄清,我正在二维空间中工作,我想使用“视觉中心”作为缩放多边形的参考框架。所以另外一个问问题的方式可能是,如何找到凹和/或自相交多边形的视觉中心?
谢谢!
这种方法对于许多(或者可能是所有)凹多边形都不起作用,因为质心经常落在多边形外部,因此缩放操作也会导致平移。我需要能够在不平移最终结果的情况下“原地”缩放多边形。
有人知道一种缩放凹多边形的方法吗?或者有没有办法找到可以用作缩放操作参考框架的“视觉中心”?
只是为了澄清,我正在二维空间中工作,我想使用“视觉中心”作为缩放多边形的参考框架。所以另外一个问问题的方式可能是,如何找到凹和/或自相交多边形的视觉中心?
谢谢!