获取在Objective C中绘制的圆的端点

时间:2013-07-19 06:26:41

标签: ios objective-c trigonometry

我使用drawRect方法在UIView中绘制一个圆圈。我使用以下代码绘制它。

- (void)drawRect:(CGRect)rect
{
     CGContextRef context = UIGraphicsGetCurrentContext();
     CGContextAddArc(context, 105, 105, 55, [self convertDegreeToRadian:15.0], [self convertDegreeToRadian:345.0], 0);
     CGColorRef black = [[UIColor blackColor] CGColor];
     CGContextSetStrokeColorWithColor(context, black);
     CGContextStrokePath(context);
}

这给了我一个从15度到345度的曲线。因此,这条曲线从一个点到另一个点。我需要得到两条边的点。我怎么得到它?

1 个答案:

答案 0 :(得分:7)

如果您想要计算圆周上的点,此功能应该有所帮助。它返回CGPoint并获取非常不言自明的参数;圆的中心点,圆的半径和以弧度表示的旋转角。

- (CGPoint)pointAroundCircumferenceFromCenter:(CGPoint)center withRadius:(CGFloat)radius andAngle:(CGFloat)theta
{
    CGPoint point = CGPointZero;
    point.x = center.x + radius * cos(theta);
    point.y = center.y + radius * sin(theta);

    return point;
}