1

4 次元空間で四面体の外心を計算しようとしています。基本的に私が探しているのは、四面体の 4 つの頂点すべてを通過する最小の球の中心です。オンラインで検索しましたが、これに関する特定の式が見つからないようです。私の全体的な目的は、外心を見つけて、特定のデータセット内の他の点が四面体の頂点の周りに構築された球内にあるかどうかを確認することです。Delaunay 三角形分割の仕組みに似ています。四面体は、正四面体でも不規則四面体でもあり得ることに注意してください。

現在、GA を使用して 4 つの頂点すべてから等距離にある点を特定するカスタム最適化関数を使用しています。ただし、これは常に最小の囲み球を見つけるとは限りません。この計算をより正確にする具体的な数式を期待していました。

4

1 に答える 1

1

私は明示的な公式を知りません (存在する場合、それを理解するのはおそらく簡単ではありません) が、最適化アルゴリズムを使用せずに、小さな線形システムを解いた結果として中心を取得するのは簡単です。点 P1、P2、P3、P4 が与えられ、P1 が原点になるように平行移動を適用します。P1,...,P4 を含む球の中心は、P1 と P2 から等距離にあるという特性を持ちます。P1 と P3 から。P1 と P4 から。これらはそれぞれ一次方程式です。4 つの未知数に対して 3 つの方程式があるため、システムは劣決定です。必要な解は、最小のノルムの解 (最小二乗解) です。これはバックスラッシュ演算子が提供する解決策ではありませんが、 pinvを使用してそれを取得できます。小さな行列の場合、コストはかかりません。

p1 = rand(1,4); p2 = rand(1,4); p3 = rand(1,4); p4 = rand(1,4);  % test input
v = [p2-p1; p3-p1; p4-p1];       % matrix of linear system
b = 0.5*[v(1,:)*v(1,:)' ; v(2,:)*v(2,:)' ; v(3,:)*v(3,:)'];  % RHS of the system
x = p1 + (pinv(v)*b)'    % least squares solution, translated back

norm(x-p1)...norm(x-p4)が等しいことを確認できます。

于 2015-06-05T23:43:57.480 に答える