2013-04-24 5 views
0

질문이 있습니다. 나는 N 개의 물체와 N × N의 행렬 M을 가지고있다. 각각의 엔트리 M (i, j)는 j를 얼마나 강하게 (또는 역으로 멀리 당긴다) 얼마나 강하게 나타내는 상대적인 중력을 포함한다. 각 개체에 좌표를 할당하여이 N 개의 개체를 2 차원 Rx 평면에 배치하려고합니다.상대 중력을 좌표로 변환하는 방법

이 작업을 수행하는 알고리즘/메소드가 있습니까? 천체 물리학, 물리학, 화학 등에서 일반적으로 사용되는 방법이 있어야합니다. 도움을 주셔서 감사합니다.

+0

어떤 종류의 조정을하고 계십니까? –

+0

무언가가 물건을 무작위로 또는 임의로 배치하지 못하게합니까? 예 : 정적 또는 동적으로 안정적인 게재 위치를 찾고 있습니까? –

+0

중력 시뮬레이션을 수행하려는 경우이를 n 바디 문제 또는 n 바디 시뮬레이션이라고합니다. 심지어 2-d에서도 n이 2보다 크면 분석적 해결책이 없을 것입니다. Wikipedia의 [N-body simulation] (http://en.wikipedia.org/wiki/N-body_simulation) 기사에서 이 문제에 대한 수치 적 해결책을 유도/구현합니다. –

답변

0

중력이 일치하도록 각 물체에 좌표 (xi, yi, zi)와 질량 (mi)을 지정 하시겠습니까? 맞습니까?

한 번에 8 개의 점을 고려하십시오. 총 32 개의 미지수와 28 개의 방정식이 있습니다. 첫 번째 점은 원점에 있고 두 번째 점은 x 축에 있다고 가정 할 수 있습니다. 즉, 28 개의 미지수와 28 개의 방정식을 갖게됩니다.

그래서 첫 번째 장치와 알고리즘은 한 번에 8 개 점을 풀 수 있습니다. 그런 다음 점진적으로 각 반복마다 한 점을 추가하십시오.

=== 연습의 === 당신이 주어진 N D 차원에서 점하는을 고려하십시오. 포인트 사이의 거리 만 있지만 좌표는 없습니다. 목표는 각 지점에 대한 좌표를 찾는 것입니다.

D = 1 인 경우 한 번에 두 점 (+1) 만 고려해야합니다. 원점에 첫 번째 점을 배치하십시오. 원점의 양의 방향에 두 번째 점을 배치합니다. 원점을 기준으로 세 번째 점을 배치 할 수 있지만 첫 번째 점까지의 거리에 따라 점을 오른쪽이나 왼쪽에 배치 할 수 있습니다.

D가 2 인 경우 점 1을 원점에 배치하고 y 축의 양의쪽에있는 세 번째 점은 거리에 따라 다릅니다. 네 번째 지점부터 두 개의 배치 된 점을 사용하여 다음 배치하고 다른 점을 사용하여 옵션을 조정할 수 있습니다 (두 가지 옵션이 있음).

D = 3과 유사합니다. 3 개 모두에 대해 xy 평면 (z = 0)에 처음 세 점을 배치하십시오. 다음으로, z axist의 postive 부분의 4 번째 부분을 놓습니다. 등등.

다시 중력으로 돌아 오기 : 원본을 정확하게 놓을 수 없기 때문에 문제가 복잡합니다. 그래서 그들을 배치하기 위해서는 5 점 이상이 필요합니다. 위에서 보았 듯이 최대 8 점이 필요합니다.

질량이 모두 같은 경우 거리 (중력의 역수)를 계산하고 D = 3 인 경우를 적용 ​​할 수 있습니다.

+0

첫 번째 점은 원점, 두 번째 점은 x 축, 세 번째 점은 z = 0이라고 가정 할 수 있습니다. –

+0

@EgorSkriptunoff는 28 개의 방정식과 27 개의 미지수를 남겨 둡니까? –

+0

@JanDvorak - 네, 시스템을 풀 수 없습니다. –

0

문제는 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.