에듀테크 프로젝트 대시보드
베지에 곡선
글꼴의 획, 일러스트레이터의 펜 툴, CSS cubic-bezier() 이징, 게임 캐릭터의 이동 경로…
컴퓨터가 그리는 매끄러운 곡선은 거의 다 베지에 곡선이다. 원리는 놀랍게도 단순하다 —
제어점 몇 개를 찍고, 그 사이를 반복해서 선형 보간(lerp) 하면 곡선이 튀어나온다.
아래에서 점을 직접 끌어 보고, t 를 움직여 곡선이 만들어지는 과정을 지켜보자.
큰 점 P0~P3 를 마우스/터치로 드래그해 곡선 모양을 바꿔 보자. t 슬라이더는
곡선 위 현재 위치를 나타내며, 재생을 누르면 t 가 0→1 로 흐르면서 곡선이 그려진다.
가는 회색 선은 제어 다각형, 색깔 선·점은 드 카스텔조(De Casteljau) 보간 단계다.
t가
0→1 로 갈 때 남기는 자취가 곧 베지에 곡선이다.
두 점 A, B 사이를 비율 t 로 나눈 점:
lerp(A,B,t) = (1−t)·A + t·B. t=0이면 A, t=1이면 B.
제어점이 4개면 이웃한 쌍마다 lerp → 점 3개. 다시 lerp → 점 2개 → 점 1개. 점이 하나 남을 때까지 반복한다.
마지막 한 점이 B(t). t 를 0에서 1까지 훑으며
이 점을 이으면 부드러운 곡선이 된다.
TrueType은 2차, OpenType/PostScript는 3차 베지에로 모든 글자의 윤곽선을 저장한다. 크기를 키워도 안 깨지는 이유.
SVG <path d="C ...">, 일러스트레이터·피그마의 펜 툴 손잡이가 바로 제어점 P1, P2다.
CSS cubic-bezier(.25,.1,.25,1) 는 시간→진행률 곡선. P0=(0,0), P3=(1,1) 고정.
게임/영상에서 캐릭터·카메라가 지날 부드러운 궤적을 제어점 몇 개로 정의한다.