我在获得关于弧线的观点时遇到了问题。我画了一个圆弧。而且我希望使用半径,原点和角度来获得弧上的点。在我的情况下,起源是150,150。半径为50.并且起始角度为0,结束角度为180.当我试图获得角度为M_PI / 2的点时,它应该在弧的中间对齐但是它给出了错误的x和y值。如果我遗漏了任何东西,请告诉我。
我的代码是
- (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);
}
答案 0 :(得分:2)
如果你在评论中写了一个点(177,192),那意味着你传过的角度大约等于1
。那不是M_PI / 2
,大约是1.57
。
所以,问题在于你传递的值,而不是在上面提到的函数中。也许你错误地将角度舍入为整数?