R:n维中点与线之间的距离

时间:2017-10-24 05:04:49

标签: r vector distance algebra euclidean-distance

我想计算任意数量(即 n )尺寸的点与线之间的距离。

找到了2和3维的优秀示例here

有没有办法将此解决方案推广到更多维度?我已经看到其他解决方案previously,但我不确定如何在R中使用它。

非常感谢,

1 个答案:

答案 0 :(得分:0)

根据原始问题中的解决方案,我找到了答案。在这里为未来的读者发布R代码。

两点,A和B,定义感兴趣的线(这里长度为10)

A <- runif(10, 0.0, 1.0)
B <- runif(10, 0.0, 1.0)

确定以下点的距离,P

P  <- runif(10, 0.0, 1.0)

然后通过在原始问题中发布的解决方案

pa = P - A
ba = B - A

t = as.vector((pa %*% ba) / (ba %*% ba))
d = (pa - t * ba)

最后,通过取其元素的平方和,然后是平方根来确定d的长度,感兴趣的矢量

dist = sqrt(sum(d^2))
dist # the solution`