2011-11-10 16:38
[JS函数]已知平面矢量,求该矢量角度值
javascript代码:
//得到矢量的角度值,从x0,y0指向x1,y1。
//迪卡尔坐标系
//author: zgldh
//date: 2011-11-10
//返回值:0~360
function getAngleDegree(x0,y0,x1,y1)
{
var dX = x1 - x0;
var dY = y1 - y0;
var r = Math.sqrt(dX*dX + dY*dY);
var sin = dY / r;
var cos = dX / r;
var rawArcSin = Math.asin(sin);
var rawArcCos = Math.acos(cos);
//角度值
var theta = 0;
if(cos>=0)
{
if(sin>=0)
{
theta = rawArcSin;
}
else
{
theta = 2*Math.PI + rawArcSin;
}
}
else
{
if(sin>=0)
{
theta = rawArcCos;
}
else
{
theta = Math.PI - rawArcSin;
}
}
theta = 360* theta / (2*Math.PI)
return theta;
}
实际应用中常用
嫌代码乱的复制到IDE里面自动格式化一下。