답변

1

나는 희망에 따라 희망하는 C++ 응용 프로그램을 작성했고 posted it on GitHub을 작성했습니다.

주어진 실린더 X^2 + y^2 = 1 원점에 중심 2x2x2 큐브 내부 새겨, 우리는 다음과 같이 입방체 풀어서 네면에 원통형의 파노라마 투영 할 수있다. 출력 이미지의 모든 픽셀에 대해 큐브의 가운데에서 (0,0,0) 의 광선을 큐브의면 중 하나의 해당 지점을 통해 캐스팅하고 광선이 실린더와 교차하는 위치를 결정합니다. 그런 다음 실린더의이 지점을 입력 이미지의 해당 지점 에 매핑하고 그 지점에서 입력 이미지를 (쌍 선형으로) 샘플링합니다. 결과 픽셀 색이 현재 출력 픽셀에 할당됩니다.

associated docs에서 자세한 내용을 읽을 수 있습니다. 여기

당신이 제안 입력 및 출력 이미지의 일부 축소판입니다

enter image description here enter image description here

+0

아주 멋진, 감사합니다. 한 노트 - 출력은 길이가 2X 높이 여야하므로 구 주위를 완벽하게 감쌀 수 있습니다. – Sekoul

+0

나는 네가 원한 것을 정말로했다고 생각하지 않는다. 실린더 대신 구형을 사용해야합니다. 나는 위로 또는 아래로 움직이지 않고 동굴 VR과 함께 작동 할 것 같은 입방체의 4면 (원통형 상부 또는 바닥 없음)에 실린더를 매핑했습니다. 나는 기회가 생길 때마다 또 다른 균열을 가지고 갈 것이다. – wcochran