Cộng đồng Hỏi & Đáp của Inflearn
원근투영 절두체에 관해서 질문 드려도 괜찮을까요?
Đã giải quyết
Viết
·
562
1
현재 GetClientRect()를 활용하여 얻은 MFC 창의 width와 height가 각각 1420 / 653의 값을 가지고 있는데요.
절두체 컬링에 대한 그림을 보면 거의 정사각뿔의 절두체들로 이루어져 있습니다. 하지만 원근투영행렬을 생각해봤을 때
x의 값에 (초점거리) / (종횡비)를 곱해주는 부분이 있는데, 근평면을 z=-1, 원평면을 z = -300, 시야각을 90도라 하면
아래의 그림과 같이 컬링을 진행할 때 (1, 1, -1) ~ (300, 300, -300) 부분의 절두체가 아닌 실질적으로 빨간색 선과 점선으로 이루어진 부분을
절두체로 보고 컬링을 해야하는게 아닌가 싶어 질문 드립니다.
코딩하다보니 절두체를 검은 선 부분과 같이 잡고 컬링을 진행하면 화면 양 옆 부분이 텅 비어버리게 되어서 궁금증이 생겼습니다.

게임수학
Câu trả lời 2
1
ideugu
Người chia sẻ kiến thức
네 종횡비 적용시킨 평면의 방정식을 만들어주시면 될 것 같아요. 책에는 (종횡비가 적용된) 원근투영행렬을 활용해서 절두체를 구성하는 6개의 평면 방정식을 만드는 예제를 수록했는데, 영상 강좌에서도 한번 추가해보겠습니다.
- 당분간은 깃허브 소스를 참고해보세요.
- https://github.com/onlybooks/gamemath/blob/13-2c/Source/Player/SoftRenderer3D.cpp
0
scottku3881
Người đặt câu hỏi
y축에는 나누는부분이 없으니 빨간 사각형의 높이 = 검은 정사각형의 높이여야 좀 더 제 의도랑 맞을 것 같습니다. 감안하고 봐주세요 ㅎㅎ






빠른 답변 감사합니다!