最小化欧几里德距离三维点的距离

问题描述 投票:-2回答:1

让我们看一下三维空间中的四(m)个点 - 我想推广到n-d,但是3应该足以解决问题(第1部分)。

a= (x1, y1, z1)

b= (x2, y2, z2)

c= (x3, y3, z3)
.
.

p= (x , y , z)

Find point q = c1* a + c2* b + c3* c + ..

where c1 + c2 + c3 +.. = 1
and  c1, c2, c3, .. >= 0
s.t.
euclidean distance pq is minimized.

可以使用哪些算法?想法或伪代码就足够了。

第2部分:求解n维的m个点:

我认为在n维中推广m个点是微不足道的,但事实证明它并不简单。我在这里为一般问题创建了另一个问题:minimize euclidean distance from sets of points in n-dimensions

algorithm geometry projection
1个回答
1
投票

我认为通过将点P投影到由三个点A, B, C或两个向量ABAC(或AB, AC, and BC的另一个组合)定义的平面上,可以将3D中的问题简化为简单的仿射2D几何问题。

乍一看,似乎3 + 1点问题可能推广到N维(3个点总是定义一个三角形和一个平面)。 然而,目前尚不清楚这种方法是否适用于更多不能共面的点。

通过将P投影到由矢量P'AB定义的平面ACon来减少到2D。

2-了解P'的位置仅由一个系数t in the Reals s.t确定。 P'ABAC的仿射组合: P' = t * AB + (1-t) * AC

3-从那里,P'可以在3个不同的位置:

  • (a)在三角形ABC内:在那种情况下,Q = P'
  • (b)在其中一个分段的正交向外投影所划定的范围内;在这种情况下,QP'在最近的段上的正交投影。
  • (c)不在(a)或(b)中;在最后一个微不足道的案例中,Q是最接近A, B, or C

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.