Constraints: Drawing

Common drawing data

The following are common to all types of constraint:

In-frame, out-frame

These data determine whether or not the in-frame and out-frame are drawn, the pen that is used to draw them, and whether or not axis labels are drawn.

Axis label colours

Specifies the colours used to draw axis labels. Different colours can be specified for free, fixed and imposed degrees of freedom.

Calculated constraints

The following drawing data are specific to calculated constraints:

Hide after out-frame release

When checked, the constraint will not be drawn if the out-frame has been released. Otherwise the constraint is always drawn, irrespective of whether or not the out-frame has been released.

Curvilinear constraints

The following drawing data are specific to curvilinear constraints:

Mapping

These data determine whether or not the mapping should be drawn and, if so, the pen that is used to draw it and the diameter of the gridlines (see below) used to represent the mapping in shaded graphics mode. Only the translational part of the mapping will be drawn (i.e. rotations are ignored), and then only if the number of translational degrees of freedom is either one – corresponding to motion along a curve – or two – corresponding to motion on a surface. The curve or surface drawn corresponds to the range of possible translations of the out-frame relative to the in-frame. If there are no free translational degrees of freedom, then the out-frame is fixed relative to the in-frame; if there are three free translational degrees of freedom, then the out-frame can move freely in any direction.

Coordinate drawing data

These data determine the extent of the drawing associated with the mapping. Data are associated to each of the user-specified free coordinates and, for a coordinate $q$, correspond to quantities $q_0$, $q_1$, $\delta q$ and $\Delta q$ (to be defined below) as follows:

In the case of one-dimensional translational motion, the range of possible out-frame motions corresponds to a curve parameterised by the coordinate $q$. This curve is rendered as a series of small straight-line sections between the values $q_0$ and $q_1$, with each section being of length $\delta q$. The further apart the values of $q_0$ and $q_1$, the greater the extent of the curve. The smaller the value of $\delta q$, the smoother the curve will appear on screen, but the longer it could take to render.

In the case of two-dimensional translational motion, the range of possible out-frame motions corresponds to a surface parameterised by two coordinates, $p$ and $q$. This surface is drawn as a series of intersecting gridlines, which either vary $p$ in the range $p_0 \leq p \leq p_1$ (with step size $\delta p$) for some fixed value of $q$; or vary $q$ in the range $q_0 \leq q \leq q_1$ (with step size $\delta q$) for some fixed value of $p$. The spacing between each gridline of constant $p$ is equal to $\Delta p$; the spacing between each gridline of constant $q$ is equal to $\Delta q$.