B\'ezier curves provide the basic building blocks of graphic design in 2D. In this paper, we port B\'ezier curves to manifolds. We support the interactive drawing and editing of B\'ezier splines on manifold meshes with millions of triangles, by relying on just repeated manifold averages. We show that direct extensions of the De Casteljau and Bernstein evaluation algorithms to the manifold setting are fragile, and prone to discontinuities when control polygons become large. Conversely, approaches based on subdivision are robust and can be implemented efficiently. We define B\'ezier curves on manifolds, by extending both the recursive De Casteljau bisection and a new open-uniform Lane-Riesenfeld subdivision scheme, which provide curves with different degrees of smoothness. For both schemes, we present algorithms for curve tracing, point evaluation, and point insertion. We test our algorithms for robustness and performance on all watertight, manifold, models from the Thingi10k repository, without any pre-processing and with random control points. For interactive editing, we port all the basic user interface interactions found in 2D tools directly to the mesh. We also support mapping complex SVG drawings to the mesh and their interactive editing.
翻译:B\'ezier 曲线提供了 2D 中图形设计的基本构件。 在本文中, 我们将 B\' ezier 曲线移植到多个形体上。 我们支持在多个三角体的多层间贝上交互绘制和编辑 B\\'ezier 样板, 依靠的是重复的多层平均值。 我们显示De Casteljeau 和 Bernstein 评估算法直接延伸到多层环境是脆弱的, 当控制多边形变大时容易出现不连续性。 相反, 基于子部位的方法是稳健的, 并且可以高效地执行。 我们定义了多层的 B\'ezier 曲线, 我们延长了De Casteljeau 双部的循环和新的开放式的 Lane- Riesenfeld 亚形线线条线条线, 提供了不同程度的曲线。 对于这两个图案, 我们提出了曲线追踪、 点评估和插入的算法。 我们测试了我们的算法, 在所有水深处、 多重、 模型上, 从 Thingi10k 仓库中, 我们不加任何预处理, 并使用随机控制点点点点, 我们定义了 B' 的曲线, 我们把所有用户基本界面的界面都连接连接到交互式编辑。