『壹』 求一個java方法類,知道當前坐標(x,y),求其它任意坐標在這個坐標的角度及距離
public static double getDistance(GPoint pt1,GPoint tpp2){
return Math.sqrt((pt2.getx()-pt1.gerx())*(pt2.getx()_pt1.getx())+(pt2.gety()-pt1.gety())*(pt2.gety()-pt1.gety()));
}
求距離的方法
『貳』 java兩點間距離公式
哈哈,小伙愁了把,兩點距離這個就要用到數學的直角三角形的一個演算法了,
直角三角形的公式:直角邊A的平方 + 直角邊B的平方 = 斜邊C的平方
可以算出:
10 - 0 = 10 (直角邊A)
a點的x坐標 - b點的x坐標 = a點到b點的橫向直線距離 (直角邊A)
30.5 - 0 = (直角邊B)
a點的y坐標 - b點的y坐標 = a點到b點的豎向直線距離 (直角邊B)
那麼 (10*10 + 30.5*30.5)開平方 就是斜邊距離了
java的API有開平方方法 java.lang.Math.sqrt() 這個就是開平方
編程寫法:
double x1=0, y1=0, x2=10, y2=30.5;
double temp_A, temp_B;
double C; // 用來儲存算出來的斜邊距離
temp_A = x1>x2 ? (x1-x2) : (x2-x1); // 橫向距離 (取正數,因為邊長不能是負數)
temp_B = y1>y2 ? (y1-y2) : (y2-y1); // 豎向距離 (取正數,因為邊長不能是負數)
C=java.lang.Math.sqrt(temp_A*temp_A + temp_B*temp_B); // 計算
最後算出來的C的值 就是斜邊距離