質問があります。N 個のオブジェクトと N x N 行列 M があります。各エントリ M(i, j) には、j をどれだけ強く引き寄せるか (または逆に引き離すか) を示す (一種の) 相対重力が含まれています。各オブジェクトに座標を割り当てて、これらの N 個のオブジェクトを 2 次元の R x R 平面に配置したいと考えています。
これを行うアルゴリズム/方法はありますか? 天体物理学、物理学、化学などで一般的に使用されている方法がいくつかあるはずです。ご協力ありがとうございます。
質問があります。N 個のオブジェクトと N x N 行列 M があります。各エントリ M(i, j) には、j をどれだけ強く引き寄せるか (または逆に引き離すか) を示す (一種の) 相対重力が含まれています。各オブジェクトに座標を割り当てて、これらの N 個のオブジェクトを 2 次元の R x R 平面に配置したいと考えています。
これを行うアルゴリズム/方法はありますか? 天体物理学、物理学、化学などで一般的に使用されている方法がいくつかあるはずです。ご協力ありがとうございます。
問題は、n 個のオブジェクト間の n*n の距離がわかっている場合、それらの位置を取得する方法です。
1. Put the first one, say a, at (0,0)
2. Put the second one b at ( |b-a|, 0 )
3. For the third one c, it is at the one of the two intersections of the two circles:
|p-a|=|c-a| and |p-b|=|c-b|.
Solve this system of quadratic equations using the well-known formula, choose
either of the solutions as the position of c.
4. For any other points p, do the same thing as we're done for c, but choose one of the
two solutions that is consistent with the distance |p-c|. And check the distance
between p and all previous points. If the check fails, return with failure.