计算polygon / shape / UIBezierPath中的填充百分比

时间:2016-02-29 23:22:29

标签: ios objective-c geometry uibezierpath cashapelayer

我将多边形绘制为具有5个坐标的UIBezierPath。它被正确显示并且计算了面积,现在我想要一个按钮,它开始填充形状,直到释放按钮并计算填充区域的百分比。我怎样才能有效地做到这一点?

enter image description here enter image description here

左边的图像是当前的实现,右边的是逻辑实现后的样子。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

正在填充的多边形有五个顶点。假设它是凸的,描述填充区域的多边形有五个或六个顶点,用水平线截断原始。

将这些顶点的多个顶点收集为两个@[x,y]对阵列,并将apply this formula收集到每个阵列以计算区域。

被填充的多边形是常量,因此其区域只需要计算一次。对于填充多边形,只要填充线y大于任何顶点y,该顶点的x*y项将变为常量,因此您可以节省一些计算量。但是,为了使其正常工作,我将从每次填充线改变时重新计算整个填充区域开始。五个或六个顶点是花生,FPU明智。