Synopsis - Paths

# Namespace Paths

Class templates Summary:
template <size_t Order>
class Bezier
The Bezier class.
template <size_t Order>
class Nurbs

The Nurbs class.

Classes Summary:
class Polyline
The Polyline class.
Class templates Details:
template <size_t Order>
class Bezier
The Bezier class. It implements a Bezier curve for the given order.
template <size_t Order>
class Nurbs

The Nurbs class. It implements a nurbs curve for the given order. It is a very powerful and flexible curve representation. For simpler cases you may prefer to use a Bezier curve.

While non-rational curves are not sufficient to represent a circle, this is one of many sets of NURBS control points for an almost uniformly parameterized circle:

x | y | weight
--- | --- | ---
1 | 0 | 1
1 | 1 | sqrt(2)/2
0 | 1 | 1
-1 | 1 | sqrt(2)/2
-1 | 0 | 1
-1 | -1 | sqrt(2)/2
0 | -1 | 1
1 | -1 | sqrt(2)/2
1 | 0 | 1

The order is three, the knot vector is {0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4}. It should be noted that the circle is composed of four quarter circles, tied together with double knots. Although double knots in a third order NURBS curve would normally result in loss of continuity in the first derivative, the control points are positioned in such a way that the first derivative is continuous. (From Wikipedia )

Example:

    Nurbs<3> circle;
    circle.insert_control_point(0, Vertex(1., 0.), 1.);
    circle.insert_control_point(0, Vertex(1., 1.), sqrt(2.)/2.);
    ...

Classes Details:
class Polyline
The Polyline class. It is an ordered set of connected line segments.
Generated on Fri Apr 17 08:48:05 2009 by
synopsis (version devel)