地图上有三个位置。位置A,位置B和位置C.
我只有三个位置的纬度和经度。
现在我想在 android map <中找到关于“A”和“C”的角度“ B ” /强>
请帮帮我。
答案 0 :(得分:1)
请参阅此示例link。
在伪代码中,程序或多或少是这样的:
假设A,B和C是具有x和y分量的2D矢量。
//compute vectors ba and bc
ba = A-B
bc = C-B
//normalize the vectors (divide by the length)
ban = ba / sqrt(ba.x*ba.x + ba.y*ba.y)
bcn = bc / sqrt(bc.x*bc.x + bc.y*bc.y)
//compute the cosinus of the angle using the dot-product
cosAngle = ban.x * bcn.x + ban.y * bcn.y
//compute the angle
angle = acos(cosAngle)
注意: 当你减去两个向量时,减去各个坐标:
ba.x = A.x - B.x
ba.y = A.y - B.y
通过标量对矢量进行划分是类似的:
ban.x = ba.x / length
ban.y = ba.y / length