n 个平面相交
我有 n 个 3D 平面,每个平面距原点的距离为 1.0。我知道它们都相交于空间中的一点。我知道每个平面的法线(以及每个平面上的一个点,因为它们沿着法线距原点的距离都是 1.0)。
有没有办法计算这个交集?我知道如何计算 2 或 3 个平面的交集,但我不知道如何处理可变数量的平面,
谢谢
I have n 3D planes each with distance 1.0 from the origin. I know they all intersect at a point in space. I know each planes normal (and a point on each plane, since they all distance 1.0 from the origin, along the normal).
Is there a way to calculate this intersection? I know how to calculate an intersection of 2 or 3 planes, but I dont know how to proceed with a variable number of planes
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
2个平面的交线是一条线。 3 个平面的交点是 3D 空间中的一个点。
因此,在所有平面中,选择任意 3 个平面并找到它们的交点。所有其他平面(如果它们确实相交于同一点)也将相交于该点。这就是您要寻找的点!
The intersection of 2 planes is a line. The intersection of 3 planes is a point in the 3D space.
So, of all the planes, select any 3 planes and find their point of intersection. All other planes (if they are indeed intersecting at the same point) will also intersect at this point. That is the point you're looking for!
通常,通过平面上的 a 点 (P) 和平面的法向矢量 (N) 来定义平面。当然,这个定义适用于任意数量的维度,因为 P 和 N 是通用向量。 点 X 位于平面中
因此,如果我们可以将点积重写为以下形式,则
当然,这些点积可以展开为 X 变量中的简单线性方程。
所有这些如何转换为我们可以使用的方程并写下?例如,在 3-d 中,人们可能会考虑通过点 [1 2 3] 的平面,法向量为 [1 0 2]。
因此,如果以下方程成立,则点 [x,y,z] 位于该平面中:
或者,
我的观点是,如果 3-d 中有一个平面,它对应于未知数中的单个方程 [x, y,z]。如果这三个未知数中有多个方程(多个平面),那么您就有一个线性方程组。
您应该使用线性代数来求解该方程组。当方程超过 3 个时,系统(假设各个平面不形成奇异系统)通常不会有满足所有方程的精确解。这称为超定系统,线性最小二乘解用于求解参数集 [x,y,z],以最小化残差平方和。
Typically, one defines a plane by the a point (P) on the plane, and the normal vector (N) to the plane. This definition works in any number of dimensions of course, since P and N are general vectors. Thus, a point X is in the plane if
We can rewrite that dot product in the form
Of course, these dot products can be expanded into a simple linear equation in the variables of X.
How does all of this translate into equations we can use and write down? In 3-d, for example one might consider the plane that passes through the point [1 2 3], with the normal vector [1 0 2].
Thus a point [x,y,z] is in that plane if the following equation holds true:
or,
My point is, if you have a single plane in 3-d, it corresponds to a single equation in the unknowns [x,y,z]. If you have multiple equations (multiple planes) in those three unknowns, then you have a linear system of equations.
You should use linear algebra to solve that system of equations. When there are more than 3 equations, the system (assuming the various planes do not form a singular system) will generally have no exact solution that satisfies all of the equations. This is called an overdetermined system, and a linear least squares solution is used to solve for the set of parameters [x,y,z] that minimizes the sum of squares of the residuals.