변환행렬 사원수 변환 코드(Matrix to Quaternion using Eigen Library)
3차원 4x4변환행렬을 알고 있을 때 사원수의 w, x, y, z를 계산하는 것을 Eigen Library에서 제공하고 있어 코드를 소개합니다. Quaternion은 우리말로 사원수라고 하는데 사원수 식은 아래와 같이 표현할 수 있습니다. q = w+xi+yj+zk 우리가 잘 알고 있는 오일러 각을 사용하면 짐벌락(Gimbal Lock) 현상이 발생하는데 이 현상을 피하기 위해서는 사원수를 사용해야 합니다. 사원수를 사용하기 위해서는 위 식의 w, x, y, z를 알아야 합니다. 참고로 i, j, k는 허수 부분을 나타내는 세 개의 가상 백터입니다. 4x4 변환행렬 입력으로 사원수의 w, x, y, z를 구하는 코드입니다.(행렬의 4행의 값은 translate에 관련된 값입니다.) Eigen::Matri..
2024. 1. 12.
AABB OBB 차이와 의미
AABB(Axis Aligned Bounding Box)와 OBB(Oriented Bounding Box)는 모두 3D 그래픽스 및 게임 프로그래밍 분야에서 주로 사용되는 Bounding Box 계산 기법입니다. AABB는 축에 정렬된 바운딩 박스로, 3축 x(1,0,0), y(0,1,0), z(0,0,1)와 평행한 최소 크기의 상자를 object에 넣는다고 생각하시면 됩니다. 상자의 각 면이 세 축에 정렬되어 있기 때문에 "축에 정렬된"이라는 용어가 사용됩니다. 이 기법은 object에서 3축의 최대 최소만 계산하기 때문에, 계산이 간단하면서도 효과적인 충돌 감지를 위한 방법 중 하나로 사용됩니다. 두 AABB 간의 충돌을 감지하는 것은 각 축에 대해 겹침 여부를 확인함으로써 쉽게 수행할 수 있습니다..
2023. 12. 11.