【问题标题】:Estimating equation for plane if distances to various points on it are known如果到平面上各个点的距离已知,则估计平面的方程
【发布时间】:2012-02-24 06:51:56
【问题描述】:

我知道从某个角度观察到平面上各个点的距离。我想仅根据这些信息(5 到 15 个不同的点,尽可能多)找到这个平面的方程。

稍后我将使用平面方程来估计到平面的距离应该在不同点;为了证明它是大致平坦的。

不幸的是,谷歌搜索并没有带来太多。 :(

【问题讨论】:

  • 我相信这可能是我的问题的答案:jtaylor1142001.net/calcjat/Solutions/VPlanes/VP3Pts.htm
  • 我假设您说的是 3D 平面。定义平面方程的方法有很多种。一般来说,定义一个平面只需要 3 个点。
  • @Azza:3 个已知点平面(距离 0)。如果你在距离d0..d4 的平面上有 5 个点,你必须构造 5 个球体并找到一个接触所有 5 个球体的平面。更难。
  • @MSalters 我想:“我知道到平面上各个点的距离,因为它是从一个角度观察的。我想找到方程仅从该信息中获取该平面(5到15个不同的点,尽可能多)。“_表示所有点都在平面内,并且需要平面方程。
  • @EmileVictor:不,假设您在飞机上拥有{x,y,z} 3 个点。你只有x²+y²+z²(距离)。

标签: c++ math vector 3d


【解决方案1】:

如果您确实知道 距离 而不是 坐标,那么这是不适定问题 - 有无限数量的平面具有任意数量的点给定距离原点的距离。

这很容易验证。让我们从一组给定的距离{D0..DN-1} 中取最短距离D0,并构造一个具有法线向量{D0,0,0} 的平面(长度为D0 的向量沿x 轴)。对于每个剩余长度,我们现在有无限数量的点将位于该平面中(在平面内围绕(D0,0,0) 点形成圆圈)。此外,我们可以将所有向量旋转任意角度,得到一个新的平面。

这是简单的 2D 图片(到一条线的距离;绘制起来更简单;))。

正如我们所见,D1..DN-1 > D0 的每个距离线上有两个点 - D1D2 显示一个,这些距离的另外两个将放置在第四个象限(+x-y)。此外,我们可以将直线绕原点旋转任意角度,并且仍然满足给定的距离。

【讨论】:

    【解决方案2】:

    我将跳过寻找最合适飞机的过程,它已在其他一些答案中处理过,并谈论其他内容。

    “证明”将我们带入统计推断。这样做的方法是您做出一个正式的假设“表面是平坦的”,然后查看数据是否支持在某个置信水平上拒绝该假设。

    所以你最终可以说“我什至没有 1% 的把握表面不是平坦的”——但你永远无法证明它是平坦的。

    【讨论】:

      【解决方案3】:

      几何?听起来像是 math.SE 的工作!方程将采用什么形式?会是飞机吗?

      我假设您想要一个准确的解决方案。

      1. 用几何找到绝对位置
      2. 在 C++ 中在 3 个维度中的 2 个维度中制作最佳拟合回归线。

      【讨论】:

      • 当 OP 实际上在平面内已经有 3 个以上的点时,这听起来像是过于复杂的解决方法。
      • 我的理解是,OP 没有飞机,而是一个滑冰者,他想从中制造飞机?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 2021-10-07
      相关资源
      最近更新 更多