충돌 감지

충돌 감지(collision detection)는 둘 이상의 공간 객체(일반적으로 컴퓨터 그래픽 객체)의 교차점을 감지하는 계산 문제이다. 이는 주로 컴퓨터 그래픽스, 컴퓨터 게임, 컴퓨터 시뮬레이션, 로봇공학 및 계산물리학 등 다양한 컴퓨팅 분야에 적용된다. 충돌 감지는 계산기하학의 고전적인 문제이다. 충돌 감지 알고리즘은 2D 또는 3D 공간 개체에서 작동하는 것으로 나눌 수 있다.

개요
섬네일|당구공이 서로 부딪히는 것은 충돌 감지 과학에 적용할 수 있는 전형적인 예이다.
물리적인 시뮬레이션에서는 당구를 치는 것과 같은 실험이 진행된다. 튀는 당구공의 물리학은 강체 운동과 탄성 충돌이라는 개념 아래에서 이해된다. 당구대와 공에 대한 매우 정확한 물리적 설명은 물론 모든 공의 초기 위치와 함께 상황에 대한 초기 설명이 제공된다. 큐볼에 가해지는 힘을 기반으로 컴퓨터 프로그램은 모든 공의 궤적, 정확한 움직임 및 최종 정지 위치를 계산한다. 이 게임을 시뮬레이션하는 프로그램은 여러 부분으로 구성되며, 그 중 하나는 당구공 사이의 정확한 충격을 계산하는 역할을 한다. 이 특정 예는 조건이 좋지 않은 것으로 밝혀졌다. 계산의 작은 오류로 인해 당구공의 최종 위치가 크게 변경될 수 있기 때문이다.

비디오 게임에도 비슷한 요구 사항이 있지만 몇 가지 중요한 차이점이 있다. 일부 컴퓨터 시뮬레이션은 실제 물리를 최대한 정확하게 시뮬레이션해야 하지만, 컴퓨터 게임은 허용 가능한 방식으로 실시간으로 강력하게 실제 물리를 시뮬레이션해야 한다. 시뮬레이션 결과가 게임 플레이어에게 만족스럽다면 타협은 허용된다.

 같이 보기 
 물리 엔진
 래그돌 피직스

 각주 

 외부 링크 
 University of North Carolina at Chapel Hill collision detection research website
 Prof. Steven Cameron (Oxford University) web site on collision detection
 How to Avoid a Collision by George Beck, Wolfram Demonstrations Project.
 Bounding boxes and their usage
 Separating Axis Theorem
 Unity 3D Collision
 Godot Physics Collision

분류:계산기하학
분류:컴퓨터 그래픽스
분류:비디오 게임 개발
분류:로봇공학
분류:컴퓨터 물리 엔진