2013-08-23 86 views
0

我很熟悉基本數學並且知道方程,但是當我嘗試在畫布中實現它們時,它們失敗了。javascript中兩個畫布座標之間的距離

下面是相關代碼:

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"); 

Here's the code in action

正如你所看到的,這個循環是太短,我不知道爲什麼...當我刪除開方,就變成很快就出現了重擊。

+1

(a - b)*(a - b)===(b - a)*(b - a) – symcbean

回答

2

^不符合您的想法。

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

怪異的..好的,謝謝。在這種情況下做什麼? – drnessie

+0

它執行按位異或。而Python使用'**'。 –

+0

如何做權力必須徹底逃脫我然後......謝謝無論如何,代碼現在完美的作品(儘管我使用* a因爲Math.pow更長) – drnessie

相關問題