Control Point Weight

Non Uniform Rational B-Spline (NURB) surfaces have an additional shape control parameter, called a weighting value, available at each control point. In Maxsurf, the weighting value is shown in the last column of the Control Point window.

 

This section explains the effect of changing the weight of control points and gives some examples where the weight of a control point is used to achieve a specific shape such as Circular Arcs)

Control Point Weight Concept

When a control point has its weighting value increased, the surface, in the vicinity of that control point, will be attracted towards the control point. Conversely, a decrease in the weighting value will result in the surface being pushed away from that control point:

 

Effect of increasing / decreasing the weight of the middle control point.

This is even true to the extent that a negative value will give a curve that balloons outward from the polygon of control points:

 

Negative control point weight

Note:

In general you should only use weighting values to exactly model a conic curve. It is not usually a good idea to use the weighting value to control the shape of free form curves.

Circular Arcs

The primary use for the weighting values in a NURB surface is to allow you to create true arcs of circles and ellipses. There are two standard formulations for these curves, one using three control points and Order 3 (quadratic) stiffness, and one using four control points and Order 4 (cubic) stiffness. In both cases, there is an equation that describes what the weighting value should be, based on the angle of the arc.

 

Note that when a surface is defined as a conic, Maxsurf only automatically computes the control point weights correctly for three-point-forms. Weights will be incorrect for four-point-forms and you must change the surface type to NURB so that you can enter the weights manually.

 

For the three point case, the distances between control points are kept equal and the weighting value for the centre point is set to

w = COS (q/2)

where q is the included angle of the arc.

 

For example for a 90° arc,

w = COS 45° = 0.7071.

For a 45° arc,

w = COS 22.5° = 0.9239.

 

The four point form again has the control points forming an equally spaced polygon around the curve. In this case, the equation for the weighting value is

w = (1 + 2 Cos (q/2) ) / 3

where q is the included angle of the arc.

 

For example, for a 90° arc,

w = (1 + 2 (Cos 45°))/3 = 0.804738

For a 180° arc,

w = (1 + 2 (Cos 90°))/3 = 0.3333'

The three point form of circular arc can be used for any arc from 0° to 180°. However, as the angle approaches 180°, the weighting value approaches 0 and the position of the centre control point approaches infinity. It is best applied to arcs between 0° and 90°.

 

The four point form has a more complex equation for the weighting values, but is an elegant form for 180° arcs. It is best used for arcs between 90° and 180°

 

Elliptical Arcs

NURBS can represent elliptical as well as circular arcs simply by stretching the control point polygon in a linear fashion.

When this is done the weighting values remain the same as those for the circular arc on which the ellipse is based.

Circular and Elliptical Surfaces

The extension of the NURB curve to the surface allows cylinders, spheres, cones etc. to be modelled exactly. For a cylinder or cone, one row is set to the weighting value required for the arc.

In the case of a toroidal or spherical surface where curvature runs in both directions on the surface, the weighting values are set as follows:

The central control point has its weighting value set to the product of the weighting values of the row and column that intersect it. In this case 0.7071 x 0.7071 = 0.5.

By combining these surfaces, it is possible to build up complex designs made up of true circular and elliptical segments, such as a submarine. The submarine example is in the Sample Designs folder, which comes with Maxsurf. (Maxsurf\Sample Designs\Naval\Submarine\Submarine.msd)