2010-01-17 9 views
4

저는 출발점을 찾지 못하는 문제가 있습니다. 나는 대답을 얻기에 충분하다고 잘 설명 할 수 있을지조차 모르겠다.3D 공간에서 임의로 변형 된 정삼각형의 법선

사전에 삼각형의 점을 모른 채 3D 공간에서 정삼각형의 법선을 찾아야합니다. 어떤 각도에서도 삼각형의 "수율"거리 표지판 사진을 찍은 다음 그 사진의 표지판 바깥 방향을 확인하십시오. (나는 정확하게 그런 일을하지는 않지만 비슷한 - 그래서 여기에서 서명/사진 메타포를 사용할 것입니다.)

** 업데이트 ** : 내 질문에 대한 답변을 전하기 전에 같은 질문이 나타났습니다. here을 볼 수 있습니다. BlueRaja 덕분에 저를 가리켜주었습니다. 나는 거기에서의 토론이 그 질문에 대답 할 것이라고 생각한다. 그러나, 매우 흥미로운 계산 방법이 아래에 제시되어 있습니다.

코드에서 삼각형을 만들 때 삼각형의 법선을 찾는 방법을 알고 있지만 3D에서 사진의 삼각형에 점을 매핑하는 방법을 잘 모릅니다. 나는 각면의 길이를 안다. 그래서 어떤 점에서 포인트가 어느 정도 떨어져 있어야하는지 알 수있다. 삼각형을 겹쳐서 위치로 회전시키고 점을 얻을 수있는 대화 형 도구를 만들 수 있지만 상호 작용없이이 작업을 수행해야합니다. 그렇게하면 수학이 복잡해질 수도 있습니다.

올바른 회전 행렬을 찾는 것만 큼 포인트를 결정해야하는지조차 모르겠다.

내가 어디서부터 시작 ... 검색을 개념이 비어 있거나 그냥 내가 무엇을 찾고 있어요을 마련하기위한 알아낼 단지 수 아니에요 :

(예를 들면, 그들은있다 2D는 3D하지 변환) 지나치게 복잡하게 만들 수도 있고 수면에서 이것을하는 간단한 변환 방정식이 있습니다.

생각하십니까? 미리 감사드립니다!

+0

계산 결과가 2 개가되도록 준비하십시오. 하나는 투영 평면의 "정면"에있는 삼각형, "뒤"에 대한 삼각형입니다. –

+0

사실, 2D 선 법선에 대해서도이 문제를 다루었습니다. 하지만 알림을 주셔서 감사합니다. –

+0

컴퓨터 시각 자료 검색을 시도해 보셨습니까? 이것은 그들이 종종 다루는 종류의 문제처럼 보입니다. SO에 적절한 컴퓨터 시각 태그가 있습니다. – celion

답변

0

나는 I just answered this 어제.

+2

아니요, 그 대답은 세 가지 알려진 점입니다. 여기서 포인트는 완전히 알려지지 않았습니다. 계속 진행해야하는 것은 비행기로의 단축 된 투영입니다. –

+0

의견을 읽으십시오 - 3d로 포인트를 찾는 방법, 그들이 2d에있는 것을 아는 것 (즉, 그들 사이의 거리를 아는 것)을 알려드립니다. –

+0

고마워요! 그 게시물은 검색에서 오지 않았다 (나는 다른 용어를 사용했을지도 모른다). 확실히 내 문제와 비슷하게 들리며 거기에서 탐구 할 몇 가지 경로가 있습니다. 그 게시물에있는 귀하의 의견에 관해서는, 당신이 당신이 말하는 것을 확장 할 수 있도록 전체 개념을 더 잘 파악할 수 있습니까? (구체적으로, 당신이 제시하는 방정식에 기초하여 해결할 수있는 방정식/미지수는 어떻게됩니까?) –

0

이것은 수학적으로나 계산적으로 (내장 된 4 중 모호성을 제외하고) 해결할 수 있습니다. 이것이 SO이므로, 전산적인 접근법을 설명 할 것입니다.

개요로, 접근법은 투영 된 각도를보고, 실제 각도를 알기 때문에 방향을 계산할 수 있습니다. 구체적으로 살펴 보려면 다음 시각화로 시작하십시오. x-y 평면에서 삼각형 평면을 상상하고 z 축에 수직 인 삼각형을 상상하고 여기에 삼각형의 모든 모서리에 닿는 원을 중심에 놓습니다. 이제 법선을 구의 모든 점으로 회전하고 투영 된 각도를 기록합니다. 여기에서 요점은 각 가능한 투영 된 각에 대해 이제 구면에 등 각 경로 (즉, 동일한 투영 된 각도를 관찰하는 모든 위치를 나타내는 법선의 경로 - 아마도 원입니다. , 그러나 나는 수학을 해결하지 않고 확신하지 못합니다.) 그래서 원래의 문제를 풀기 위해 관측 된 각도 중 두 개를 취하고 등각도 패스를 그리고 가능한 솔루션이이 패스의 교차점이됩니다.

구형에 대해 1도 증분을 움직여 등각도 경로를 구성하고 각 위치에 대해 세 각도를 기록한 다음이 데이터를 정렬하여 등각도 패스로 다시 정렬하십시오 각도로. 그런 다음 관찰 된 투영법에서 두 개의 각에 대해 두 개의 등 각 경로가 교차하는 지점을 찾습니다.경로에는 두 개의 교차점이 있습니다.이 교차점은 특정 모서리가 관찰자에 가깝거나 멀리 있는지 여부를 나타냅니다. 또한 법선을 반사하는 방식을 선택하는 방법에 따라 연결이 끊어 질 수도 있습니다 (반사 이외에 iso-angle 경로는 분리되지 않을 것이라고 생각합니다.)

+0

깔끔한! 이것은 내가 생각하는 방식이며, 이것은 내가 관련 될 수 있습니다. 이것은 종이로 시험해보고 그것이 어떻게 작동 하는지를 볼 수있는 새로운, 다른 경로 (말장난 없음)를 내 머리 위로 가져옵니다. 감사! 약간 업데이트됩니다. –

관련 문제