게임의 주요 요소 중 하나인 <충돌>은 두 직선(오브젝트)가 만나는 점이 어디인지 알아야 판정이 가능하다. 또한 직선은 벽이나 물체의 이동경로를 나타낼 수 있다. 결국, 두 직선의 교점을 찾는 것이 관건이며 이는 직선 두개의 방정식을 묶어서 일차 연립방정식을 만들어 구할 수 있다.
이러한 일차 연립방정식이 가능한 3가지 경우가 있는데 이는 다음과 같다.
출처 : 중등수학(중2 수학) 일차함수와 일차함수의 활용 요약과 단원평가문제
1. 두 직선의 기울기는 같지만 y 절편이 다르면 해는 없음 -> 두 직선이 평행 (기울기 ==, 절편 !=) 2. 두 직선의 기울기가 서로 다르면 유일한 해 -> 두 직선이 교차 (기울기 !=) 3. 두 직선의 기울기와 y절편이 모두 같으면 무한히 많은 해 -> 두 직선이 동일 (기울기 ==, 절편 ==)
func 두 직선의 기울기 (기울기1 = m1, 기울기2 = m2)
{
if (만약 m1 != m2 이면) 해가 한개
else if (m1 == m2)
{
두 직선의 y절편 b1과 b2 구하기
if (b1 != b2) 해가 없음
if (b1 == b2) 해가 무한
}
}
예제 1.11 : 일차 연립방정식 다음 일차 연립방정식의 그래프를 그리고, 해집합의 크기를 구하라.(교점이 몇개인지 구하라) 1. x + y = 2 2. -x + 2y = -2
1의 기울기 -1, 2의 기울기 1/2. 두 방정식의 기울기가 다름으로 둘은 교차하는 방정식이다. 또한 교차상태일때는 유일한 해가 존재하며 해집합의 크기는 1이다.
예제 1.12 : 직선간의 충돌검사 화면에서 공이 직선 -x + 2y = -2를 따라 움직인다. 벽이 직선 3x - 6y = -6을 따라 위치할때, 공이 벽과 충돌할 것인가?
직선 : 기울기 1/2, y절편 -1 벽 : 기울기 1/2, y절편 1 기울기 ==, 절편 !=는 두 물체가 평행하며 같은 방향으로 뻗어나가기 때문에 둘은 충돌하지 않는다.
위와 같이 수식을 활용하면 충돌을 미리 예측할 수 있고 충돌하지 않는 두 물체가 충돌할 때까지 기다리는 무한루프를 피할 수 있다.
방금까지 두 직선이 교차하는지를 판단하는 방법을 공부했다면 이제 두 직선이 교차한다는 가정하에 정확한 교차점을 찾아낼 수 있는 두 가지 방법을 학습한다. 바로 선형 결합법과 치환법으로 말이다.