데카르트의 공통 API: 대수와 기하의 통합
좌표계는 수와 공간의 공통 인터페이스다. 직교성, 거리 공식, 직선의 여러 형태, 원과 삼각비의 연결까지.
데카르트의 공통 API: 대수와 기하의 통합
데카르트 이전에는 수학이 두 세계로 갈라져 있었어. 대수(숫자와 방정식)와 기하(도형과 공간). 서로 대화가 안 됐지. 데카르트의 아이디어는 단순하지만 혁명적이야:
"공간의 모든 점에 숫자 쌍을 붙이자."
이 순간 도형이 방정식이 되고, 방정식이 도형이 돼.
데카르트 이전: 대수: 3x + 2 = 8 (수의 세계) 기하: "직각삼각형의 빗변..." (도형의 세계) → 서로 호환 안 됨 데카르트 이후: "원점에서 거리 5인 점들" = x² + y² = 25 "기울기 2인 직선" = y = 2x + b
// 데카르트 이전
interface Algebra { solve(eq): number }
interface Geometry { construct(shape): Drawing }
// 서로 호환 안 됨
// 데카르트 이후
interface CoordinateSystem {
toEquation(shape): Equation
toGraph(equation): Shape
// 하나의 API로 둘 다 가능
}왜 직각인가: 직교 = 독립
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 = 3은 y = 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°에서의 비율)을 보존하면서 더 넓은 범위로 확장. 단위원이 그 어댑터 역할을 하는 거지 -- 기존 인터페이스의 동작은 보존하면서 입력 범위를 확장.
다음 글 미리보기
다음 글에서는 라디안(네이티브 인터페이스), 핵심 각도의 도출, 사인파의 해부, 그리고 푸리에 변환 = 파동의 인수분해까지 다룬다.