Parametric Space


Dimensions of Parametric Space

The following section goes through the use of parameter space in combination with one and two-dimensional geometric elements as implemented in GenerativeComponents. The use of parametric space is a very powerful concept as it allows one to specify geometric dependencies in proportional terms that are not depending on absolute distances and magnitudes. For instance a Point specified by T parameter along a Line is using a value between 0 and 1 with 0 being the StartPoint of the Line and 1 corresponding with the EndPoint. This stays true even if the Line increases in length or Start and EndPoint move in space.

T-Parameter

A Line and other types of Curves are one-dimensional geometrical elements parametrically. This has nothing to do with its disposition in 3D Cartesian space but rather relates to the mathematical way of referring to a Curve as an infinite sequence of points, with each possible point in the linear element being referred to with a unique identifier. This identifier is the single parameter “T”. This principle of referring to points on the curve only from within the definition of the curve and therefore stay valid even if the curve is being redefined in 3D Cartesian space through its control points. This is of great advantage in a parametric modeler as changes to the linear geometry are common.

Referring to a point on a curve is accomplished through the parameter “T” which in GenerativeComponents range from 0 to 1 for all curves. 0 equals the start point of the curve and 1 the EndPoint and for linear and circular geometry, all other fraction in between to the proportional distance along the curve. In the section on [[GC - FreeForm Geometry]] there will be a discussion of the consequences of the distribution of the control polygon on the different weighting of distances along the curve with respect to its parameterization. In short, a point at t=0.5 is not necessarily the midpoint by distance measured along the curve. It is depending on the distribution of control points along the control polygon.

For a curve/Line with only two control points the distances on the curve for points defined based on a fraction of the overall length and points defined based on the T value are the same.

In the case of curves defined with more than two control points the fraction of the overall distance of the curve does not necessarily correspond to the Point by a T parameter. That means a point placed at half the length of the curve may not correspond to a point placed at T=0.5.

The Ellipse case is different from the BSplineCurve case as the T parameter is proportional to the angle not the distance on the curve.

In general the distribution of the control polygon points defines the spacing of proportional sections along the curve. If two control points are close together the curve section associated with the part of the curve covers as much of the T parameter span as two other control Points spaced far apart. Therefore the distance along the curve from for instance 0-0.5 T and 0.5-1.0 T is not the same if the control points are not evenly spaced either.

UV-Parameters

Placing a Point by UV parameters on a BSplineSurface.

The UV parameter space can be represented with a rectangular planar surface patch of unit length in U and V where each corner corresponds to a corner in the free form surface and any point in between to a parametrically determined proportional point position in between.

It is important to realize that the midpoint by geodesic distance (distance as measure along the curved surface or curve) does not correspond directly to the parametric midpoint. Only in the case of a straight Line with two control points or a surface patch with four corner control points this is guaranteed. Otherwise the distribution of the control points along the curve influence the parametric increments in absolute length terms. This means if control points are placed close together they still represent the same percentage of the curve as if they were spaced wide apart. If one needs equally spaced points one needs to use another method such as spacing along curve to place points by geodesic distance rather than parameters.

There is an optional input WithinSurfaceBoundaries for the placement of Point.ByUVParameter. It keeps the point within the surface boundaries even for trimmed BSplineSurfaces. Since for a trimmed BSplineSurface the control polygon is still applies to the original entire surface, a point placed by UVParameters will not stay within the perimeters of a trimmed surface if the full range from 0-1 is used. The input allows constraining the values to those of the trimmed surface patch only.

Higher Dimensional Parameters

GenerativeComponents does not currently support three-dimensional parameter space, for instance for specifying a point within a solid, however the geometric concept is generally applicable to any dimension. The concept of parameter space can be used in more general terms as a way of defining geometry with relation to other geometry. This concept is called geometric support in GenerativeComponents.

Parameter Space and the Concept of Geometric Support

In a parametric associative design system like GenerativeComponents a geometric element can be defined with respect to other geometric elements, which are then also referred to as its parents. In some cases the parameter space or geometric context in which an element is defined can be switched. This is accomplished through editing the associative relationships of the Feature.
For example a Point may be defined with a CoordinateSystem as its parent using X, Y, Z coordinates to locate it in space. Editing its parent relationships or “switching support” may redefine it as a point defined with respect to a Line, using a T-Parameter value to specify its location on the Line.

“Switching the support” of a point, in this case changing its reference to the Cartesian coordinate system to a reference of Line as its parameter space. Therefore the number of parameters required is reduced from three, X,Y,Z to one, T, because there is only one degree of freedom when referring to points along a Line.