1

I have a 3D model data "model.dae" written in COLLADA format. I want to convert this file into three SVG files "model-front.svg", "model-top.svg", "model-left.svg", which is some kind of geometry in orthographic projection.

This may be simply done if there are only polygons in 3D model, but my 3D model data also contains NURBS curves. NURBS to polygon conversion might approximately solve it, but it will be much better if NURBS curves can be converted directly into a set of Bezier curves, because I'm looking forward to using the converted SVG files in web-browser based applications, where smaller files are better to distribute.

How can NURBS curves be converted to a set of Bezier curves?

Peter O.
  • 32,158
  • 14
  • 82
  • 96
Izumi Kawashima
  • 1,197
  • 11
  • 25
  • You shall read this article, http://www.codeproject.com/Articles/996281/NURBS-crve-made-easy; there are algorithms to convert NURBS to Bezier curve sets written by the author. – Grin Jul 08 '15 at 01:10

1 Answers1

0

The NURBS of a certain order can only be transformed to Bezier curves of the same order and .svg only handles Bezier curves of up to order 4. If your NURBS do not exceed order 4, you have to calculate the locations of their knots and the Velocity vectors (derivatives) at these knots, with them you form the Bezier curves whose ends are located precisely at those knots and whose handles correspond to one third of the corresponding speed vectors.