1

我有一个以 COLLADA 格式编写的 3D 模型数据“model.dae”。我想将此文件转换为三个 SVG 文件“model-front.svg”、“model-top.svg”、“model-left.svg”,这是正交投影中的某种几何图形。

如果 3D 模型中只有多边形,这可能很简单,但我的 3D 模型数据也包含 NURBS 曲线。NURBS 到多边形的转换可能会大致解决它,但如果 NURBS 曲线可以直接转换为一组 Bezier 曲线会更好,因为我期待在基于 Web 浏览器的应用程序中使用转换后的 SVG 文件,其中更小文件更好地分发。

如何将 NURBS 曲线转换为一组贝塞尔曲线?

4

1 回答 1

0

特定阶数的 NURBS 只能转换为相同阶数的贝塞尔曲线,.svg 只能处理最高 4 阶的贝塞尔曲线。如果您的 NURBS 不超过 4 阶数,则必须计算其节点的位置和这些节点处的速度矢量(导数),您可以使用它们形成贝塞尔曲线,其末端精确位于这些节点处,并且其手柄对应于相应速度矢量的三分之一。

于 2021-09-20T04:17:51.190 回答