首页 > 最近在解读jqcloud代码,求解Math.abs里的数学公式的含义

最近在解读jqcloud代码,求解Math.abs里的数学公式的含义

注释说明是进行单词之间的检测碰撞,但是对于相应的数学表达式的原理不是很明白

 var drawWordCloud = function() {
           
        var hitTest = function(elem, other_elems) {
            //两两重叠检测
            var overlapping = function(a, b) {
                if (Math.abs(2.0 * a.offsetLeft + a.offsetWidth - 2.0 * b.offsetLeft - b.offsetWidth) < a.offsetWidth + b.offsetWidth) {
                    if (Math.abs(2.0 * a.offsetTop + a.offsetHeight - 2.0 * b.offsetTop - b.offsetHeight) < a.offsetHeight + b.offsetHeight) {
                        return true;
                    }
                }
                return false;
            };
            var i = 0;
           
            for (i = 0; i < other_elems.length; i++) {
                if (overlapping(elem, other_elems[i])) {
                    return true;
                }
            }
            return false;
        };
【热门文章】
【热门文章】