假设我在D维空间中有N个点;其中N可以是从4到D + 1的数字。使用(d + 1)点(或更少)创建d维的球体
我想要创建由这N个点定义的最小可能球体,或换句话说,就是包含所有N个点的最小球体(它完全穿过所有这些球体)。
解决方案的变量是中心和半径。
我与矩阵不好,我想这个问题需要他们?
假设我在D维空间中有N个点;其中N可以是从4到D + 1的数字。使用(d + 1)点(或更少)创建d维的球体
我想要创建由这N个点定义的最小可能球体,或换句话说,就是包含所有N个点的最小球体(它完全穿过所有这些球体)。
解决方案的变量是中心和半径。
我与矩阵不好,我想这个问题需要他们?
我相信你正在寻找一个(最小)circumsphere为您的积分x
。正如你所建议的,这样一个对象可以通过一些线性代数来计算。
给定一组的m
点x
在n
尺寸(m <= n+1)
,使得:
x = [x_11, x_12, ..., x_1n]
[x_21, x_22, ..., x_2n]
.
.
.
[x_m1, x_m2, ..., x_mn]
这是可能的写下方程半径R
的公共领域,在X = [X_1,X_2,...,X_n]
中心,通过各通分在x
:
(x_11 - X_1)^2 + (x_12 - X_2)^2 + ... + (x_1n - X_n)^2 = R^2 (1)
(x_21 - X_1)^2 + (x_22 - X_2)^2 + ... + (x_2n - X_n)^2 = R^2 (2)
.
.
.
(x_m1 - X_1)^2 + (x_m2 - X_2)^2 + ... + (x_mn - X_n)^2 = R^2 (m)
扩大每个方程中的二次项,减去(1)
从方程(2)--(m)
,并做一个小的操作,导致了一组线性方程的用于中心X
:
M * X = B
其中:
M = [x_11-x_21, x_12-x_22, ..., x_1n-x_2n]
.
.
.
[x_11-x_m1, x_12-x_m2, ..., x_1n-x_mn]
B = [x_11^2-x_21^2 + x_12^2-x_22^2 + ... + x_1n^2-x_2n^2] * (1/2)
.
.
.
[x_11^2-x_m1^2 + x_12^2-x_m2^2 + ... + x_1n^2-x_mn^2] * (1/2)
注意M
为(m-1) x n
矩阵,而B
是一个(m-1) x 1
载体。
显然,当m = n+1
时,矩阵是正方形的,并且中心X
有一个唯一的解决方案,完全描述了与点x
相关的环。 (半径可以从X
到任何x_i
的距离获得)。
当m < n+1
解决方案是非唯一的,并有一个无限的环球家庭。在这种情况下,需要将附加约束添加到矩阵M
以提供解决方案。
在你的情况,我认为你可能会希望限制X
趴在由点x
描述的公共超平面,但我会拥有更多的有点想想这...的
待办事项你想要最小半径的球体,球体是否正好穿过每个点,或者其他什么? – 2014-09-25 21:03:34
A(可能但不一定是最小的)球完全通过每个点。抱歉,模棱两可。我将编辑原始帖子。 – ErroneousFatality 2014-09-25 21:08:25