0
我有一个绘制为5个坐标的UIBezierPath的多边形。它正确显示和计算面积,现在我想要一个按钮,开始填充形状,直到松开按钮并计算填充区域的百分比。我怎样才能有效地做到这一点?计算多边形/形状/ UIBezierPath中的填充百分比
在左边的图像有当前实现中,正确的是应该是什么样的逻辑被实现了。
预先感谢您!
我有一个绘制为5个坐标的UIBezierPath的多边形。它正确显示和计算面积,现在我想要一个按钮,开始填充形状,直到松开按钮并计算填充区域的百分比。我怎样才能有效地做到这一点?计算多边形/形状/ UIBezierPath中的填充百分比
在左边的图像有当前实现中,正确的是应该是什么样的逻辑被实现了。
预先感谢您!
被填充的多边形有五个顶点。假设它是凸的,描述填充区域的多边形具有五个或六个顶点,用水平线截断原始。
将它们的顶点作为@[x,y]
对的两个数组以及apply this formula分别收集到多边形中以计算面积。
被填充的多边形是不变的,所以它的面积只需要计算一次。对于填充多边形,只要填充线y
大于任何顶点y
,该顶点的术语就会变成常量,因此您可以在那里节省一些计算量。但是,为了让它工作,我会在每次填充线改变时重新计算整个填充区域。五或六个顶点是花生,FPU方式。
首先,感谢您的回答。我明白你的意思,这就是我正在申请填充多边形的公式,事实是,如何在按下按钮时用动画“填充”填充区域?这个想法是开始用动画填充多边形,当释放按钮时让该区域填充,但要绘制UIBezier路径,您需要先了解坐标。 – iDeC
问题是如何执行填充多边形的动画,或者如何在按下按钮时执行该动画,或者如何计算其面积? – danh
如何动画的概念是'CAKeyframeAnimation'。将外部多边形的坐标保持为四周,与填充线“交叉”以获得填充线的几个y值处的填充坐标(填充线与外部多边形顶点相交的每个y值是最小集),那些中间多边形是关键帧动画的'values'数组。按照原始答案中的描述计算区域。 – danh