在IOS中根据圆心坐标、半径和角度计算圆弧上的点坐标

在IOS中根据圆心坐标、半径和角度计算圆弧上的点坐标

/**
 作者:zhoujianqiang
 日期:2015-10-15
 版本: 1.0.0
 --------------------------------------------------------------
 功能说明
 --------------------------------------------------------------
 根据IOS视图中圆组件的中心点(x,y)、半径(r)、圆周上某一点与圆心的角度这3个
 条件来计算出该圆周某一点在IOS中的坐标(x2,y2)。
 
 注意:
 (1)IOS坐标体系与数学坐标体系有差别,因此不能完全采用数学计算公式。
 (2)数学计算公式:
     x2=x+r*cos(角度值*PI/180)
     y2=y+r*sin(角度值*PI/180)
 (3)IOS中计算公式:
     x2=x+r*cos(角度值*PI/180)
     y2=y-r*sin(角度值*PI/180)
 
 --------------------------------------------------------------
 参数说明
 --------------------------------------------------------------
 @param (CGPoint) center
 
 圆圈在IOS视图中的中心坐标,即该圆视图的center属性
 
 @param (CGFloat) angle 
 角度值,是0~360之间的值。
 注意:
 (1)请使用下面坐标图形进行理解。
 (2)角度是逆时针转的,从x轴中心(0,0)往右是0度角(或360度角),往左是180度角,往上是90度角,往下是270度角。
 
        (y)
         ^
         |
         |
         |
         |
 -----------------> (x)
         |(0,0)
         |
         |
         |
 
 @param (CGFloat) radius
 圆周半径
 */
#pragma mark 计算圆圈上点在IOS系统中的坐标
+(CGPoint) calcCircleCoordinateWithCenter:(CGPoint) center  andWithAngle : (CGFloat) angle andWithRadius: (CGFloat) radius{
    CGFloat x2 = radius*cosf(angle*M_PI/180);
    CGFloat y2 = radius*sinf(angle*M_PI/180);
    return CGPointMake(center.x+x2, center.y-y2);
}

ios

相关推荐