Design. Vol 27. No 2, pp. 129-137. 1995 Copynght m%J 1995 Elsewer Science Ltd PrInted in Great Britain All rights reserved col&4485/95 $10.00+0 w
Computer-AIded
Planar rational motions Michael
B-spline
G Wagner
Nonuniform rational B-spline (NURBS) curves and their associated techniques are of major importance in computer aided geometric design. The paper discusses planar rational B-spline motions. These are planar motions in which all point paths are NURBS curves. Such motions are connected with a linear control structure, which can be used to apply algorithms developed for the design of curves and surfaces directly to the design of planar motions. The first part of the paper gives a brief introduction to plane kinematics and the theory of kinematic mappings. Rational motions and the application of the corresponding control structures are discussed in detail. The second part of the paper presents a C2 interpolation scheme with rational motions of degree 4, which is the minimum degree for motions which have positions with vanishing angular velocity. Keywords: motions,
NURRS
allows the direct application of the whole variety of B-spline techniques to the design of planar motions, for example for the computation of collision tests, the handling of trajectories of points, and the calculation of the areas that are traced out by moving figures.
PLANAR
RATIONAL
MOTIONS
The first part of this section of the paper presents a brief introduction to plane kinematics. For more detailed information on kinematics, the reader is referred to Reference 1. An introduction to the theory of B-splines and NURBS curves, which is omitted here, can be found in the standard textbooks of Farin and Hoschek and Lasser6.
curves, kinematic mapping
Plane kinematics In recent years, the design of motions with the use of methods which were developed for the design of curves and surfaces has been a subject of increasing interest. Particularly in the fields of computer animation and robotics, it is of fundamental importance to deal with the construction of smooth motion interpolants or the approximation of motions. The most useful tools to handle problems concerning motion design are kinematic mappings. These are mappings which map a position of the moving space to a point in an appropriate kinematic image space. Such mappings are traditional in theoretical kinematics’. Among the first researchers who introduced this technique to computer aided geometric design (CAGD) are Shoemake’, and Ge and Ravani3, who used kinematic mappings for the design of spatial motions. This paper presents methods for the design of planar motions with the use of two different kinematic mappings. The motion splines used have a linear control structure, analogously to the comtrol polygon of a rational B-spline curve. This kind of control structure was first introduced by Pottmann and Wagner4 for helix spline motions. It
Consider two Euclidean planes, the fifixeu’ plune lE* and the moving plane f*, each of them associated with a Cartesian coordinate system. To simplify notations, points are described with the help of homogeneous coordinates. The homogeneous coordinate vector p = (po, pl, p2)T of a point P in IE2is defined by the relation po:p1:p2
= l:x,:y,
where p = (x,, yJT are the Cartesian coordinates in IE’. The coordinate p0 # 0 is often called the weighr of P. Analogously, i, = (&, fil, @JT are the homogeneous coordinates of a point in c2. For simplicity, the points are identified with their homogeneous coordinate vectors. Nevertheless, note that the coordinate vectors p and Ap describe the same point for any real value ;I # 0. The plane f2 is assumed to result from [E*by a planar displacement D. Such a displacement is described by a real matrix
Puper receirrd~ 26 Fehruq
Wien,
1994. Reuised: 9 September 1994
0
UO
D=
u1 u,cosb u2
lnstitut fiir Geometric, Technische Universitat Hauptstrasse 8-10/l 13, A-1040 Wien, Austria
(1)
u.
sin d,
0
’
-u,sin$
UlJ # 0
(2)
ug cos 4 )
Wiedner
Here, 4 is the angle between the reference frames of [E* and IE*.The coordinates p of a point i, in c2 result from
Computer-Aided
Design
Volume
27 Number
2 February
1995
129
Planar
rational
B-spltne
motions:
M G Wagner
d’ = (d’,, d;, d;, d>)’ in 3D projective
.I pomt with Df., =
(C’,,.(‘1. (‘2. ~_(‘(Ictg (4i2))’
Q) # 0
(0. .\‘U.--X”, 2)’
4 = (1
space
[la’
(6)
Vote that points d‘ in P” are described with the help of homogeneous coordinates similar to the points in iE2and 7’. Inserting Equation 4 in Equation 6 finally yields 2 sin (4 ‘2)
/ D,
= s
the linear
\
.Y,,sin (4l’2) - J‘,,cos (4/2) xu cos (&2) + y,, sin (d/2)
i
(7) 1
transforrnatlon an! (i, E R. This kinematic mapping was introduced by Blaschke and Griinwald’. It defines a correspondence between the positions of E2 and the points in P3. Clearly, ‘I continuous motion corresponds to a continuous curve in P”. Moreover one can prove that a continuous rotation or translation corresponds to a straight line in P” and i iCY,/‘(‘I’.VN. For any point d’ = (dh. d‘,. d;, II;)’ E P3 with d’O7_ + tl;’ # 0. the corresponding position D is given by ior
p is called the p~vitio77 of i, under the D. Obviously, II = (u,,, ~1,.u,)’ is the position of the origin U of the reference frame of &’ (cf. ~;~/zNc, II. The matrices D and LD describe the same lineal transformation as that in Expression 3 for any real value i. # 0. However. the displacement D is identified with the position of the moving plane p”. Analogously to points. the real value 1~~# 0 is called the 1t~4ght ofthe position D. A continuous 1-parameter set of positions of g’ defines a 777otion M(t), where the parameter r is assumed to bc the time. The curve p(r) = M(t). fi is the ttxjcvrot:r of the point $E L?‘. A motion M(t) is usually given by the trajectory u(t) of 1: and the function rb = c/j(t). If the element functions of M(/) are polynomials of maximum degree /L the motion M(f) is called a r.rrfiottrrl7~7o~io7r of degree li. In this case all tra_jectories are rational curve\ of maximum degree I, This paper deals with ~~CJWII~~.W rational motions 01 degree li, which are motions built of rational motion segments with maximum degree k. The
point
displacement
Classical plane kinematic
mapping
An elegant way to handle problems relating to planar motions is to apply the so-called c~lrr.v.sic~rrl~lut~~~ kitwnttr~ic ntupp@q. Consider an arbitrary position D of the moving plane E’. There exists a unique Euclidean transformation which maps the reference frame of IF’ to the reference frame oft’. For sin (4) /2) # 0 this is a rotation with centre
and angle 4. If sin ($ 3) = 0 one gets a translation the displacement vector
(~nlj points on the line t/i, = (1; = 0 at infinity have no preimage under I-,. This line is called the uhsolutr line of 1: 1 Owing to the relationships in Equations 7 and 8, there c‘~1st.s a one to one correspondence between rational motions and rational curves in the kinematic image space. F‘or a rational curve m’(t)E P” of degree k, the degree of the corresponding motion M(t) depends on algebraic properties of m’(f). It can be calculated with the formulae derived by Chen et ul.‘. Here we just use the important property that every piecewise rational curve in P3, e.g. eberq NUKBS curve, can be obtained as the kinematic image of a piecewise rational motion. &t?z& /; The kinematic image space P3 is connected bith a certain nonEuclidean metric. The corresponding nonEuclidean motions in P” are called yuasidlipric twuions and result from coordinate transformations in ‘?’ and E’. P” is called a yuusielliptic spucc~. In this space, the qtrrrsic~llip~ic~ distunce d, of two points d’,, d’, E P3 is given by d,(d;,d‘A) = (d, - 4z)/2, where 41 and 42 are the angles of d; and d’, from Equation 77.9.
with Control structure of planar rational motions
15)
I:\er>; piecewise rational motion of degree k’ can dcscnbed by a matrix valued B-spline function
(cf. Fkguw I). In both cases these transformations can be used to define a mapping r,. which maps the position D to
130
Computer-Aided
Design
Volume
27 Number
2 February
M(r) = f
,- 0
1995
N,,#)E,
r E I = [u, h]
be
(9)
Planar
where the NJt) denote the usual B-spline basis functions of order k = k’ + 1 defined over an appropriate knot vector T. The motion in Equation 9 is called a planar rational B-spline motion of order k. For example, such a motion results from Equation 8 by taking a NURBS curve me(t) in P3. Here the coefficient matrices Ei, as well as the knot vector T of M(t), have to be calculated by applying product formulae for B-spline basis functions” to Equation 8. Since M(t,) is the planar displacement in Equation 2 for all t, E I, the m + 1 constant matrices Ei have the form
with weights M”~,~.Obviously, fin f2 is the NURBS curve p(t) = M(t).B = ~ j=O
the trajectory
rational
B-spline
motions:
M G Wagner
(4
of a point
Nj,k(t)Pj = ~ Nj,k(t)Ej.@
tEl
j=O
(11) with control points pi = Ei. fi and weights Wi,o(i = 0, ., m). In order to also provide fundamental properties of NURBS curves for planar rational B-spline motions, it is necessary to restrict the case to motions, in which the weights wi,o are positive. Hence, the weight of any position of f2 is positive for such a motion. For sf + ~2 = 1 only, the matrix Ei represents a position of the moving plane E2. In general it describes an equlform displacement, which is a similarity with a positive determinant. The control points pi of the trajectory of a point i)~ c2 are obtained as the image of j3 under the equiform transformations defined by the matrices Ei. They are called the equiform controlpositions of the point fi. Analogously, the displacements Ei are called the equzform control positions of the moving plane p2. For any moving figure F, the figures Fi formed by the control positions of its points are called the equiform control positions of F. They are similar to 9 (cf. Figure 2).
Figure 3 Moving triangle; (a) control structure of moving triangle and area that is traced out by triangle, (b) convex hull after one subdivision, (c) convex hull after two subdivisions
Figure 2 shows an example of such a control structure of a moving triangle 9. In Figure 2, the weights are illustrated with the help of so-called weight positions, which are analogous to the weight points for NURBS curves introduced by Farin’. These positions are defined by the matrices Fi =Ei +Ei+l, i= O,..,,m1. The weight positions fi = Fi. fi of a point fi divide the edges of the control polygon of its trajectory by the ratio of the neighbouring weights. Obviously, the weight positions of the triangle 9 are similar to 9. Remark 2: The kinematic image m’(t) of the motion in Equation 9 is a NURBS curve and therefore connected with a control polygon in P3. This second control structure is nonlinear in [E2,since the edges of the control polygon correspond to continuous rotations which map one control position to the next. Hence, its main applications are calculations in the kinematic image space P3. On the other hand, the linear control structure introduced above can be used for calculations directly in IE’. For example, it is possible to calculate intersection points of trajectories with the corresponding standard algorithm for rational B-spline curves. Since the weights wi,o are assumed to be positive, the trajectory of any point fi lies in the convex hull of its control positions. Hence, the area that is traced out by any moving figure lies in the convex hull of the control positions of the figure. If the rational B-spline motion is subdivided with the de Boor algorithm, the sum of the convex hulls of the control structures converges to this area (cf. Figure 3). Together with fast algorithms for the computation of convex hulls and polygon intersections’ I, this property can be used for the design of fast collision test algorithms.
Figure 2 Control structure of a moving triangle S [The trajectory p(t) of an arbitrary point $ is a NURBS curve with control points pi and weight points fP The control positions .FI, 8, and .F3, and the weight positions, shown by a broken line, are similar to F,]
Remark 3: The generalization to spatial rational B-spline motions is straightforward. In this case, the control structure is formed by afine control positions”.
Computer-Aided
Design
Volume
27 Number
2 February
1995
131
Planar
rational
B-spllne
motions:
M G Wagner
Note that the control positions Ei cannot be chosen arbitrarily. For arbitrary equiform displacements Ei, the motion defined by Equation 9 is not in general a planar Euclidean motion. It describes a so-called ~~&Onn motion in which the displacements M(t,), r,, E 1. are equiform displacements. Hence, the moving plane E’ also changes its size during the motion.
of order k which lies on A. It has weights wi,O and control points ew = EiFw. Again note that these control points cannot be chosen arbitrarily. As shown by Wunderlichi4, the trajectory p(t) of any point &ican be obtained from the image curve m”(t) by a linear transformation A,,. This is a projection parallel to the plane
Interpolation by rational B-spline motions
+ n( -ilp,~?.p, -l,O)T
Consider a set of t> + I positions D, with parametcrx r,(i = 0.. . II), I, < r, a ,. which has to be interpolated by a planar piecewisc rational motion M(t) of degree Zk. The solution of this interpolation problem is straightforward. One just has to interpolate the kinematic images d: = Dir, of the positions D, by an arbitrary piecewise rational curve m’(t) of degree k, for instance. by a NL’KRS curve of order I, + I or a piecewise polynomial curve ol degree k. In both cases the control positions of the piecewise rational motion interpolant M(t) result from Equation 8 by applying product formulae for B-spline basis functions.
(15)
onto the plane c’; = et;’ = 0. which is assumed to be the lixcd planer4 0’. Here, (9,, f,)’ are the Cartesian L.oordinates of fi in E”. Note that the parallel projection I,, depends on point i, only. Obviously, the control points p, of p(r) are the images of the points er under Ap (cf. b‘i{/lrrc,4).
C“ PIECEWISE WITH PLANAR
QLJARTIC RATIONAL
INTERPOLATION MOTIONS
If all the trajectories of the resufting motion have continuous acceleration, M(t) has to be of 2nd order continuity. In this case. the minimum degree of the corresponding NURRS curve m’(r) is 3. which in general leads to a motion of degree 6. Nevertheless. it is possible to achieve such an interpolation with rational motions of lower degree, as shown in the second section of the paper.
15 mentioned above, it 15 very simple to solve the Interpolation problem for planar motions with rational W-spline motions by applying the classical kinematic mapping, although it is difficult to achieve C’ motion interpolants of a degree less than 6. In the following we intend to compute a rational Bezier spline interpolant of degree 4. According to Wunderlich15, this is the minimum degree that can provide inflection positions, i.e. positions uith vanishing angular velocity.
Kinematic mapping for equiform displacements
Preliminaries
In 1982. Bottema and Veldkamp’” introduced ;I kinematic mapping F,,. for equiform displacements, which can be used for a geometric interpretation of the control positions Ei. Under this mapping, the images of the equiform control positions are the control points of the kinematic image curve. The main idea is very simple. Every equiform displacement
formula for In the sequel. we use a representation piecewise rational motions which results from Equation 2 by substituting ri = r,, tan ($/2). This formula is a special case of a well known representation formula for which has been discussed in terms of spatial motions” rational motions by Jiittler”.
Rrnrd
4:
( oro//rrr:r~ 1: For every planar piecewise rational motion M = M(t) of degree k, there exists a representation z$r; M -_ is mapped to a point e” = (ey.eF,~‘;,cz)’ 11~-lD alline space lw4.where rhe Cartesian coordinates arc defined by
“I i
0
+ r;,
(‘7 -
l$(r:
- r;,
213Xr,r,
0 - 2v,*r,r,
(16)
co*(ri - rf)
The image points of Euclidean displacements under the mapping F,, form the quadratic cylinder A : c;“ t rl;’ = I, Consequently. the image curve m”‘(t) of the planar rational B-spline motion in Equation 9 has to be a N~IKHS curve
114)
132
Computer-Aided
Design Volume
27 Number
2 February
I-igurc d The trdJectOry p(j) of a polnr fi can be obtamed as the image of E”‘IO under the parallel projection A,. which depends on point 6 [Hex .A,,is illustrated with the help of the centre cP of the projection. \chlch 15a line at infinity. For Euclidean motions M(r). the kinematic ~rrrapccurve m”‘(r) is a cur~c on the cylinder A.1
1995
Planar
where r,, is a piecewise polynomial of degree 1 6 k/2, rI is a piecewise polynomial of maximum degree 1, u1 and u2 are piecewise polynomials of maximum degree k, and uz is a piecewise polynomial of maximum degree k - 21. Now consider n + 1 positions Di of p2 with parameters fi?ti < ti+ 1, given by their kinematic images dr = Dir,,, = (Xi,yi, sin pi,
(17)
i =O,...,n
cos 4JT
These positions have to be interpolated by a motion M(t) with 2nd-order continuity, where the motion segments from Di to Di+l are rational motions of degree 4. In Equation 17, the angles 4i are not restricted to the interval [0,271]. For reasons explained further below, the differences A@i= +i+ 1 - c$~are assumed to satisfy
5
0 < lA$il <
i = O,...,n
- 1
(18)
rgt’)
=
Mi(t’)Tw
=
B4(t’)wi_j.0
t - ti t’ = -_; 1 -
ti+
ti
i = O,..., n - 1
analogously to the B-spline representation 9 with control points erk = Ei.krw
=
Wi.k.l, Wi.k.Z, Si.k,
(19)
in Equation
T
qk
Wi.k.O Wi.k.O k = 0,. . . ,4;
> i = 0,. . , n
(20)
and weights w~,~,~.Here, B;(s) =
(1 - S)n_‘S’
denotes the usual Bernstein polynomials. t’ is called the local parameter. Another representation of @ = $‘(t’) results from Equation 16, where we restrict to uz = 1. This yields
l$
=
1
i = O,...,n
- 1
rZo + rizl (21)
with quadratic polynomials polynomials ui,l and u~,~.
M G Wagner
(22)
and to use the derivative function tie = (z?, J;‘, &)T for the estimates of /
ie(ti)
\
(23) @‘(ti)
sin
(4i)
/
$Tj
j=“, 1 j=O
motions:
i = O,...,n
dp = (xi?_Vi, $JT
\ BT(c’)wi.j.O
B-spline
coordinates which describe the rotational part of the motion. This problem is nonlinear in general, but can be reduced to a linear problem by prescribing the angular velocities di = d;(ti) at the given positions. In the second step, the control points of mp(t’), and hence the control positions of the rational @zier spline interpolant, are computed with a method similar to the usual Hermite interpolation. It is therefore necessary to formulate an algorithm for the estimation of the angular velocities and the tangent vectors I$” of m”‘(t) at the points (J” first. The simplest way to achieve such an estimation is to calculate a C2 cubic curve me(t), which interpolates the points 4; E R3 defined by the Cartesian coordinate vectors
The A4i describe the angles between the reference frames of neighbouring positions of r2. The resulting motion segments are given by the Bkzier form of their kinematic images curves $
rational
and the angular velocities $i = I’. All the examples in this paper have been calculated with this method. According to our suggestions, it is important that all the weights Wi.k.0are positive. To detect such solutions it will be necessary for the values di to satisfy didi+
2
O
i =
O,...,n
- 1
(24)
di+i+ 1 < 0 means that there exists an inflection position D* = M(t*) in the ith motion segment. Such a situation can be avoided by estimating ay = D*T, with the help of E’(L), and adding it to the set of given points $” (cf. Figure 5). If m’(t) is cubic, $ is unique for 4i4i+ 1 < 0. It might happen that an estimated inflection position violates Expression 18 in one of the neighbouring motion segments. Nevertheless it is always possible to achieve a set of positions that satisfy Expression 18 as well as Expression 24 by adding a sufficient number of new positions from me(t). Remark 5: The estimation method presented is independent of the choice of the reference frame of [E2but not of p2. An algorithm that is independent of both frames could be based on a method similar to the usual Bessel estimation of the tangent vectors of curve$. Here, the velocity field at a position Di is set equal to the velocity field of the unique quartic rational motion, which interpolates the positions Di_ 2, . . , Di + 2 at points ti_ 2,...,ti+2 of time. Note that such an interpolant has to be quartic at least, since it should provide inflection positions.
ri.0 and ri.1, and quartic Calculating the weights
Velocity field estimation In the first step, the weights of @“(t’) are calculated by expressing the %nd-order continuity of the last two
Owing to the relationship in Equation 21, the last two coordinates I$ = (ey, ez)’ of the ith segment I@’ can be obtained by a stereographic projection of the curve pi(t’)= (ri,l(t’), r,.,(t’) - l)T onto the unit circle eT2 + ey* =
Computer-Aided
Design
Volume
27 Number
2 February
1995
133
Planar rational B-spline motions: M G Wagner
and
9i+l
---
r, ,( 1) = j_,+, sin c.
2
1
(‘he arbitrary values j.i’ and jiim are the signed distances from the centre c’ to the endpoints pi(O)and pi(I) of pi(f). The orientation of these lines is defined by the angles (/jiI2 (cf. Figure 6). Note that the resulting parameterization of the unit circle only depends on the ratio j.,’ : 2, 1. .Applying similar conditions with the centre s’ on p;(f) has no effect on it. Hence, it is possible to assume That i , I = E:, , if the resulting motion is not closed. In this case, pi and pi+ , meet with at least Co continuity. Wit3 the use of a Bkzier representation of pi(t) and the formulae for derivatives of Btzier curves’. otie is able 10 calculate the angular accelerations
III terms of the estimated with
1 (cf. I?~~III.(J6). Since I’,,~,([‘) and I‘,,,(t’) arc quadratic polynomials. pi(f) is either a parabola or a straight line. The centre of this projection is the point c’ = (0. - I)‘.. Consequently, the function djl(r’), which describes the rotational part of the ith motion segment. is given by
This yields the interpolation r-,,,(O) = 2,’ cm
r,.,(O) = i.;+ sin
134
angular
velocities
(bi and $,+ ,
I hc mainly elementary calculations are omitted here. t-vpressing the Znd-order continuity 4; = d;i leads to .I \yr;lern of 11-~ 1 linear homogeneous equations
‘I
i
,
conditions
4,
L) 3
1~1ththe II + I unknown factors i,, = 2: = >.,-(i = 0. _. n). Hence. this system yields an at least ID solution space S l’or the ratio L,,: i., : : L,,. Owing to the geometric meaning of the factors Li, an optimal solution is expected
‘9, 7 i\ ‘2 ,’)
Computer-Aided
Destgn
Volume
27 Number
2 February
1995
Planar
rational
B-spline
motions:
M G Wagner
to satisfy /.():&:...:A”%
l:l:...:l
(30)
which can be achieved by solving the simple minimization problem i$ (& - &)’ --f min
(31)
Note that Expression 31 has a unique solution that is independent from the dimension of S. Finally, the weights of $“(t’) result from the Bezier representation of p;(t’)by calculating the weight function r&(t’) + &(t’) with the help of product formulae for Bernstein polynomials5. This yields
wi.l.O
=
_ “vi.2.0
wi.4.0
ii~(li~iACi I
factor in common. Consequently, the rotational parts of the corresponding motion segments are of maximum degree 2. In general, such situations are avoided by the minimization of Expression 3 1.
+ 1i+lbi+l)
Ai?
24AsF
=
/p+l
i = O,...,n
- 1
Figure 7 I, and &+ 1have different signs; the resulting motion segment satisfies l@,(l) - 4,(O)/ = [A4,1 + 2n
(32)
Owing to the relationships in Expressions 18 and 24, all weights wi,k.O(k = 0 ,..., 4) are positive if and only if Ai and EVi + ,I have the same sign. Since the factors di are found by minimizing Expression 3 1, such a situation only occurs if the given positions are not connected with an appropriate parameterization, e.g. if some intervals Ai are much larger than others, or if one uses a bad estimation of the angular velocities. Figure 7 shows an example in which jei and jbi+ 1 have different signs. The endpoints of the corresponding parabola p:(t’) are on different sides of the projection lines. Consequently, the resulting motion segment satisfies 1~i( 1) - 4;(O)\ = IA~iI + 27r, which produces an undesired loop. Remark 6: For Lo # 0, the values (A,/&, . . . , A,/iJT can be interpreted as Cartesian coordinates of a point in n-dimensional Euclidean space [E”. Consequently, the solution space S corresponds to an I-dimensional linear subspace IE’in IE”with 1 > 0. If the unit point (1,. . . , 1) lies in IE’,it is the solution of the minimization problem in Expression 31. Otherwise, let iE’+’ denote the connecting space of E’ and the unit point. In this case the solution of Expression 31 can be obtained as the foot of the perpendicular from the unit point to E’ in iE’+‘. This is also a reason for the unambiguity of the final solution.
Remark 8: A rational motion mr(t’) of degree 4 can only achieve a position with vanishing angular velocity and vanishing angular acceleration di(tb) = di(tb) = 0 if $Jt’) is constant. At such a position, the velocity and the acceleration vector of p;(t’) and the direction vector of the projection ray have to be linearly dependent. Since p:(t’) is an ordinary Bezier curve of degree 2, this is only &hecase if all the Bezier points lie on the projection ray. Consequently, it is impossible to design motions with translational segments with this approach. This is the reason for the left-hand bound of Expression 18.
Kinematic image of resulting motion Since the velocities at the endpoints of mr(t’) are known, the outer Bezier points result from the standard formulae of derivatives of NURBS curve@. This yields
” wi.O.O $1 =q+‘_@y 4
$4 = d?+1
wi.l.O
i
=
O,...,n
- 1
(33)
Expressing a 2nd-order continuity system 6
A
wi+l.2.0
Ai+ 1 \Vif10.0+1’2
=6
-6p
at my+\;, leads to a
Ai+ 1 wi.2.0
-ei”‘z Ai Wi.4.0
A
wi+ 1.2.0 ___Ai+l Witi.O.0
Remark 7: For 3,, = 0, the parabolae p’,_1 and pi meet at the centre c’ of the stereographic $rojection. In this case, the numerator and denominator of the last two coordinates of I$, and I$” have an at least quadratic
Computer-Aided
Design
Volume
27 Number
2 February
1995
135
Planar
rational
B-spline
motions:
M G Wagner
of n equations for the calculation of the II t I unknown Blzier points I$~, If the weights ~~~~~~~ do not vanish. this yields a ID solution space. Note that the last twn coordinates of the points ePz already result from the angular accelerations in Equations 27. They can be computed with the help of the weights M.‘~,~.~~ (k = 0,. .4). For instance, the first of these points is given bk
Here, the values .x,,,~ and y0,2 are unknown. Thej arc the coordinates of the inner Bkzier point of the first segment of the trajectory of LT. One simple waq IO determine these coordinates is to express the points $y, (i = I,. ,. II -- I) in terms of $X,2 by using Equation 34 and minimize
This minimization is Independent of the choice of the reference frame of E’, but not of the reference frame of E2. It ensures that the inner BCzier points of the trajectorlof U are as near to the given positions of U as possible. The resulting motion depends on the choice of U. Fiprrs H shows an example of such a motion interpolant. Note that the control positions of the ith motion segment are obtained as the images of the Bkzier points $7; under the inverse kinematic mapping I-,: ‘. In general, the reference frame of cz is assumed to have
;I geometric meaning for the moving object. For many applications, especially in robotics, it is useful to choose this frame such that the origin U is the centre of gravity. In this case. the method presented yields a motion in which the moving object is expected to stay within a certain minimum area. In Figure 9, the origin LJ is changed to the centre of gravity. The result is a smoother motion than the interpolant in Figure 8. Nevertheless, it might be necessary to calculate a solution that is independent of both reference frames. Such a solution can be achieved by applying an appropriate end condition at the starting position D,. For example, one can use the unique quartic rational motion that interpolates positions D,, . , D, at points I,,. . 1, of time for the calculation of the acceleration ticld at D, that is similar to the usual Bessel end condition for curves’. This yields the acceleration vector of the trajectory u(t) of U at I = t,,, and therefore the inner B&ier point (.x,~,~. y. 2)1 of the first segment of u(t).
(b) CONCLUSIONS With the linear control structure of rational motions Introduced in this paper, it is possible to solve many problems in motion design by using standard B-spline techniques. The interpolation method presented for planar rational motions uses motions with a minimum degree to achieve inflection positions. Moreover. the scheme yields the control structure of the motion interpolant, which can be used for postinterpolation algorithms, such as algorithms for collision tests. There exist many possibilities for further investigation. Figure 8 P~ece~~acrational motion of degree 4. which Intcrpolatex A given set of figureh 4n interesting area of future research is the design of [In this example. the reference Irame of fL I\ arbitrary. I he 1resu1~111g piecewise rational motion interpolants in the presence of motion is illustrated by (a) the final control structure and the trajector> obstacles. Such motions are of importance in robotics II(/) of C. and (b) a set of 15 positions IO uniformly distributed time and computer animation. mstants.]
136
Computer-Aided
Design
Volume
27 Number
February
1995
Planar
REFERENCES
13
Bottema, 0 and Roth, B Theoretical Kinematics North-Holland (1979) Shoemake, K ‘Animating rotation with quaternion curves’ ACM Siggraph Vol 19 No 3 (1985) pp 245-254 Ge, Q J and Ravani, B ‘Computer aided geometric design of motion interpolants’ Proc. ASME Design Automation Conf. DE-Vol 32 No 2 (1991) pp 3341 Pottmann, H and Wagner, M G ‘Helix splines as an example of affine Tchebycheffian splines’ Aduances Comput. Math. Vol 2 No I (1994) pp 123-142 Farin, G Curves and Surfaces for Computer Aided Geometric Design (2nd Ed.) Academic Press (1990) Hoschek, J and Lasser, D Fundamentals of Computer Aided Geometric Design Peters, USA (1993) Blaschke, W and Miiller, H R Ebene Kinemafik Oldenburg, Germany (1956) Chen, Y, Bottema, 0 and Roth, B ‘Rational rotation functions and the special points of rational algebraic motions in the plane’ Mechanism & Machine Theory Vol 17 (1982) pp 335-348 Giering, 0 Vorlesungen z’iberHiihere Geomefrie Vieweg, Germany (1982) (Mathematical Reviews 84c:S1002) Morken, K ‘Some identities for products and degree raising of splines’ Construct. Approx. Vol 7 (1991) pp 195-208 Preparata, F P and Shamos, M I Compurational Geometry Springer, USA (1985) Jiittler, B and Wagner, M G ‘Computer aided design of rational motions’ Comput. Aided Des. (submitted for publication)
14
15 16
17
Computer-Aided
rational
B-spline
motions:
M G Wagner
Bottema, 0 and Veldkamp, G R ‘Eine Abbildung der ebenen aquiformen Kinematik’ Tagungsbericht Oberwolfach Voll7 (1982) Wunderlich, W ‘Ein vierdimensionales Abbildungsprinzip fur ebene Bewegungen’ Zeitschrif Angewande Math. Mech. Vol 66 (1986) pp 421428 (Mathematical Reviews 88a:53007) Wunderlich, W ‘Kubische Zwanglaufe’ Sitzungsber. b’sterr. Akad. Wiss. Vol193 (1984)pp45-68 (Mathemafical Reviews86h:53011) Ravani, B and Roth, B ‘Motion synthesis using kinematic mappings’ ASME J. Mechanisms, Transmissions & Automat. Des. Vol 106 No 3 (1984) pp 341-347 Jiittler, B ‘Uber zwanglaufige rationale Bewegungsvorglnge’ Sitzungsber. iisterr. Akad. Wiss. Vol 202 (1993) pp 117-132
Michael G Wagner received an MS and a PhD in mathematics from the Technical University of Vienna, Austria, in 1990 and 1994, respectively. His research interests include computer aided geometric design, descriplice geometry, computer graphics and kinematics.
Design
Volume
27 Number
2 February
1995
137