Here the extension e2 denotes the second end point of the line and on is a binary function which returns the distance between two geometric objects; in the case of points this is zero when they coincide。
The system finds the solution in part (b) of Fig。 5, when the con- straint is resolved allowing the angles of the two lines to vary (and keeping the crank fixed)。 This is starting from the configuration shown in part (a)。 There is of course another solution as shown in part (c)。 If this is the one that is desired, then either the two lines need to be rotated ‘‘close’’ to this configuration before the search is made, or additional constraints imposed to disallow the other solution。
3。Transforms
This section describes how a description of the geometry of the original carton net is used to create a simulation of the erection process。 The description of the net is as a collection of points and faces supplied in a data file。 This file is processed by a stand-alone pre-processor program to create commands for the constraint modelling environment。 It is within this that the simulation is performed。
Each point represents the vertex of one of the face panels。 It is labelled with a name and its coordinates are specified using a suitable coordinate frame for the net。 Each face is specified as the sequence of points around it (in an anticlockwise sense)。 The pre-processor program needs to determine the hierarchy of the faces corresponding to the spanning tree of the face graph that is to be used。 This can be done automatically by declaring within the data file which edges have been cut and which remain; this gives sufficient information for the pre-processor to determine the hierarchy。 It can also be achieved, more simply, by tagging each face with a reference to the next face in the hierarchy。 The base face is used as the root node of the hierarchy。
The pre-processor program generates commands to create lines representing the boundary of each face。 Each internal line is created twice: once for each face in which it lies。 For convenience, call the ‘‘joining edge’’ of a face that edge which is common to it and the next face in the hierarchy nearer to the base。 The lines are created in a local coordinate system for the face。 This is chosen so that its joining edge forms the local x-axis。 Fig。 6 shows two
adjacent faces f and F with f being nearer to the base。 The local
coordinates for face F use point (X0, Y0) as the origin, with the x-axis going towards point (X1, Y1)。 If the typical point in face F has coordinates (X, Y ) with respect to the frame of the net, these can be expressed as a column vector of homogeneous coordinates
[X, Y , 0, 1]T 。 Then transforming by pre-multiplying by the matrix
cos β sin β 0 −X0 cos β − Y0 sin β
− sin β cos β 0 X0 sin β − Y0 cos β
0 0 1 0
0 0 0 1
Fig。 6。 Transforms between two adjacent panel faces。
where β is the angle between the joining edge and the global x- axis, has the effect of transforming the point to the local coordi- nates of the face。
As noted previously, the edges of the face graph can be regarded as transforms which relate one face to the next。 For simplicity, the pre-processor sets up two transforms to be used one after another。 A similar technique is used in [40]。 Within the commands for the constraint modeller, this means creating two model spaces, one embedded in the other。 The first transform that is applied is a rotation about the x-axis。 Since locally this axis is the edge joining to the next face, this transform represents folding of the crease。