인프런 커뮤니티 질문&답변

윤정도님의 프로필 이미지
윤정도

작성한 질문수

[게임 프로그래머 도약반] DirectX11 입문

좌표계 변환 행렬

[2-4. 좌표계 변환] 제가 이해한게 맞는지 확인 부탁드려용!

작성

·

312

·

수정됨

0

항상 감사드립니다!
강의를 들으면서 제가 이해한대로 내용의 핵심만 정리 해보았는데요.
제가 이해한게 맞는지 확인 해주시면 정말로 감사드리겠습니다!



1. 이렇게 이해한게 맞을까요?
u... v... w... 들은 A좌표계의 단위 벡터들을 B좌표계 기준으로 분해한 성분들을 의미한다.

 

만약 A좌표계가 원점(0, 0, 0)이면, 단위 벡터 u = [1, 0, 0], v = [0, 1, 0], w = [0, 0, 1]일 텐데

이런 기준이 되는 단위 벡터를 B좌표계의 시점에서 자신의 단위 벡터를 기준으로 표현하면

각각 U = [ux, uy, uz], V = [vx, vy, vz], W= [wx, wy, wz]라는 말이다.

 

이때 ux, uy, uz같은 성분들은 B좌표계를 기준으로 A 좌표계의 단위 벡터 u의 각각의 성분으로 표현한 값이다.

그리고 Qx, Qy, Qz는 B좌표계 중심점을 기준으로한 A좌표계의 중심점의 위치를 의미한다.

 

진짜 최종적으로 정리해서...

 

우리는 B좌표계 기준의 단위 벡터들 U, V, W를 A 좌표계의 단위 벡터로 표현한 성분 정보(ux, u...)들만

있으면 A 좌표계의 어떤 위치들이라도 B 좌표계 기준의 위치 정보를 얻어내는게 가능하게 된다.

Qx, Qy, Qz는 얻기가 쉽다. (다른 좌표계면 당연히 해당 좌표계의 위치 정보를 알고 있을테니)

-----------------------------------------

2. 만약 마지막 원소를 1이 아닌 0으로 바꿀 경우

강사님께서 "A좌표계의 방향 벡터가 B좌표계에서는 어떤 값으로 표시되는지 알고 싶을 때 사용한다"라고 말씀하셨는데

마지막 원소가 날아가버린다면 계산시 Qx, Qy, Qz정보가 날아가버린다는 의미이므로.

A 좌표계에서의 방향 벡터를 B기준에서의 방향 벡터로 변환한다라고 봐도 무방할까요?



답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 윤정도님, 질문해 주셔서 감사합니다.

  1. 네, 말씀하신 이해 방식이 맞습니다. u, v, w 단위 벡터들은 A 좌표계에서의 단위 벡터가 B 좌표계 기준으로 어떻게 표현되는지를 나타내며, 이렇게 변환된 단위 벡터들을 사용하면 A 좌표계의 임의의 위치를 B 좌표계에서의 위치로 변환할 수 있습니다. Qx, Qy, Qz는 A 좌표계의 원점이 B 좌표계에서 어디에 위치하는지 나타내는 변환(translation) 벡터의 성분들입니다.

  2. 마지막 원소를 0으로 변환하는 것은 홈오지니어스 좌표(homogeneous coordinates)에서의 위치 벡터가 아니라 방향 벡터(direction vector)를 나타내는 것입니다. 방향 벡터는 위치를 나타내지 않기 때문에 변환에서 Qx, Qy, Qz 성분이 사용되지 않습니다. 따라서 A 좌표계의 방향 벡터를 B 좌표계 기준의 방향 벡터로 변환하는 데 사용됩니다.

도움이 되었길 바라며, 다른 궁금한 점이 있다면 언제든 질문해 주세요.
변환 행렬과 벡터에 대한 설명 이미지
벡터와 차원에 대한 설명 이미지

윤정도님의 프로필 이미지
윤정도

작성한 질문수

질문하기