容差(epsilon)代替完全相等(equals)解决相同数据复杂计算后,高精度出现误差的情况

场景:three中方向向量运算后相同数值可能会在高精度时有误差,用向量的equals会导致误判,因此可引入容差对比,来规避此问题

function almostEquals(v1, v2, epsilon = 1e-6) {
  return (
    Math.abs(v1.x - v2.x) < epsilon &&
    Math.abs(v1.y - v2.y) < epsilon &&
    Math.abs(v1.z - v2.z) < epsilon
  );
}

 

posted @ 2025-07-25 17:56  SimoonJia  阅读(17)  评论(0)    收藏  举报