使用Objective c指向弧

时间:2015-05-06 12:37:16

标签: ios objective-c

我在获得关于弧线的观点时遇到了问题。我画了一个圆弧。而且我希望使用半径,原点和角度来获得弧上的点。在我的情况下,起源是150,150。半径为50.并且起始角度为0,结束角度为180.当我试图获得角度为M_PI / 2的点时,它应该在弧的中间对齐但是它给出了错误的x和y值。如果我遗漏了任何东西,请告诉我。

enter image description here

我的代码是

 - (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context, 4.0);
    CGContextSetStrokeColorWithColor(context,
                                     [UIColor blueColor].CGColor);
    CGContextAddArc(context, 150, 150, 50, 0, M_PI, 0);
    CGContextStrokePath(context);

}

-(CGPoint)getPoint:(float)angle
{
    float radius = 50;
    //float x = 160+radius*cos(-M_PI/2);
    //float y = 160+radius*sin(-M_PI/2);

    float x = 150+radius*cos(angle);
    float y = 150+radius*sin(angle);

    return CGPointMake(x, y);
}

1 个答案:

答案 0 :(得分:2)

如果你在评论中写了一个点(177,192),那意味着你传过的角度大约等于1。那不是M_PI / 2,大约是1.57

所以,问题在于你传递的值,而不是在上面提到的函数中。也许你错误地将角度舍入为整数?