Previous Next Up Title Contents Index Top Library

5.15. NON-UNIFORM B-SPLINE CURVE

NON UNIFORM B-SPLINE CURVE AND NON UNIFORM B-SPLINE CURVE WITH COLOR define a non uniform B-spline curve of a specified range of a single independent parameter. The curve is specified by its order, its rationality, a list of control points in modelling coordinates and a list of knots in the one-dimensional parameter space. Either a rational or a non-rational B-spline curve can be specified. The extreme values of the knots specify the curve's parameter range. Parameter range limits that limit the parameter range over which the independent variable is evaluated and the B-spline curve is generated can be specified. A B-spline curve is defined as a mapping from a bounded one-dimensional parameter space into a set of points that compose the curve :

C (t) = (1)

where,

C(t) is the curve,

the Pi are the n control points ;

Bi,k(t) is the i-th B-spline basis function of order k

t is the parameter, tk <= t <= tn+1

The B-spline basis functions are determined by the other k and a knot vector, {tj} where the sequence tj is non-decreasing. The parameter range is defined by the knot values tk and tn+1 and defines the bounds of the parameter space domain over which the curve is defined. The B-spline basis functions are defined by the recursion formula : Bi,l (t) = (2)

Bi,l (t) =

The terms and may produce the indeterminate quantity when multiple identical knots values are specified. In this case the terms are defined to be 0.

The curve is said to be uniform if there exists a real number, [delta] such that tj+1 - tj = [delta] for all j such that

k <= j <= n ; otherwise the curve is said to be non-uniform.

A non-rational non-uniform B-spline curve output primitive is generated by applying equation 1 above to a set of modelling coordinate points Pi = (xi, yi, zi).

A rational B-spline curve is defined as a mapping from a bounded one-dimensional parameter space into a set of homogeneous points :

Ch(t) = (3)

where Phi = (wiqi, wiri, , wi). The projection of Ch (t) into non-homogeneous coordinates is achieved by dividing all the curve's coordinates by the last coordinate, w.

A rational non-uniform B-spline curve output primitive is generated by applying equation 3 to a set of homogeneous modelling coordinate points Phi = (wixi, wiyi, wizi, wi), and projecting the resulting points to three-dimensional modelling coordinates.

In both the rational and non-rational cases the curves generated by GPHIGS is the result of mapping a portion of the curve's parameter range to modelling coordinates. The portion to map is indicated by parameter range limits specified with the structure element. The curve is mapped only within and at the parameter range limits, and this portion constitutes the geometry of the curve for the purposes of display, picking and incremental spatial search. The parameter range limits shall be within the specified parameter range of the curve.

Conceptually, a non-uniform B-spline curve is rendered by evaluating a number of sample points on or near the curve. If the density of sample points is finer than the resolution of the display surface, displaying the sample points themselves will produce a complete rendering of the curve. Alternatively, adjacent sample points may be joined by straight lines that are then displayed. The density of the sample points is controlled by the curve approximation criteria.

The attributes for these functions are those of the POLYLINE functions plus the CURVE APPROXIMATION CRITERIA

CURVE APPROXIMATION CRITERIA

SET CURVE APPROXIMATION CRITERIA defines the minimum quality desired for the approximation of the curve's geometry . It provides an indication of the degree of approximation tolerable and the relative importance of image quality versus rendering speed. Specification of lower relative approximation quality is intended to produce relatively lower quality approximations at relatively higher speeds. Specification of higher relative approximation quality is intended to produce higher quality approximations at possibly lower speeds. Implementations may produce a higher quality approximation than that requested. Approximation of the curve shall not introduce any gaps, holes or other visible spatial discontinuities.

An approximation criteria consists of a type and a data record. The data record contains information specific to the type and is generally unique for each type. The defined Curve approximation criteria types are :

WORKSTATION DEPENDENT : a workstation dependent approximation criteria is used. There are no data record contents for this type.

CONSTANT PARAMETRIC SUBDIVISION BETWEEN KNOTS : sample points are at equal parameter increments between each pair of curve's knots. the data record contains a single integer values that indicates the minimum number of sample points between each pair of knots. The value is interpreted as follows :

<= 0 Sample points are at the parameter range limits and at the knots within the parameter range limits.

> 0 Sample points are at the parameter range limits and at the knots within the parameter range limits. In addition, sample points are at this number of positions between each pair of knots, but only if the position is within the parameter range limits.

CHORDAL SIZE in WC : Generate at least sufficient sample points such that the length in World coordinates of every line segment (chord) between the sample points is less than a specified real approximation value. The data record contains the single approximation value.

CHORDAL SIZE in NPC : Generate at least sufficient sample points such that the length in Normalized projection Coordinates of every line segment (chord) between the sample points is less than a specified real approximation value. The data record contains the single approximation value.

CHORDAL SIZE in DC : Generate at least sufficient sample points such that the length in Device Coordinates of every line segment (chord) between the sample points is less than a specified real approximation value. The data record contains the single approximation value.

CHORDAL DEVIATION in WC : Generate at least sufficient sample points such that the absolute value of the maximum deviation measured in World Coordinates between the curve and line segments (chord) between sample points is less than a specified real approximation value. The data record contains the single approximation value.

CHORDAL DEVIATION in NPC : Generate at least sufficient sample points such that the absolute value of the maximum deviation measured in Normalized Projection Coordinates between the curve and line segments (chord) between sample points is less than a specified real approximation value. The data record contains the single approximation value.

CHORDAL DEVIATION in DC : Generate at least sufficient sample points such that the absolute value of the maximum deviation measured in Device Coordinates between the curve and line segments (chord) between sample points is less than a specified real approximation value. The data record contains the single approximation value.

RELATIVE in WC : A single real approximation value between 0 and 1 indicates a relative quality of rendering to be maintained independent of scaling in world coordinates. Higher values specify a better relative quality. The data record contains the approximation value.

RELATIVE in NPC : A single real approximation value between 0 and 1 indicates a relative quality of rendering to be maintained independent of scaling in Normalized Projection Coordinates. Higher values specify a better relative quality. The data record contains the approximation value.

RELATIVE in DC : A single real approximation value between 0 and 1 indicates a relative quality of rendering to be maintained independent of scaling in Device Coordinates. Higher values specify a better relative quality. The data record contains the approximation value.

It is not intended that there be any correspondence between the approximations produced by different approximation criteria types. For example, the set of all possible approximations achievable by CHORDAL SIZE in WC may be disjoint from the set of all possible approximations achievable by RELATIVE in WC.


Previous Next Up Title Contents Index Top Library