NURBS circle without all the double knots? I've been looking at various examples of a circle parametrized as a degree-2 NURBS
curve, e.g.:


*

*NURBS circle example on wikipedia

*Philip Schneider's "NURB Curves: A Guide for the Uninitiated"

*David Eberly's "Representing a Circle or a Sphere with NURBS"
Each of these examples represents the circle in sections (arcs) delimited by double knots;
that is, at each transition from one section to the next, two control points
are discarded, while another two control points come into play.
That seems a bit heavy-handed.  I was wondering, is there a way to express
a circle as a degree-2 NURBS curve using only single knots?  That is, at each intermediate knot, only one control point is discarded, while another single control point comes into play.
 A: A rational quadratic Bezier curve can only represent a circular arc of angular span up to 180 degree (but not including 180 degree) without using negative weight. This is the reason that you need to use multiple rational quadratic Bezier curves for representing a full circle (or any circular arc with angular span >= 180 degree) and therefore the double knots happen for interior knots. 
A: You can represent a circular arc as a rational quadratic b-spline with positive weights and single knots provided its angular span is less than $360$ degrees. If the angular span is $< 180$ degrees, it's easy -- just use a Bézier curve. If the angle is $\ge 180$ degrees, take the Bézier representation (which will have a negative weight), and add a single interior knot using Boehm's algorithm. The weights of the resulting curve will all be positive.
An example for a semi-circle (angle $=180$):   


*

*Control points: $(1,0), (1,1), (-1,1), (-1,0)$   

*Weights: $1, \tfrac12, \tfrac12, 1$   

*Knots: $0,0,0, \tfrac12, 1,1,1$
Note that the resulting curve is $C^\infty$, considered either as a mapping into $\mathbb{R}^3$ or $\mathbb{R}^4$. To see why, recall that we started out with a single segment, which is obviously $C^\infty$, and adding a knot does not change this.
