cocos2d-js js 圆周运动算法

圆周运动算法


计算圆的方程

( 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 的位置 用于 圆周运动


/*

    通过角度计算圆

*/

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;

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容