## Constraints: Drawing |

The following are common to all types of constraint:

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.

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

The following drawing data are specific to calculated constraints:

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.

The following drawing data are specific to curvilinear constraints:

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.

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:

**From**: $q_0$**To**: $q_1$**Step**: $\delta q$**Grid size**: $\Delta q$

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$.