2011-06-28 73 views

回答

4

Java沒有一個指數操作符。請嘗試使用Math.pow(x,2)x * x

+2

謝謝我明白了! d = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); – user779848

0

根據http://processing.org/reference/這應該工作:

d = sqrt (pow (x2 - x1, 2) + pow (y2 - y1, 2)); 

雖然我不是,如果你在此處理或Java中需要完全清楚。

0

只需使用內置的加工類和方法:

PVector x = new PVector(random(width), random(height)); 
PVector y = new PVector(random(width), random(height)); 
System.out.println(getEuclidianDistance(x, y)) 
3

處理已經自帶了一個函數來計算在2D和3D兩個點之間的距離。只實現dist()如通過移交這兩點你xy參數在reference提到:

dist (x1, y1, x2, y2); 
1

你有幾件事情有點不對勁。它應該是:

d = sqrt ((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)); 

其他選項:

d = dist(x1,y1,x2,y2); 

d = PVector.dist(new PVector(x1,y1),new PVector(x2,y2)); 

distance

想象一下,你是距離作爲直角三角形的hypothenuse。 一側由X軸(長度爲x2-x1)定義,另一側由Y軸(其長度爲y2-y1)定義爲 。由於距離是hypothenuse, 你知道雙方,你簡單地套用勾股定理:

BC squared = AB squared + AC squared 
BC = square root (AB squared + AC squared) 
AC = (x2-x1) = dx 
AB = (y2-y1) = dy 
or 
d = sqrt(dx*dx + dy*dy); 
相關問題