javascript中两个画布坐标之间的距离

javascript中两个画布坐标之间的距离,javascript,canvas,Javascript,Canvas,我很熟悉基础数学,也知道方程式,但当我试图在画布上实现它们时,它们失败了 以下是相关代码: function distance(one,two){ var a, b if(one[0] > one[1]){ a = one[1] - one[0] }else{ a = one[0] - one[1] } if(two[0] > two[1]){ b = two[1] - two[0]

我很熟悉基础数学,也知道方程式,但当我试图在画布上实现它们时,它们失败了

以下是相关代码:

    function distance(one,two){
    var a, b
    if(one[0] > one[1]){
        a = one[1] - one[0]
    }else{
        a = one[0] - one[1]
    }
    if(two[0] > two[1]){
        b = two[1] - two[0]
    }else{
        b = two[0] - two[1]
    }

    var c = a^2 + b^2;
    return Math.sqrt(c);
}

radius = distance([centerX,e.clientX], [centerY,e.clientY])
context.fillCircle(centerX, centerY, radius, "white");


正如你所看到的,圆圈太短了,我不知道为什么。。。当我删除sqrt时,它会很快变得不正常。

^
不会做您认为它会做的事情

js> 8^2
10
js> Math.pow(8,2)
64

它正在执行按位异或运算。Python使用的是
**
。我当时肯定完全不知道如何使用powers。。。无论如何,谢谢,代码现在运行得非常好(尽管我使用了a*a,因为Math.pow更长)(a-b)*(a-b)=(b-a)*(b-a)