2013-07-19 4 views
2

Я рисую круг в UIView, используя метод drawRect. Я использую следующий код для его рисования.Получить конечные точки круга, нарисованные в ObjectiveC

- (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 градусов. Таким образом, эта кривая берется из одной точки в другую. Мне нужно получить точки двух ребер. Как мне это получить?

+0

(Ах, и этот вопрос не имеет никакого отношения к Xcode вообще ...) –

+0

если это круг означает, конечная точка и точка начала может быть такой же –

+0

@borrrden Жаль, что мы не можем маркировать вопросы как обманы вопросов на * других сайтах, * e. г. math.SE в этом случае. –

ответ

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; 
} 
Смежные вопросы