C++ 已知平面上各点距离时的平面估计方程
我知道到平面上各个点的距离,因为它是从一个角度看的。我想从这些信息中找到这个平面的方程(5到15个不同的点,尽可能多) 稍后我将使用平面方程来估计在不同点到平面的距离;为了证明它大致是平的C++ 已知平面上各点距离时的平面估计方程,c++,math,vector,3d,C++,Math,Vector,3d,我知道到平面上各个点的距离,因为它是从一个角度看的。我想从这些信息中找到这个平面的方程(5到15个不同的点,尽可能多) 稍后我将使用平面方程来估计在不同点到平面的距离;为了证明它大致是平的 不幸的是,谷歌搜索并没有带来太多结果(几何?听起来像是math.SE的工作!方程将采用什么形式?它是平面吗 我假设你想要一个精确的解决方案 使用几何图形查找绝对位置 在3个维度中的2个维度中,C++中拟合出最佳拟合直线。 几何?听起来像是math.SE的工作!方程将采用什么形式?它是平面吗 我假设你想要一个精
不幸的是,谷歌搜索并没有带来太多结果(几何?听起来像是math.SE的工作!方程将采用什么形式?它是平面吗 我假设你想要一个精确的解决方案
几何?听起来像是math.SE的工作!方程将采用什么形式?它是平面吗 我假设你想要一个精确的解决方案
我将跳过寻找最适合的飞机的过程,它已经在其他一些答案中处理过,然后讨论其他一些问题 “证明”将我们带入统计推断。这样做的方法是你做出一个正式的假设“表面是平的”,然后看看数据是否支持在某种置信水平上否定这个假设
所以你可能会说“我甚至1%都不确定表面是不是平的”——但你永远无法证明它是平的。我将跳过寻找最合适平面的过程,它在其他一些答案中得到了处理,然后讨论其他一些问题 “证明”将我们带入统计推断。这样做的方法是你做出一个正式的假设“表面是平的”,然后看看数据是否支持在某种置信水平上否定这个假设
所以你可以说“我甚至不确定表面是否平坦”--但你永远无法证明它是平的。如果你确实知道距离,而不知道坐标,那么这是一个不适定的问题——有无限多个平面的点与原点之间的距离是任意的 这很容易验证。让我们从给定的距离集
{D0..DN-1}
中取最短距离D0
,然后用法向量{D0,0,0}
(沿x
轴的长度向量D0
)构造一个平面。对于剩余的每一个长度,我们现在有无限多个点位于该平面上(围绕(D0,0,0)
点在平面内形成圆)。此外,我们可以将所有向量旋转任意角度,得到一个新平面
这是一张简单的2D图片(到一条线的距离;绘制起来更简单;))
我们可以看到,对于每个距离,
D1..DN-1
D0
-一个点显示在D1
和D2
上,另外两个点位于第四象限(+x
,-y
)。此外,我们可以将直线绕原点旋转任意角度,并且仍然满足给定的距离。如果您确实知道距离,而不知道坐标,那么这是一个不适定问题-有无限多个平面的点与原点之间的给定距离是任意的
这很容易验证。让我们从给定的距离集{D0..DN-1}
中取最短距离D0
,然后用法向量{D0,0,0}
(沿x
轴的长度向量D0
)构造一个平面。对于剩余的每一个长度,我们现在有无限多个点位于该平面上(围绕(D0,0,0)
点在平面内形成圆)。此外,我们可以将所有向量旋转任意角度,得到一个新平面
这是一张简单的2D图片(到一条线的距离;绘制起来更简单;))
我们可以看到,对于每个距离,
D1..DN-1
D0
-一个点显示在D1
和D2
上,另外两个点位于第四象限(+x
,-y
)。此外,我们可以将直线绕原点旋转任意角度,并且仍然满足给定的距离。我相信这可能就是我的问题的答案:我假设你谈论的是3D中的平面。定义平面方程的方法有很多。通常,你只需要3个点就可以定义平面。@Azza:平面上的3个已知点(距离0)。如果在距离平面d0..d4
处有5个点,则必须构造5个球体并找到一个与所有5个球体接触的平面。难度要大得多。@m我想:“我知道一个平面上各个点的距离,因为它是从一个角度看的。我想从这个信息中找到这个平面的方程(5到15个不同的点,根据需要的数量)。”意味着所有点都在平面内,需要平面方程。@Emilor:不,假设你有{x,y,z}
平面上的3个点。你只有x²+y²+z²(距离)。我相信这可能就是我问题的答案:我假设你谈论的是三维平面。定义平面方程的方法有很多。一般来说,你只需要3个点就可以定义一个平面。@Azza:平面上的3个已知点(距离0)。如果你有5个点与平面的距离d0..d4
,你必须构造5个球体并找到一个与所有5个球体接触的平面。要困难得多。@m我想:“我知道到平面上各个点的距离,因为它是从一个角度看的。我想从这个信息中找到这个平面的方程式(5到15个不同的点,视需要而定)。“u表示所有点都在平面内,平面方程为nee