강의

멘토링

커뮤니티

Inflearn Community Q&A

scottku3881's profile image
scottku3881

asked

Game Mathematics that Supports Game Engines

원근투영 절두체에 관해서 질문 드려도 괜찮을까요?

Resolved

Written on

·

573

1

현재 GetClientRect()를 활용하여 얻은 MFC 창의 width와 height가 각각 1420 / 653의 값을 가지고 있는데요.
 
절두체 컬링에 대한 그림을 보면 거의 정사각뿔의 절두체들로 이루어져 있습니다. 하지만 원근투영행렬을 생각해봤을 때
 
x의 값에 (초점거리) / (종횡비)를 곱해주는 부분이 있는데, 근평면을 z=-1, 원평면을 z = -300, 시야각을 90도라 하면
 
아래의 그림과 같이 컬링을 진행할 때 (1, 1, -1) ~ (300, 300, -300) 부분의 절두체가 아닌 실질적으로 빨간색 선과 점선으로 이루어진 부분을
 
절두체로 보고 컬링을 해야하는게 아닌가 싶어 질문 드립니다.
 
코딩하다보니 절두체를 검은 선 부분과 같이 잡고 컬링을 진행하면 화면 양 옆 부분이 텅 비어버리게 되어서 궁금증이 생겼습니다.
게임수학

Answer 2

1

ideugu님의 프로필 이미지
ideugu
Instructor

네 종횡비 적용시킨 평면의 방정식을 만들어주시면 될 것 같아요. 책에는 (종횡비가 적용된) 원근투영행렬을 활용해서 절두체를 구성하는 6개의 평면 방정식을 만드는 예제를 수록했는데, 영상 강좌에서도 한번 추가해보겠습니다. 

  • 당분간은 깃허브 소스를 참고해보세요. 
  • https://github.com/onlybooks/gamemath/blob/13-2c/Source/Player/SoftRenderer3D.cpp 

 

 

scottku3881님의 프로필 이미지
scottku3881
Questioner

빠른 답변 감사합니다!

0

scottku3881님의 프로필 이미지
scottku3881
Questioner

y축에는 나누는부분이 없으니 빨간 사각형의 높이 = 검은 정사각형의 높이여야 좀 더 제 의도랑 맞을 것 같습니다. 감안하고 봐주세요 ㅎㅎ

scottku3881's profile image
scottku3881

asked

Ask a question