2011-03-24 2 views
2

카메라의 3D 위치, 카메라의 3D 목표 위치 (카메라가 가리키는 점), 카메라와의 평면 거리, 시야 및 가로 세로 비가 주어지면 어떻게 4 차원 3D를 계산할 수 있습니까? 먼 비행기의 점들? 이것은 기본적인 삼각법과 함께 가능해야하지만 정확한 결과를 얻지는 못합니다.절두체 가시화보기

답변

0

2D에서 기본 삼각법 일 수도 있지만 문제는 3D에서 좀 더 정교합니다. 나는 당신에게 특별한 대답이 없지만, 이것은 당신에게 탐험 할 수있는 몇 가지 길을 줄 수 있습니다.

Rougly, 단계는 다음과 같습니다 :

  1. 는 FOV 반경
  2. 찾기 이미지 평면
  3. 의 방정식을 찾기
  4. 네 개의 포인트가 거짓말을 찾기 FOV 원의 방정식을 찾기 해당 원의 가로 세로 비율에 해당하는 숫자

해당 서클이있는 비행기는 point and normal vector을 입력하면 3D에서 원의 방정식을 결정할 수 있습니다 (점은 카메라의 위치이고 벡터는 카메라와 대상 사이의 선입니다).

원의 반경은 r = d tan(theta/2)의 관계로 결정할 수 있습니다. 여기서 d는 카메라와 대상 사이의 거리이고 theta는 FOV 각도입니다.

방정식은 반경 및 법선 벡터에 따라 정의 할 수 있습니다.

마지막으로 주어진 가로 세로 비율이 inscribed in that circle 일 수있는 사각형을 찾아야합니다. 네 점은 사각형과 원의 교차점입니다.

카메라를 기울일 수 있는지 또는 수평을 맞추 었는지 여부도 고려해야합니다. 이것은 포인트를 변경하지만, 그들은 여전히 ​​같은 서클/비행기에 누워있을 것입니다.

목표에 따라 카메라가 항상 (0,0,0)에 위치하고 축 중 하나에 정렬되어있는 경우 (즉, 대상이 축 중 하나에있는 경우) 문제를 단순화하는 데 도움이 될 수 있습니다.