수학

두 점 사이의 거리 구하기
플레이어 사이의 거리 혹은 충돌하려는 두 물체 사이의 거리, 더 나아가서는 사정 거리 안에 들어왔는지 아닌지를 알고 싶을 때가 생기면 어떻게 해야 할까? 가장 간단한 방법은 피타고라스의 정리를 이용하는 것이다. A와 B를 잇는 선분을 하나 그린 후 이를 빗변으로 하는 직각 삼각형을 하나 그린다. A(x1, y1), B(x2, y2)라 할 때 나머지 하나의 꼭짓점의 좌표는 C(x2, y1)이 된다. 여기서 피타고라스의 정리를 사용하면 A와 B를 잇는 빗변의 거리를 구할 수 있다. 제곱근은 직접 연산을 통해 계산해도 되지만 헤더를 추가해 sqrt 와 pow를 이용해도 된다. sqrt(값) 제곱근을 구하는 함수로 제곱근을 반환 pow(값, 지수) 제곱을 구하는 함수. 3차원으로 확장 위의 거리의 공식은 xy축..

아핀 변환 Affine Transformation
어떤 모델이든 아핀 공간에 있는 모델들은 점들의 집합이라고 했다. 그 점들이 어떤 식으로 있느냐가 모델을 만든다고 했다. Vertex가 모여 모델을 이룬다. 점들의 개수에 따라 모델의 질이 달라진다. 그 점 중에서도 모델을 위치시키기 위해서 다른 점이 하나 더 필요하다. 바로 중심점이라는 것이다. 중심점을 기준으로 나머지 점의 위치를 상대적으로 표현한다. 원점에서 각 점으로 향하는 8개의 벡터가 있다고 하자. 만약 크기를 어떤 축으로 늘리고 싶으면 8개의 벡터에 해당 축에 해당하는 크기 변환 행렬을 적용한다. 그렇게 되면 8개 벡터에 대한 새로운 벡터가 나오고 다시 벡터의 끝 점이 원점의 기준에 의해 바뀔 것이다. 모델의 중심점이 원점에 있을 때 모델의 크기 변환은 모델을 이루는 점들을 벡터처럼 생각하고..