하이퍼베지어 곡선: 큐빅 베지어를 대체할 새로운 곡선 패밀리
The mathematical beauty of hyperbezier curves
Raph Levien이 제안하는 하이퍼베지어 곡선은 큐빅 베지어보다 부드러운 곡률 변화와 높은 장력 영역을 모두 표현할 수 있는 곡선 패밀리입니다. 이 곡선은 오일러 나선, 원호, 쌍곡선, 초타원 등을 정확히 또는 매우 근사하게 표현할 수 있으며, 큐빅 베지어보다 우수한 곡선 피팅 성능을 보입니다. 저자는 이 곡선이 2D 벡터 그래픽 디자인에서 큐빅 베지어를 대체할 강력한 후보라고 주장합니다.
이 곡선은 특히 작은 각도에서 큐빅 베지어와 놀랍도록 유사하게 동작하지만, 한계에 도달하면 매우 다른 특성을 보입니다.
HN 토론
42- momojo
저는 베지어 곡선을 사랑합니다. 커뮤니티 칼리지에서 처음으로 스스로 더 연구하고 싶게 만든 주제를 만났죠. 제 핵심 기억 중 하나는 집안의 다른 사람들이 모두 잠든 밤에 2015년 맥북 프로로 여러 밤을 고생하며, 조잡한 p5.js 코드를 쓰고 브라우저 새로고침을 반복하다가, 갑자기 제어점에서 아름다운 곡선이 피어나는 것을 보기 시작한 것입니다.
방금 전에 옛 자료[0]를 찾아보러 갔는데, 이 글이 거의 10년 전이라는 게 믿기지 않네요. 이 사람의 설명과 애니메이션은 당시 구글 검색으로 찾을 수 있었던 어떤 자료보다 훨씬 뛰어났습니다.
- dahart
그래서 Raph, 이걸 어떻게 그리나요? 곡률이나 접선(맞나?) 각도의 방정식이 주어졌을 때 정확히 어디서 시작해야 할지 모르겠습니다. 펜 도구 링크는 '자동 점'을 언급하는데, 어떤 제약이 있는 베지어 세분화 같은 느낌인데, 맞나요? 그리고 기사에서 수학의 일부를 수정했다고 언급하셨는데, 그러면 펜 도구와는 조금 다르고 자동 점을 사용하지 않는 건가요?
데모를 가지고 놀아보면, 특정 구성에서 곡선이 잠기고 제어점 중 하나를 드래그해도 움직이지 않는 것을 볼 수 있습니다. 이것은 일시적이거나 수치적 안정성 문제인가요, 아니면 하이퍼베지어 곡선의 속성인가요? 예를 들어 제어점을 정사각형으로 배치하고 P0이 왼쪽 아래, C1이 오른쪽 아래, C2가 왼쪽 위, P3가 오른쪽 위일 때, C1을 오른쪽으로 드래그하면 모양이 빠르게 잠깁니다. 대충 보면 P0C1의 길이가 C2P3의 길이의 약 1.5배일 때인 것 같습니다. C1을 더 오른쪽이나 위아래로 움직이면, C1을 움직여도 곡선 모양에 영향을 주지 않는 큰 영역이 있습니다.
P/C 명명에 대해서도 약간 궁금합니다. P[03]이 점이고 C[12]가 접선 벡터와 비슷한 에르미트 같은 아이디어인가요? 왜 P[0123]을 사용하지 않나요?
아마 한 가지 분명히 언급할 가치가 있는 것은 - 베지어는 확실히 매우 다재다능하지만, 인기 있는 이유 중 하나는 수학이 너무 단순하기 때문이라고 말해야 하지 않나요? 선형 단계로 분해할 수 있고, 정수 지수, 단지 몇 번의 곱셈만으로...
- krtkush
관련: 작년에 저는 앱을 만들면서 매우 특정한 UI를 위해 베지어 곡선을 작업할 기회가 있었습니다.
제가 그 UI를 어떻게 구현했는지에 대한 글을 여러 개 썼는데, 주로 미래의 나에게 과정을 설명하기 위한 것이었습니다[0].
모바일 개발자로서 CRUD 앱을 만드는 것 외에 다른 일을 하는 것이 정말 재미있었습니다.
[0] https://www.krtkush.com/computer-graphics-basics-with-compos...
- dcrazy
예제를 가지고 놀아보면, 제어점이 전통적인 큐빅 베지어보다 더 직관적으로 느껴지지 않습니다. 여전히 끝점 근처에서 짜증나는 동작을 보이지만, 전통적인 큐빅처럼 '폭발'하는 경향은 없습니다.
저자는 자신의 솔루션을 B-스플라인이나 Catmull-Rom 스플라인 같은 다른 스플라인과 비교하려 하지 않는다는 점이 궁금합니다. 그들이 컴퓨터 그래픽과 CAD에서 널리 사용되는 것을 고려할 때 말이죠.
- diabllicseagull
베지어가 대중화된 큰 이유 중 하나는 로컬 지원, 즉 제어점을 움직이면 같은 방향으로 예상되는 변화가 일어난다는 점이었습니다. '큐빅 베지어보다 인터랙티브 디자인에 더 적합한 곡선 패밀리'를 찾는 검색의 결과로 이것이 나온 것은 흥미롭습니다. 곡률 변화 측면에서 곡선 품질을 달성하는 데는 더 좋다고 생각하지만, 인터랙티브성 측면에서는 그다지 좋지 않습니다.