2009-10-14 3 views
2

3D 객체의 위치와 카메라의 위치 및 회전 행렬이 있다고 가정 해 보겠습니다.3D 위치를 2D로 변환 하시겠습니까?

어떻게 화면의 2 차원 위치로 변환하겠습니까? 3D 오브젝트를 그릴 수 있도록?

3D Env + 2D Gui 만 허용하는 엔진을 사용하고 있으므로 3D로 그리는 일반적인 방법을 사용할 수는 없지만 크기를 줄입니다.

2D 평면에서 개체의 X/Y 위치가 필요합니다.

루아에서는, 그렇지만 그건 중요하지 않습니다. 필요하다면 수학을 루아로 변환 할 수 있습니다.

감사의 친구들, SilentC 그 재미 알고리즘 및 구현을 발견하기위한 인터넷 검색

+0

중복 : http://stackoverflow.com/questions/519106/projecting-a-3d-point-to-a-2d-screen-coordinate –

+0

우연히 Unity3D Gameengine이 되겠습니까? – BerggreenDK

답변

2

또한의 시야를하셔야합니다 카메라.

2 차원 영사가 북쪽에 있다고 가정 해 봅니다. 보어 사이트 (광축을 따르는 선)에서 북쪽/남쪽 구성 요소와 동서 방향 구성 요소로 청소합니다. 이러한 각도는 평면의 화소 위치에 관한 :

X/황갈색 (A) = X/탄 (a)

X 및 X는 중심 화소에서 측정

하기,이 시야는 (또는 그 반)을 라디안 단위로 나타내며, a는 x 방향으로 라디안 단위의 편차를 나타냅니다.

Y 방향과 동일합니다.

북쪽에서 회전하려면 비행기에서 점을 회전해야합니다.

어쨌든. ;)

+0

캠의 위치뿐 아니라 포커스가있는 경우 FOV를 계산할 수 있습니까? –

+0

FOV는 특정 필름 크기의 컨텍스트에서 계산할 수 있지만 그 자체로는 계산할 수 없습니다. – John

관련 문제