【问题标题】:How can I write an algorithm to solve this formula for closest point to a set of lines in 3d如何编写一个算法来解决这个公式,以获得最接近 3d 中一组线的点
【发布时间】:2015-06-24 09:30:27
【问题描述】:

我想了解如何编写算法来解决this answer末尾写的公式

我知道当你有 Ax=b 时,可以通过矩阵求解简单的方程系统,你可以使用 x = A^(-1)b 求解,但这对我来说有点复杂

我想我应该来一个像A vec(c) = b 这样的形式,但我不知道如何处理和和点积..

【问题讨论】:

  • 为什么不写代码找到离一行最近的点,然后遍历所有行,保持最小值?
  • 对不起,不只有一个点靠近一条线……这条线上的所有点都离这条线最近..

标签: algorithm math geometry


【解决方案1】:

使用链接答案中的最后一个公式。为了简化它,规范化方向向量d(i)(排除分母)

Sum[i=1..N] (c - a(i) - d(i) * DotProduct(c-a(i), d(i))) = 0
Sum[i=1..N] (c - a(i) - d(i) * ((c.x-a(i).x) * d(i).x + (c.y-a(i).y) * d(i).y +( c.z-a(i).z) * d(i).z)) = 0 等等

你有一个由三个线性方程组成的系统。您可以使用简单的elimination method 来解决这个系统(这与解决 eq. 系统的学校方法很接近)

【讨论】:

  • 好的,但是我怎样才能建立这样一个系统呢?
  • 你能详细说明吗,MBO?
猜你喜欢
  • 1970-01-01
  • 2017-08-08
  • 2020-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多