2013-01-25 2 views
4

예를 들어, 8 점. 나는 각 점들 사이의 모든 거리를 안다. 그 점들의 3 차원 좌표를 재구성하는 알고리즘이 있습니까?포인트 간격으로부터 3d 점 재구성

+0

Sorta, 거리는 상대 위치 정보 만 포함합니다. 해당 정보에서 3D 모양을 만들 수는 있지만 방향 및 위치 (3D 공간에서)는 거리에서 결정할 수 없습니다. 그것이 당신이 추구하는 것에 충분할 지 확실하지 않습니다. – Nuclearman

+0

네, 압니다. 내 목표는 3D 모양을 얻는 것입니다. 어떤 알고리즘? – Mario

답변

2

포인트가 일반적인 위치에 있다고 가정 해 보겠습니다. 3 점이 같은 선에없고 4 점이 같은 평면에 없다는 것입니다. 특별한 경우를 검사하지 않고 알고리즘을 단순하게 만드는 것은 제한이 아닙니다. 존재한다면

교차점은 (일반적인 위치) 네 분야의 단일 포인트이다. 2 개의 구의 교차점이 원이므로 3 개의 구의 교차점은 2 점이고 4 번째 구의 중심이 다른 3 개의 구의 중심을 갖는 평면 상에 있지 않으면 그 구가 교차점 중 하나를 통과 할 수 있습니다 . 거리가 유효한지

따라서, 형상보다 증분 그것에 포인트를 추가하여 생성 될 수있다.

첫 번째 4 개 지점의 위치는 방향을 정의합니다. 예 : 원점으로 설정된 첫 번째 점, 주어진 거리에서 + X에 설정된 두 번째 점, 원의 교차점에서 + Y 방향으로 설정된 XY 평면에서 설정된 세 번째 점 및 3 개의 구의 교차점에서 + Z 방향으로 설정된 앞 점.

추가 포인트는 그 거리에 의해 소정의 제 4 점과 반경의 중심 4 개 분야의 교차에 의해 위치 될 수있다. 당신이하려고 무엇

4

Trilateration라고합니다. 진행하기 전에 약간의 연구를하는 것이 현명 할 수 있습니다. 그러나 다음과 같이 시작하겠습니다.

실제 3D 거리가 있으면 다음 작업을 수행해야합니다. 그렇지 않으면 문제가 발생할 수 있습니다.

  1. 포인트 p1을 취해이를 원점 (0,0,0)으로 지정하십시오.
  2. 다른 점 p2를 가져 와서 (distance (p1, p2), 0,0)
  3. 다른 점 p3을 가져 와서 그것을 기반으로 (x, y, 0) 평면에 배치합니다. p1과 p2로부터의 거리.
  4. 다른 지점 p4를 가져 와서 p1, p2, p3의 거리를 기준으로 3D 공간에 배치합니다.
  5. 포인트가 남아 있지 않을 때까지 4 단계를 반복하십시오.

제 3 단계는 동양 충분하고 좌표를 고정한다.

해결 3 단계와 4 인해 점을 중심으로하는 방법을 쉽게, 평면 삼각형을 이용하여 그 양식을 수행 할 수 있습니다.

+0

고마워요, 삼부작은 제가 찾고 있던 키워드였습니다! – Mario

+1

기억하기 좋은 키워드입니다. – Ante

+0

실로 안테 (Ante), 나는 그것이 기본적으로 어떻게 될 수 있는지 알았지 만, 삼각형 분할을 들여다 볼 때 그 용어는 새로운 것이기도하다. 각도가 주어지면 거리를 계산하십시오. 기본적으로 수행해야 할 작업이 있지만 역순으로 수행해야합니다. – Nuclearman