[UE4] 베지에 곡선(Bezier Curves), 에르밋/허밋 곡선(Hermite Curve), 캣멀롬 스플라인(Catmull-Rom Spline)
🎢 베지에 곡선(Bezier Curves)
![]() |
![]() |
![]() |
![]() |
1차 베지에 곡선 | 2차 베지에 곡선 | 3차 베지에 곡선 | 4차 베지에 곡선 |
베지에 곡선이란 선분 위를 일정 속도로 움직이는 점과 그러한 점과 점을 잇는 또 다른 선분, 그리고 그 위를 일정 속도로 이동하는 또 다른 점 등을 조합해 최종적으로 특징 점이 그리는 궤적을 이용해 곡선을 그려내는 방법을 뜻한다.
🎢 에르밋/허밋 곡선(Hermite Curve)
3차 에르밋 곡선은 3차 베지에 곡선에서 변환 가능한 곡선으로, 4개의 점을 사용하는 대신 두 개의 벡터 U, V를 사용한다.
베지에 곡선의 또 다른 표현 방법으로봐도 무방하다.
🎢 캣멀롬 스플라인(Catmull-Rom Spline)
캣멀롬 스플라인은 포인트와 포인트 사이의 통과하는 포인트를 의미하는 특성을 갖는다.
캣멀롬 스플라인은 에르밋 곡선(Hermite Curve)를 활용하여 더 쉽게 곡선을 그리기 위해 착안된 방안이다.
에르밋 곡선에서 사용했던 U, V 벡터를 어떤 규칙으로 정하여 스플라인을 더 편하게 만들 수 있다.
즉, 시작(U)과 끝(V) 지점의 속도 벡터를 결정하기 위한 특정한 값을 가진 스플라인으로 새로운 스플라인이라기 보다는 3차 에르밋 스플라인을 구현하기 위한 기술이라고 보면 된다.
어떠한 각 지점들을 통과하는 곡선을 구현하려면 캣멀-롬 스플라인이 좋은 방법으로 사용될 수 있다.
캣멀롬 스플라인을 만드는 원리는 다음과 같다.
![]() |
![]() |
![]() |
![]() |
위 그림처럼 순서대로 연결될 A, B, C, D 정점을 U, V 벡터로 각각 이어 3차 캣멀롬 방식 스플라인이 만들어진다.
참조
https://blog.coderifleman.com/2016/12/30/bezier-curves/
중학생도 알 수 있는 베지에 곡선(Bezier Curves)
이 문서는 일본어 문서 「中学生でもわかるベジェ曲線」을 번역한 것으로 곡선을 그리거나 애니메이션 처리에 근간이 되는 베지에 곡선(Bezier Curves)의 원리에 관해서 쉽고 간단하게 소개합니다
blog.coderifleman.com
베지어 곡선 (Bezier Curve)
매개곡선(parametric curve)으로, 수치적으로 안정된 방법은 '드 카스텔죠 (...
blog.naver.com
곡선(Curve) & 스플라인(Spline)
곡선 곡선을 표현하기에 앞서, 두 정점 (A, B) 사이에 있는 점 P를 다음과 같이 표현할 수 있다. 또한 곡선은 t에 대한 방정식(P(t))으로 표현할 수 있다. 베지에 곡선(Bézier Curves) n차 베지에 곡선은 n
tsyang.tistory.com
https://lee-seokhyun.gitbook.io/game-programming/client/easy-mathematics/gdc2012/catmull-rom-splines
캣멀-롬 스플라인(Catmull-Rom Splines) - Game Programming
캣멀-롬 스플라인은 3차 허밋 스플라인에서 시작(U)과 끝(V) 지점의 속도 벡터를 결정하기 위한 특정한 값을 가진 스플라인 입니다. 새로운 스플라인 이라기 보다는 3차 허밋 스플라인을 구현하기
lee-seokhyun.gitbook.io