cocos2d-js js 圆周运动算法

cocos2d-js js 圆周运动算法_第1张图片
圆周运动算法


计算圆的方程

( x - a)(x-a) + ( y -b)(y-b) = r*r

IsNeedZheng 是否返回正数

//圆心坐标和半径

var YUANXIN_X = 0;

var YUANXIN_Y = 0;

var YUAN_R = 140;

/*

    计算圆的方程

    ( x - a)(x-a) + ( y -b)(y-b) = r*r

    IsNeedZheng 是否返回正数

*/

function Yuan_get_y_by_x( xx , IsNeedZheng)

{

    var y = 0;

    if ( IsNeedZheng)

    {

        y = YUANXIN_Y +  Math.sqrt( YUAN_R * YUAN_R - ( xx - YUANXIN_X) * ( xx - YUANXIN_X) );

    }else

    {

        y = YUANXIN_Y -  Math.sqrt( YUAN_R * YUAN_R - ( xx - YUANXIN_X) * ( xx - YUANXIN_X) );

    }

    return y;

}

上面是根据X的坐标 返回 同一 X值下的 上Y值或者下Y值

下面是根据角度算出 对应的X 的位置 用于 圆周运动


cocos2d-js js 圆周运动算法_第2张图片
cocos2d-js js 圆周运动算法_第3张图片

/*

    通过角度计算圆

*/

function JIaodu_getY_by_x (  jd ,IsX)

{

    var yy = YUAN_R * Math.sin( jd);

    var xx = YUAN_R * Math.cos( jd);

    if ( IsX)

    {

        return YUANXIN_X + xx;

    }else

    {

        return YUANXIN_Y + yy;

    }

}

你可能感兴趣的:(cocos2d-js js 圆周运动算法)