English

Fast subdivision of B\'{e}zier curves

Graphics 2026-05-01 v2 Numerical Analysis Numerical Analysis

Abstract

It is well-known that a dd-dimensional polynomial B\'{e}zier curve of degree nn can be subdivided into two segments using the famous de Casteljau algorithm in O(dn2)O(dn^2) time. Can this problem be solved more efficiently? In this paper, we show that it is possible to do this in O(dnlogn)O(dn\log{n}) time using the fast Fourier transform and its inverse. Experiments show that the direct application of the new method performs well only for small values of nn, as the algorithm is numerically unstable. However, a slightly modified version -- which still has O(dnlogn)O(dn\log{n}) computational complexity -- offers good numerical quality, which is confirmed by numerical experiments conducted in \textsf{Python}. Moreover, the new method has a nice property: if a B\'{e}zier curve is extended by an additional control point, the subdivision can be updated in O(d)O(d) time. A similar idea can be applied to speed up the subdivision of rational B\'{e}zier curves and rectangular B\'{e}zier surfaces, as well as to compute the derivatives of B\'{e}zier curves more efficiently.

Keywords

Cite

@article{arxiv.2509.15691,
  title  = {Fast subdivision of B\'{e}zier curves},
  author = {Paweł Woźny and Filip Chudy},
  journal= {arXiv preprint arXiv:2509.15691},
  year   = {2026}
}