데카르트의 공통 API: 대수와 기하의 통합

좌표계는 수와 공간의 공통 인터페이스다. 직교성, 거리 공식, 직선의 여러 형태, 원과 삼각비의 연결까지.

데카르트의 공통 API: 대수와 기하의 통합

데카르트 이전에는 수학이 두 세계로 갈라져 있었어. 대수(숫자와 방정식)와 기하(도형과 공간). 서로 대화가 안 됐지. 데카르트의 아이디어는 단순하지만 혁명적이야:

"공간의 모든 점에 숫자 쌍을 붙이자."

이 순간 도형이 방정식이 되고, 방정식이 도형이 돼.

데카르트의 통합
Math
데카르트 이전:
  대수: 3x + 2 = 8 (수의 세계)
  기하: "직각삼각형의 빗변..." (도형의 세계)
  → 서로 호환 안 됨

데카르트 이후:
  "원점에서 거리 5인 점들" = x² + y² = 25
  "기울기 2인 직선" = y = 2x + b
Code
// 데카르트 이전
interface Algebra { solve(eq): number }
interface Geometry { construct(shape): Drawing }
// 서로 호환 안 됨

// 데카르트 이후
interface CoordinateSystem {
  toEquation(shape): Equation
  toGraph(equation): Shape
  // 하나의 API로 둘 다 가능
}
Connections
1좌표계=공통 인터페이스
2점 (3, 5)={ x: 3, y: 5 }
3방정식 = 도형=데이터 = 시각화

왜 직각인가: 직교 = 독립

x축과 y축이 90도로 만나는 건 단순한 관습이 아니야. 직각이어야 x 방향의 이동이 y 값에 영향을 안 줘. 완전히 독립적이야.

(3, 5)에서 오른쪽으로 2칸 → (5, 5)   y는 안 변함
(3, 5)에서 위로 3칸      → (3, 8)   x는 안 변함

Article 2에서 "독립적인 방향"이 차원을 만든다고 했잖아. 좌표축이 바로 그 독립적인 방향이야.

반복 테마: 직교성

직교 = 축간 독립성 = zero coupling. 한쪽을 바꿔도 다른 쪽에 영향이 없다. CSS를 바꿔도 JS가 안 깨지고, auth 모듈을 수정해도 payment 모듈이 안 깨지는 것. 이 개념이 선형대수에서 **직교(orthogonal)**라는 핵심 개념으로 정식 등장해.


거리 공식 = 피타고라스

두 점 A(1, 1)B(4, 5) 사이의 거리:

      y
   5  |        * B(4, 5)
      |        |
      |        | 4 (세로 차이)
      |        |
   1  | * -----+
      | A(1,1)   3 (가로 차이)
  ----+-----------x
      0  1  2  3  4

가로 차이 = 3, 세로 차이 = 4. 직각삼각형:

거리² = 3² + 4² = 9 + 16 = 25
거리 = 5

좌표계 덕분에 도형 문제가 뺄셈과 덧셈으로 바뀌었어. 일반화하면:

d = √((x₂-x₁)² + (y₂-y₁)²)

3차원이면? d = √((x₂-x₁)² + (y₂-y₁)² + (z₂-z₁)²). 독립적인 축이 하나 추가됐을 뿐, 같은 원리야. n차원이어도 마찬가지. 선형대수에서 **벡터의 크기(norm)**가 정확히 이 공식이야.

중점 = 축별 독립 평균

A(1, 1)과 B(4, 5)의 중점 = ((1+4)/2, (1+5)/2) = (2.5, 3)

x끼리 평균, y끼리 평균. 축이 직교하니까 이게 가능해. 직교성의 실용적 혜택이지.


직선의 방정식: 같은 함수의 다른 코드

Stage 2에서 f(x) = ax + b를 봤잖아. 좌표계 위에서 이게 직선이야. 근데 표현 방식이 여러 가지 있어:

형태수식용도
기울기-절편y = mx + b기울기와 y절편을 알 때
점-기울기y - y₁ = m(x - x₁)한 점과 기울기를 알 때
일반형ax + by + c = 0가장 일반적 (수직선 포함)

전부 같은 직선을 다른 형태로 쓴 거야. 인수분해처럼, 어떤 형태가 지금 문제에 유리한가에 따라 골라 쓰는 거지.

수직선 x = 3y = mx + b 형태로 못 써 (기울기가 정의 불가). 일반형 1·x + 0·y - 3 = 0으로는 자연스럽게 표현돼. 형태의 한계를 아는 것도 중요해.

평행과 수직

평행  ←→  기울기가 같다 (m₁ = m₂)
수직  ←→  기울기의 곱이 -1 (m₁ × m₂ = -1)

수직 조건이 왜 -1이냐면, 한 직선이 오른쪽으로 2 올라가면(m = 2), 그에 수직인 직선은 오른쪽으로 가면 1/2 내려가야(m = -1/2) 직각이 되거든. 방향 반대(부호 반전) + 기울기 역수. 그래서 곱하면 -1.


원: 등거리 점의 집합

원의 정의는 아주 단순해:

"한 점으로부터 같은 거리에 있는 모든 점의 집합"

중심이 원점이고 반지름이 r이면, 거리 공식을 그대로 쓸 수 있어:

√(x² + y²) = r  →  x² + y² = r²

피타고라스 정리가 그대로 원의 정의가 된 거지. 중심이 (a, b)로 이동하면 (x-a)² + (y-b)² = r².

원 위의 점 → 삼각함수의 무대

반지름 1인 원(단위원)에서, 원점에서 원 위의 아무 점으로 선을 긋고 x축으로 수선을 내리면 직각삼각형이 생겨:

      y
      |  * P(x, y)
      | /|
    1 |/ | y
      |/ |
  ----*--+---- x
    원점  x

빗변 = 반지름 = 1, 가로 = x, 세로 = y
x² + y² = 1 (원의 방정식)

이 삼각형의 각도를 θ(세타)라고 하면... 여기서 삼각함수가 탄생해.


삼각비에서 삼각함수로: 어댑터 패턴

삼각비: 0°~90° 전용

직각삼각형에서 각도 θ가 정해지면, 변의 비율이 정해져:

sin θ = 대변 / 빗변
cos θ = 인접변 / 빗변
tan θ = 대변 / 인접변

핵심: 삼각형의 크기가 달라도 각도가 같으면 비율은 같아. 닮은 삼각형이니까.

단위원으로의 도약

단위원(반지름 = 1)을 쓰면 빗변 = 1이니까:

sin θ = y좌표
cos θ = x좌표

단위원 위의 점 = (cos θ, sin θ)

이 관점이 왜 혁명적이냐면, 삼각비는 0°~90° 범위에서만 의미가 있었어. 직각삼각형이 필요하니까. 근데 단위원에서는 θ를 한 바퀴 돌려도, 음수 방향으로 돌려도 항상 (cos θ, sin θ)가 정의돼.

θ = 0°    → (1, 0)      오른쪽
θ = 90°   → (0, 1)      위
θ = 180°  → (-1, 0)     왼쪽
θ = 270°  → (0, -1)     아래
θ = 360°  → (1, 0)      다시 오른쪽 — 한 바퀴!
반복 테마: 규칙 보존

삼각형의 도구에서 회전의 도구로 확장된 거야. 기존 규칙(0°~90°에서의 비율)을 보존하면서 더 넓은 범위로 확장. 단위원이 그 어댑터 역할을 하는 거지 -- 기존 인터페이스의 동작은 보존하면서 입력 범위를 확장.


다음 글 미리보기

다음 글에서는 라디안(네이티브 인터페이스), 핵심 각도의 도출, 사인파의 해부, 그리고 푸리에 변환 = 파동의 인수분해까지 다룬다.