three角度处理:1.角度、弧度归一(0,2PI),2.两个角度之间的最小夹角

角度通常用 弧度(radian)表示,所以你要做的就是把任意弧度值「归一化」到 [0, 2π) 之间。

弧度归一

 normalizeAngle(angle) {
 const twoPI = Math.PI * 2;
 return ((angle % twoPI) + twoPI) % twoPI;
 }
角度归一
 normalizeAngle(deg) {
    return ((deg % 360) + 360) % 360;
  }

 

两个角度之间的最小夹角(差值),而不是单纯的相减

  • 返回值在 [-180, 180] 之间,带正负号(正负表示方向)。

  • 如果只关心差的大小,可以用 Math.abs()

angleDiff(a, b) {
    let diff = ((b - a + 180) % 360) - 180;
    return diff < -180 ? diff + 360 : diff;
  }

 

posted @ 2025-09-28 19:15  SimoonJia  阅读(14)  评论(0)    收藏  举报