与起点相比,终点是否更接近任意点x%



我有三个坐标位置A(x1,y1(、B(x2,y2(和C(x3,y3(。A是起始位置,B是结束位置,C是任意坐标位置。现在,我想计算与开始位置(A(相比,结束位置(B(是否离点位置(C(至少近25%。

有人能为这个问题编写伪代码吗?

假设您使用某种浮点数:

distance_to_a := dist(A, B)
distance_to_c := dist(C, B)
if distance_to_c <= 0.75 * distance_to_a:
output "C at least 25% closer"
else:
output "C not at least 25% closer"

现在假设您想要使用欧氏距离,定义以下内容:

def dist(A: Point, B: Point):
return sqrt((A.x-B.x)^2 + (A.y-B.y)^2)

这是一个简单的矢量几何:

从A到B的平方距离d2是(Ax-Bx(^2+(Ay-By(^2

因此,如果:,B对C比A对C少25%

sqrt(d2(A,C)) * 0.75 >= sqrt(d2(B,C))

并且简化了,所以你不需要处理根:

d2(A, C) * 0.75^2 >= d2(B, C)

最新更新