
计算圆的方程
( 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;
}
}
网友评论