본문 바로가기

생각정리/기타

[수학] 좌표를 가지고 구할 수 있는 공식

점과 점의 거리

두 점의 좌표를 알 때, 피타고리스 정리를 이용해서 두 점의 거리를 알 수 있다. 

  • 두 점 사이의 거리 = x 값의 증가량 + y 값의 증가량

2차원 좌표 평면 위 점 A(x1, y1)와 B(x2, y2)

  • √(x2 - x1)^2 + (y2 - y1)^2

3차원 좌표 평면위 점 A(x1, y1, z1)와 B(x2, y2, z2)

  • √(x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2

두 점의 좌표를 알 때 기울기

2차원 좌표 평면 기울기 = y 값의 증가량 / x 값의 증가량

  • y2 - y1 / x2 - x1

3차원 좌표 평면 기울기 = z 값의 증가량 / xy의 길이

  • z2 - z1 / √(x2 - x1)^2 + (y2 - y1)^2

두 점위를 지나는 직선

일차함수 식을 이용해 구할 수 있다. ( a = 기울기, b = x절편 혹은 y절편) 

절편이란 직선이 해당 축과 만나는 지점

x, y 에 점 A(x1, y1)와 B(x2, y2) 중 하나의 좌표값을 대입해 x, y절편을 구한다.

a = y2 - y1 / x2 - x1

  • y = ax + b (or x = ay + b)
  • b = y1 - ax1 (or b = x - ay)

기울기와 한 점을 지나는 직선의 방정식을 만들어보면 y - y1 = a(x - x1)이 나오게 된다.

두 직선의 위치관계

  직선A : y = ax + b / 직선B : y = a'x + b'
평행 기울기는 같고, 절편은 다르다. a = a', b != b'
일치 기울기가 같고 절편도 같다. a = a', b = b'
수직 (기울기의 곱) = -1 aa' = -1
한 점에서 만난다. 기울기가 다르다. a != a'

점과 직선 사이의 거리

일차함수 식을 이용한 직선 ax + by + c = 0과 점(x1, y1) 직선과 점이 만나는 가상의 연결된 점(x2, y2)

가상의 직선 기울기와 점(x1, y1)의 좌표를 이용해 직선의 방정식을 만들 수 있다. 

  • y - y1 = y2 - y1 / x2 - x1 * (x - x1)

직선을 표준형으로 변경한다.

  • y = - a / b * - c / b

직선과 점이 수직으로 연결되었을 경우가 가장 짧은 거리이다. (두 직선이 서로 수직이면 기울기의 곱 = -1이다.)

직선의 기울기와 점과 직선을 수직으로 연결했는 직선의 기울기의 곱이 -1이므로 수직으로 연결한 가상의 직선의 기울기를 알 수 있다.

  • - a / b * y2 - y1 / x2 - x1 = -1
  • a(y2 - y1) = b(x2 - x1)
  • (y2 - y1) / b = (x2 - x1) / a = k
  • y2 - y1 = bk -> y2 = bk + y1
  • x2 - x1 = ak -> x2 = ak + x1

가상의 연결된 점을 직선 방정식으로 만들면 ax2 + by2 + c = 0 이므로 위의 내용을 풀어보면 직선의 값을 구할 수 있다.

  • a(ak + x1) + b(bk + y1) + c = 0
  • a^2k + ax1 + b^2k + by1 + c = 0
  • k(a^2 + b^2) + ax1 + by1 + c = 0
  • k(a^2 + b^2) = - (ax1 + by1 + c)
  • k = - (ax1 + by1 + c) / a^2 + b^2

위 내용들을 기반으로 점과 직선 간의 거리를 구하는 공식을 정리할 수 있다.

  • √(x2 - x1)^2 + (y2 - y1)^2
  • √(ak)^2 + (bk)^2
  • √a^2k^2 + a^2k^2
  • |k|√a^2 + b^2
  • | - (ax1 + by1 + c) | / a^2 + b^2 * √a^2 + b^2
  • | ax1 + by1 + c | / √(a^2 + b^2)^2 * √a^2 + b^2
  • | ax1 + by1 + c | / √a^2 + b^2

 

 

 

 

 

'생각정리 > 기타' 카테고리의 다른 글

한 주 정리 : 24_03 3주차  (0) 2024.03.24
공채에 대한 좋은 경험  (1) 2024.02.24
소프트웨어 아키텍처의 변화  (0) 2024.01.31
웹 소켓이란?  (1) 2024.01.24
[Excel] 중복된 항목 제거  (0) 2022.05.06