带有使用UIBezierPath的圆angular的多边形

我想使用UIBezierPath创build一个圆angular的多边形形状。 我相信这将可能使用addCurveToPoint:controlPoint1:controlPoint2:和类似的代码findhttp://www.codeproject.com/Articles/31859/Draw-a-Smooth-Curve-through-a-Set-of-二维点 – 机智 ,但我想知道是否有任何现有(或更好)的方式来实现这一目标?

我应该指出,这将需要为任何凸多边形(如在voronoi图中发现),而不是一个矩形的形状。

你不想要addCurveToPoint。 如果您使用UIBezierPath,则需要addArcWithCenter:radius:startAngle:endAngle:顺时针:

这是你做的。 绘制你的矩形。 找出你想要的angular落半径。 在每个angular落绘制圆圈,从各个angular落的圆angular插入。 (每个angular圆的中心将被插入每个angular的x和y的angular半径)。然后绘制出一系列4行,连接矩形触及每个angular的圆的点。

每个弧将覆盖90度(π/ 2,以弧度为单位)。右上angular的范围是从0到π/ 2。 左上angular的angular度将从pi / 2开始,然后转到pi。 左下angular的弧线范围从pi到3/2 pi。 右下angular的angular度范围从3/2 pi到2pi。

您将使用一系列的:

  • moveToPoint addLineToPoint – 第一面

    addArcWithCenter:radius:startAngle:endAngle:顺时针 – 第一个圆angular

    lineToPoint – 第二面,下一个圆angular的开始

    addArcWithCenter:radius:startAngle:endAngle:顺时针 – 第二个圆angular

    lineToPoint – 第三方,下一个圆angular的开始

    addArcWithCenter:radius:startAngle:endAngle:顺时针 – 第三个圆angular

    lineToPoint – 四边,到最后一个圆angular的开始

    addArcWithCenter:radius:startAngle:endAngle:顺时针 – 第四个圆angular,连接回第一面。

    closePath

您可以使用PaintCodeApp,因此您不必编写任何绘图代码。 有一个演示下载可用: http : //www.paintcodeapp.com/

你可以参考下面的链接来创build一个圆angular的多边形形状。

http://www.scriptscoop.net/t/ec0f886dcfea/create-hexagon-imageview-shape-in​​-ios.html