取相邻两个点位,根据这两个点构成的线段,通过反正切函数即可计算出该线段的偏移角度。
function getRotationy(point1,point2){
var x1=point1[0];
var y1=point1[1];
var x2=point2[0];
var y2=point2[1];
var xmove = x2-x1;
var ymove = y2-y1;
if(xmove>0&&ymove>0){//东北
return 180-Math.atan(ymove/xmove)*180/Math.PI;
}else if(xmove>0&&ymove==0){//东
return 180;
}else if(xmove>0&&ymove<0){//东南
return 180-Math.atan(ymove/xmove)*180/Math.PI;
}else if(xmove==0&&ymove>0){//北
return 90;
}else if(xmove==0&&ymove==0){//重合
return null;
}else if(xmove==0&&ymove<0){//南
return -90;
}else if(xmove<0&&ymove>0){//西北
return -Math.atan(ymove/xmove)*180/Math.PI;
}else if(xmove<0&&ymove==0){//西
return 0;
}else if(xmove<0&&ymove<0){//西南
return -Math.atan(ymove/xmove)*180/Math.PI;
}}
实际应用:轨迹播放时,轮船朝向修改。
img
网友评论