Programming/Algorithm (2) 썸네일형 리스트형 직선의 벡터 방정식으로 두 직선의 교점 찾기 들어가기 앞서, 직선의 벡터 방정식에 대한 이해가 필요하다. 글 참조 위의 글에서 직선의 벡터 방정식은 직선 L상의 어떤 한 점의 좌표를 의미한다고 했다.따라서, 두 직선 L1, L2가 만나면서 생기는 교점의 좌표는 두 벡터 방정식이 같은 경우를 말한다. 여기서, 교점의 위치를 결정하기 위해서 t값 혹은 u값을 구해야한다.직선 L1을 기준으로 하여 교점을 구하기위해 t값에 대해 정리하면 다음과 같다. 이 때, t는 실수값이므로, 벡터를 실수로 만들어주기 위해서 벡터 b와 벡터 d의 외적을 분모/분자에 내적한다.그리고 t에 대해 정리하면 다음과 같은 식을 도출할 수 있다. 위의 식에서 분모가 0이 아닐 때에만 두 직선의 교점이 생긴다. > 만약 직선이 아닌 선분 내에서 교차하는지를 알고싶다.. AABB (Axis Aligned Bounding Box) 충돌 감지 AABB를 간단히 말해보자면 직각좌표계의 각 축에 정렬된 (평행한) 사각형 (Bounding Box 혹은 Collision Box) 에 대해서, 그 사각형이 가지는 최소 및 최대 좌표값을 이용하여 충돌을 판단한다. 각 축에 정렬되어 있다는 말은 객체가 회전하더라도 Bounding Box는 유지된다는 것을 의미한다. (Axis-Aligned)따라서, AABB 충돌 감지는 정밀한 검사가 불가능하지만, 간단한 조건 검사로 빠르다는 장점이 있다. 간단히 축 하나에 대해서 먼저 생각해본 뒤, 새로운 축을 만들어 확장하는 방식으로 알아보자. 쉽게 구하기 위해 축이 하나일 때, 겹치지 않는 두 가지 case 전체를 부정하는 방식으로 부등식을 구해보자. 1. A의 오른쪽 경계가 B의 왼쪽 경계보다 좌측에 위치해.. 이전 1 다음