Technische Universität Wien

Size: px
Start display at page:

Download "Technische Universität Wien"

Transcription

1 Technische Universität Wien TU Geometric design of motions constrained by a contacting surface pair M. Hofer, H. Pottmann, B. Ravani Technical Report No. 97 December 2002 Institut für Geometrie A-1040 Wien, Wiedner Hauptstraße 8 10/113

2 Geometric design of motions constrained by a contacting surface pair Michael Hofer a,b,, Helmut Pottmann b, Bahram Ravani a a Department of Mechanical and Aeronautical Engineering, University of California, Davis, CA 95616, USA b Institute of Geometry, Vienna University of Technology, Wiedner Hauptstrasse 8-10/113, A-1040 Wien, Austria Abstract We discuss the following problem which arises in robot motion planning and NC machining: Given are a fixed surface Ψ and N positions Φ i of a moving surface Φ such that the Φ i are in contact with Ψ. Compute a smooth and fair gliding motion Φ(t) of the surface Φ on the surface Ψ which interpolates (or approximates) the given positions Φ i at time instances t i. We present a variational subdivision algorithm that uses a feature point representation of the moving surface and relies on known subdivision algorithms for curves, on instantaneous kinematics, and on ideas from line geometry. We use geometric methods for the numerical solution of the arising optimization problems. Key words: Motion design, Variational subdivision, Gliding motion, Kinematics, Line Geometry 1 Introduction Motion design is an important and widely studied problem, e.g., in robotics, manufacturing geometry, and computer animation. Contributions to the solution of the problem come from Computational Geometry (see e.g. Halperin et al. (1997); Sharir (1997)), Robotics and Kinematics (see e.g. Latombe (2001); Park and Ravani (1995)), Computer Graphics (see e.g. Shoemake (1985); Marchand and Courty (2002)) and Computer Aided Geometric Design (see e.g. Röschel (1998); Jüttler and Wagner (2002)). Corresponding author: phone , fax address: hofer@geometrie.tuwien.ac.at (Michael Hofer). URL: (Michael Hofer). Preprint submitted to Elsevier Science 17 December 2002

3 We are interested in the design of a smooth and fair motion of one surface (e.g. a toroidal cutter) gliding on another surface (e.g. a freeform surface) such that given positions already in contact are either interpolated or approximated. This has applications e.g. in the NC machining of complex shapes (cf. Marciniak (1991)) and in medical applications where the gliding motion of joints is studied (cf. Hoschek and Weber (1987)). Using variational subdivision, instantaneous kinematics, and the relation to line geometry, we show how to construct such motions. We confine ourselves to differentiable oneparameter motions in Euclidean 3-space. For applications it is important to be able to control the smoothness level of a motion. Forces and vibrations depend on second derivatives and jumps in the velocity should be avoided with NC machining. Smooth motions that make use of NURBS techniques have been investigated by e.g. Jüttler and Wagner (1996). To describe rigid body motions it is necessary to use rational rather than polynomial representations. However, rational representations are much less suitable for variational design and efficient optimization techniques than polynomial ones. Therefore, Hyun et al. (2001) recently investigated the construction of affine spline motions with minimal distortion. Motion design based on the quaternion representation of the spherical component and nonlinear extensions of spline constructions in affine spaces to the sphere (see the references in Röschel (1998)), are also difficult to deal with for optimization purposes. Algorithms for motion fairing using the quaternion representation have been proposed by Fang et al. (1998). Belta and Kumar (2002) recently presented a singular value decomposition projection method for interpolation on the group of Euclidean motions SE(3). Hofer et al. (2002a) have outlined two new approaches to motion design which deal with variational motion design and that allow to incorporate constraints into the motion planning process. The first approach has been studied in Hofer et al. (2002b), the second approach will be studied here and is extended to handle motions constrained by a contacting surface pair which is the main contribution of this paper. The singularities of motions constrained by a contacting surface pair have been studied by Pottmann and Ravani (2000). Here we present an algorithm for the design of a gliding motion for the entire motion cycle rather than around singularities. All other previous works have not considered gliding motions where a rigid moving body maintains contact with another body during its motion cycle. Wallner (2002b) has investigated gliding spline motions using an active motion approach. However, the resulting motions are in general only near-euclidean near-contact spline motions. Our work in terms of the formulation of the fairness is also different from previous approaches on un-constraint motion design in that our formulation of fairness is based on fair trajectories of chosen feature points of the moving surface. A rigid body motion is a curve in the Euclidean motion group and variational motion design could be based on expressing the fairness of that curve (see Park and Ravani (1997)). However, for the applications we have in mind, not the motion as such, but its action on a certain rigid body is 2

4 employed in fairness criteria. The paper is organized as follows. In Sect. 2 we review some aspects of Kobbelt s interpolatory variational subdivision algorithms for curves and extend them to approximating schemes and curves on surfaces. In Sect. 3 we summarize relations between spatial kinematics and line geometry that we use for our motion design algorithm. In Sect. 4 we present the subdivision algorithm for unconstraint motion design, which in Sect. 5 is extended to a subdivision algorithm for the design of a gliding motion of one surface on another surface such that given positions in contact are interpolated or approximated. We conclude the paper in Sect. 6 with an outlook towards future research. 2 Variational subdivision for curves Kobbelt (1996) has introduced a class of interpolatory variational subdivision schemes. Thereby, new points for the refinement of a given polygon are determined by solving an optimization problem that minimizes quadratic energy functionals. This is a familiar approach from non-discrete curve design where energy functionals are minimized for curve fairing. Kobbelt and Schröder (1998) have extended interpolatory variational subdivision from the uniform to the non-uniform parameter setting and discussed it in a multiresolution framework. These schemes are global, i.e., every new point depends on all points to be refined. Definition 1 An interpolatory subdivision scheme is formally described by (Kobbelt and Schröder, 1998) as an operator which maps a given sequence of points (a polygon) P (m) = [p (m) i p (m+1) 2i 1 ] to a refined sequence P (m+1) = [p (m+1) i ] with i of the polygon P (m) are contained = p (m) i. That is, the points p (m) in the refined polygon P (m+1) and thus the limit curve P ( ) interpolates the initially given points p (0) i. Definition 2 Variational approaches start with a quadratic fairness (energy) functional (Kobbelt, 1996) E(P (m+1) ) := i K ( p (m+1) i ) 2 with K ( p (m+1) i ) := j β j p (m+1) i+j. (1) K is an affinely invariant ( j β j = 0) measure of local strain energy and hence only finitely many β j do not vanish. The indices i and j are understood to range over all integers for which the associated variables p (m+1) are defined. Important examples of variational subdivision are found by minimizing differences. In the uniform (non-uniform) case we minimize forward (divided) differences, see Kobbelt and Schröder (1998). In our motion design algorithm we use the minimization of second differences, which minimize the change in velocity, on K polygons simultaneously. Therefore it is useful to explicitly state the curve case here such that its generalization later on will be straightforward. 3

5 In the uniform case we minimize second forward differences ( ) (m+1) K 2 p i := 2 p (m+1) i = p (m+1) i 2p (m+1) i+1 + p (m+1) i+2, (2) and in the non-uniform case, where every point p (m+1) i is associated with the parameter value t (m+1) i, we minimize second divided differences, K 2 ( p (m+1) i ) := p (m+1) t (m+1) i i ( (m+1) t i+1 + t (m+1) ) i + t (m+1) i+1 p (m+1) i+1 t (m+1) i+1 t (m+1) i p (m+1) i+2 ( (m+1) t i+1 + t (m+1) i ). (3) In our application the t i s will most likely be given, since they are related to the timing of the motion. If we have to estimate t (0) i, we may take it from a centripetal parameterization, i.e., t (0) i+1 t (0) i := p (0) i+1 p (0) i. (4) Remark 3 While the parameters t (m+1) 2i 1 for the points p (m+1) 2i 1 = p (m) i can be calculated e.g. by using Eq. (4) we need to choose the parameters t (m+1) 2i corresponding to the points p (m+1) 2i that are inserted in this refinement step. For simplicity we set t (m+1) 2i := 1 ( (m+1) t 2i t (m+1) ) 2i+1. (5) Further note that for uniform t (m+1) i, Eq. (3) becomes Eq. (2) and that the minimization of (K 2 ) 2, where K 2 is given by Eq. (2), is geometrically the same as minimization of the sum of squared distances shown in Fig. 1 (a). From now on we will drop the index (m+1) corresponding to the refinement step and simplify the notation by calling the given points f i := p (m+1) 2i 1 = p (m) i and the new points that are inserted in the current refinement step q i := p (m+1) 2i. With this new notation we derive explicit formulae in the uniform case for open and closed polygons, which we can later refer to when we describe the motion design algorithm. 2.1 Uniform interpolatory variational subdivision for curves In the uniform parameter setting for open polygons, the position of the new points q i is found by minimizing the objective function F 2 (q 1,..., q N 1 ) = N 1 f i 2q i + f i N 2 q i 2f i+1 + q i+1 2. (6) 4

6 F 2 is quadratic in the unknowns q i R d. The minimization of F 2 can be computed by setting the partial derivatives of F 2 with respect to the unknowns q i equal to zero, which leads to the linear system of N 1 equations q 1... = q N } {{ } =:A } {{ } =:B f 1.. (7) 4 4 f N 4 2 In the uniform parameter setting for closed polygons, the position of the new points q i is found by minimizing the objective function N N F 2 (q 1,..., q N ) = f i 2q i + f i q i 2f i+1 + q i+1 2, (8) where we identify f N+1 f 1 and q N+1 q 1. Minimizing F 2 leads to solving the following linear system of N equations: f q = (9) f N q N 4 4 f Similarly one can derive explicit formulae for the non-uniform variational subdivision for curves. Note that we use the same symbol F 2 for all quadratic objective functions we encounter in this paper. Remark 4 The refinement schemes are global, i.e., every new point depends on all points of the polygon to be refined. Interpolation is guaranteed since the old points belong to the newly calculated finer version. Kobbelt (1996) has shown that by minimizing second differences the limit curves P ( ) are at least C 2 curves. So we can use these schemes for variational motion design of a C 2 motion. 2.2 Uniform approximating variational subdivision for curves The previously discussed variational subdivision scheme is an interpolating one. The given points f i remain unchanged. However, we can pick some or all of these input points and allow a change as well. For those points which may 5

7 q i 1 q i 1 (f 2 i 1 + f i ) 1 (q 2 i 1 + q i ) 1 (f 2 i + f i+1 ) PSfrag replacements q i 1 q i f i f i+1 1 (f 2 i + f i+1 ) 1 (q 2 i 1 + q i ) 1 (f 2 i 1 + f i ) q i 1 f i f i+1 f n i 1 (f n 2 i 1 + fi n ) q i 1 (f 2 i n + fi+1) n 1 (q 2 i 1 + q i ) f n i+1 f i 1 f i 1 (a) f n i 1 (b) Fig. 1. (a) Uniform interpolatory variational subdivision. (b) Uniform approximating variational subdivision. be changed, we add a term λ i (f i f n i ) 2 to the functional (6) to be minimized. It may be seen as placing a spring between the given point f i and the new location f n i, see Fig. 1 (b). The influence of the spring is governed by the real number λ i > 0. The functional to be minimized is again quadratic, namely a discretization of the functional used for smoothing splines, F 2 (q 1,..., q N 1, f n 1,..., f n N) = + N 2 q i 2f n i+1 + q i N 1 N f n i 2q i + f n i+1 2 λ i f i f n i 2. (10) Thus, the minimization of F leads to a linear system of equations A a x = b where we collect the unknowns in a 2N 1 vector x = (q 1,..., q N 1, f n 1,..., f n N) T Note that this system has to be solved for every coordinate. The (2N 1) (2N 1) symmetric coefficient matrix A a has a band structure, is sparse and can be described as a block matrix, b is a 2N 1 vector: A a A = B T B, b = (0,..., 0, λ }{{} 1 f 1,..., λ N f N ) T. (11) L N 1 Non-bold f i denotes one coordinate of the vector f i. The block matrices A and 6

8 B are the (N 1) (N 1) and (N 1) N matrices of Eq. (6), and 1 + λ λ 2 1 L := R N N. (12) λ N λ N Note that, if a spring is weak, i.e., if we let λ i 0, then this point is neglected and only the remaining points are taken into consideration for the shape of the final curve. Thus, if we let λ i 0 for all i, then the limit curve will just be a straight line approximating the input points, see Fig. 2 (a). For λ i the corresponding input point f i is interpolated by the final curve. Thus, if we have strong springs at the first and last input point, i.e., λ 1, λ N, but all other springs are weak (λ 2,..., λ N 1 0), then the limit curve is a straight line connecting the first and last input point, see Fig. 2 (b). The most useful case is the one where the first and the last spring are very strong (λ 1, λ N ) and the intermediate ones pull the curve towards the input points (0 < λ i < for i = 2,..., N 1), see Fig. 2 (c). (a) (b) (c) (d) Fig. 2. Uniform approximating variational subdivision for curves: (a) λ i 0 for i = 1,..., N. (b) λ 1, λ N, λ i 0 for i = 2,..., N 1. (c) λ 1, λ N, 0 < λ i < for i = 2,..., N 1. (d) λ i for i = 1,..., N. If we let λ i for all i, then we get in the limit an interpolating curve, see Fig. 2 (d). In that case we will instead use interpolatory variational subdivision. Remark 5 It is straightforward to extend this approximating scheme to closed polygons and to the non-uniform case. 2.3 Variational subdivision for surface curves Given are now N points on a surface and we want to use variational subdivision to compute a surface curve that interpolates those points. First, in every subdivision step use uniform or non-uniform interpolatory variational 7

9 subdivision in Euclidean three-space E 3. And then, since the such inserted points will in general not be on the surface, project them orthogonally onto the surface. We call this the projection method. For a surface in parametric representation, a surface curve is found by mapping a curve in the parameter domain of the surface. Hence, one can use uniform or non-uniform interpolating or approximating variational subdivision in the parameter domain of the surface, and then map these points to get the surface curve. We call this approach the parameter domain method. Fig. 3 compares this approach with the projection method for a rectangular surface patch and an ellipsoid. (a) (b) Fig. 3. Variational subdivision surface curves interpolating given surface points: projection method (black curve), parameter domain method (gray curve). Although the parameter domain method is efficient to compute, it has several drawbacks if used to determine the coarse shape of a surface curve. Distortions under parametrization can result in undesirable shapes. Since the domain curve might overshoot the parameter domain, the surface curve might partially miss the surface patch (see Fig. 3 (a)). The surface curve produces unwanted results near singularities of the parametrization (see Fig. 3 (b) for an ellipsoid). Therefore we use a hybrid algorithm that employs the projection method until the coarse shape of the surface curve is determined (3 4 subdivision steps) and then, for further refinement, switches to the parameter domain method to save computation time. 3 The relation between spatial kinematics and line geometry 3.1 Instantaneous kinematics Consider a differentiable one-parameter rigid body motion in Euclidean 3- space. Introducing Cartesian coordinate frames Σ in the moving system and Σ 0 in the fixed system, the time dependent position x 0 (t) of a point x Σ in 8

10 the fixed system Σ 0 is given by x 0 (t) = R(t)x + r(t). (13) Here, the time dependent orthogonal matrix R(t) represents the spherical component of the motion, and r(t) describes the trajectory of the origin of the moving system. All arising functions shall be C 1. By differentiation we get the velocity vectors. It is well-known that the velocity vector field is linear at any time instant. More precisely, at any time instant there exist vectors c, c such that the velocity vector v(x) of any point x of the moving body can be computed as v(x) = c + c x. (14) Note that in this formula all arising vectors are represented in the same system; this may be the moving or the fixed system. The meaning of c, c is as follows: c represents the velocity vector of the origin, and c is the so-called Darboux vector. Only very special one-parameter motions have a constant, i.e., timeindependent velocity vector field. These motions are A translation with constant velocity (if c = 0), A uniform rotation about an axis (if c c = 0), A uniform helical motion (if c c 0). The most general case is that of a uniform helical motion, which is the superposition of a rotation with constant angular velocity about an axis A and a translation with constant velocity parallel to A. If the moving body rotates about an angle t, the translation distance is pt. The constant factor p is referred to as pitch of the helical motion. For more details on helical motions and its close relation to line geometry we refer to Pottmann and Wallner (2001). The Plücker coordinates (a, ā) of the axis A, the pitch p of the helical motion and the angular velocity ω are computed from (c, c) by a = c c, c pc ā = c, p = c c, ω = c. (15) c2 In our motion design algorithm we use the constant linear velocity vector field of an instantaneous helical motion to linearize a motion. Therefore we attach to each point x i the velocity vector v(x i ) = c + c x i of the still unknown constant velocity vector field of an instantaneous helical motion. Minimizing an objective function that is quadratic in c, c gives us those unknowns. Note however, that the transformation which maps x i to x i + v(x i ) is an affine map and not a rigid Euclidean transformation. Therefore we use the uniform helical motion that is uniquely determined by the velocity vector field represented by the pair (c, c). Applying a rotation about A through an angle of α = arctan( c ) and a translation parallel to A by the distance αp brings the points x i in a position x i close to the tips x i + v(x i ) of the velocity vectors used in the computation, see Fig. 4. 9

11 PSfrag replacements e i x i + v(x i ) A x i αpa p α x i Fig. 4. New position x i of a point x i by applying the helical motion with the velocity vector field described by (c, c). Note that α = 0, i.e., c = 0, corresponds to a pure translation. Then x i = x i + c and thus e i = 0. This expresses the fact that the velocity vector field of a pure translation coincides with the translation itself. If the pitch p = 0, we just apply a rotation by the angle α around the axis A. Remark 6 The presented estimation of an instantaneous motion has also been used by Bourdet and Clément (1976, 1988) for the solution of a registration problem in Computer Vision. However, they directly transform the body (in an affine way) with the velocity vectors, and do not use the suggested correction via an appropriate helical motion. Pottmann et al. (2002a) have used linearized motions in an industrial inspection algorithm that registers a point cloud of an object (e.g. obtained by using a 3D laser scanner) to a CAD model of that same object. Pottmann et al. (2002b) have also shown, how this method can be used for the simultaneous registration of multiple point clouds. 3.2 Line geometry In three-dimensional Euclidean space E 3 with a Cartesian coordinate system, a straight line L can be represented by a normalized direction vector l, l = 1, and its moment vector l := x l with respect to the origin. Thereby, x denotes the coordinate vector of an arbitrary point on L. Note that l is independent of the choice of x. The 6 coordinates of L are its so-called normalized Plücker coordinates. They satisfy the Plücker relation l l = 0. Any 6-tuple (l, l) R 6 with l = 1 and l l = 0 represents a line in E 3, where (l, l) and ( l, l) describe the same line. One of the fundamental relations between spatial one-parameter motions and line geometry is, that for every time instant t, the path normals (l, l), i.e., the lines through a point x normal to v(x), of such a motion lie in a linear line complex C. Such a linear complex is defined as the solution set of a linear homogeneous equation in Plücker coordinates, 0 = v l = ( c + c x) l = c l + c l. (16) The linear line complex is singular if either p = 0 or p =. We speak of the pitch p and the axis A of a linear complex which can be computed via Eq. (15), 10

12 since C is defined by (c, c). Conversely, any linear line complex C, defined as the solution set of a linear homogeneous equation in Plücker coordinates c l + c l = 0, (17) can be obtained as a path normal complex of a spatial one-parameter motion. We will use this in Sect. 5 for the gliding motion design algorithm. 4 Variational subdivision for motion design Hofer et al. (2002a) have outlined a variational subdivision algorithm for motion design which we study here. In Sect. 5 we will add linear contact constraints to that algorithm for the purpose of designing motions constraint by a gliding surface pair. Current motion design algorithms consider fairness criteria which possess full kinematic invariance. This means that the result does not change under the application of Euclidean displacements in the moving or fixed system, respectively. As a consequence of that, we cannot impose fairness criteria based only on the trajectories of points on the moved object. In contrast, we choose K feature points f 1,..., f K on the moving body Φ that represent it sufficiently well, and use them to employ fairness criteria in the motion design process. Fig. 5 shows a simplified robot gripper arm where the 24 vertices of the polyhedral representation are used as feature points. For the choice of feature points we refer the reader to Sect Fig. 5. Simplified robot gripper arm with 24 feature points. In Euclidean three-space we insert in an iterative manner rigid copies of a moving body between given copies of that body such that the feature point paths (polygons) simultaneously minimize one of the discrete energy functionals presented in Sect. 2. This is a nonlinear problem which has to be solved in an iterative manner. For the solution we use instantaneous kinematics as presented in Sect. 3. This allows us to linearize the motions, that are applied to the inserted rigid bodies, in the minimization. The advantage of working in Euclidean three-space is, that fairness criteria can be employed much easier than if we would work on the six-dimensional manifold of Euclidean motions. Furthermore, our approach can be used with the whole class of interpolatory variational subdivision algorithms introduced by Kobbelt (1996), and with the extension to approximating schemes as discussed 11

13 in Sect. 2. We present the algorithm in terms of the minimization of second forward differences, since in that case the formulae are shorter. The generalization to the non-uniform parameter setting is straightforward, although a bit more tedious. Variational subdivision for curves combines the insertion and position optimization (i.e., minimization of some quadratic energy functional) of new points in every subdivision step. In the motion design case we have to split this into two separate steps, insertion and optimization, since we do not just have a single point but a rigid body. These two steps are repeated until the required density of positions is reached: (1) Position insertion: Insert between each two adjacent given copies one Euclidean copy Φ (start) i i+1 of the moving body. For given N positions this gives N 1 initial intermediate positions. (2) Position optimization: Use Φ (start) i i+1 of the moving body as starting values for an iterative optimization algorithm that uses linearized motions and simultaneous variational subdivision on all K feature points. Terminate the iteration if the objective function reaches a minimum, or alternatively, if the sum of squared distances between the feature points in the current and in the following iteration step falls below a certain threshold. Then add the final positions to the sequence of given positions, update the number of given positions to 2N 1 and continue with step 1. Remark 7 By a position of a rigid body we mean the location in space determined by six parameters, three for translation and three for rotation. In the literature, a position sometimes is only defined by the three translation parameters, and the three rotation parameters are referred to as orientation of the rigid body. Now we discuss the individual steps of our motion design algorithm in more detail. 4.1 Position insertion Between each two adjacent given copies Φ i and Φ i+1 one new copy Φ (start) i i+1 of the moving body Φ is inserted (in the curve case one new point would be inserted between each two given points). We get Φ (start) i i+1 by applying the Euclidean rigid body transformation m to Φ i, Φ (start) i i+1 := m(φ i ) := R i (Φ i ) + t i, (18) where m is chosen such that Φ (start) i i+1 interpolates between Φ i and Φ i+1. The simplest choice of m is the identity transformation R i = I and t i = 0. But the algorithm needs less iteration steps in the optimization procedure if we apply reasonable t i and R i. We compute the translational and the rotational part separately. Consider the given positions s i of the barycenter s of the moving body Φ and apply one iteration step of interpolatory variational subdivision for curves to find 12

14 intermediate positions s i i+1. Then the obvious choice for the translational part of the Euclidean transformation m is, t i := s i i+1 s i. (19) Now we discuss the computation of R i. Translate Φ i+1 to a position Φ i+1 such that s i+1 = s i. Since Φ i and Φ i+1 are Euclidean copies of Φ there is a unique rotation with angle of rotation ρ i and direction vector d i of the rotation axis that rotates Φ i into Φ i+1. In our algorithm we rotate Φ i+1 through an angle of ρ i /2. Hence for the computation of R i we use the unit quaternion (a 0, a 1, a 2, a 3 ) = (cos ρ i 4, sin ρ i 4 d i). (20) The corresponding rotation matrix is a a 2 1 a 2 2 a 2 3 2(a 1 a 2 + a 0 a 3 ) 2(a 1 a 3 a 0 a 2 ) R i = 2(a 1 a 2 a 0 a 3 ) a 2 0 a a 2 2 a 2 3 2(a 2 a 3 + a 0 a 1 ). (21) 2(a 1 a 3 + a 0 a 2 ) 2(a 2 a 3 a 0 a 1 ) a 2 0 a 2 1 a a 2 3 Thus we find the starting positions Φ (start) i i+1 for the optimization step in the following way: For i = 1,..., N 1 first compute the translational part t i by Eq. (19), then the rotational part R i as described above, and finally apply the Euclidean transformation Eq. (18) to get the starting position Φ (start) i i+1. For easier reading of the following computations we denote the feature points in the positions Φ ( ) i i+1 by qk i for i = 1,..., N 1 and k = 1,..., K. 4.2 Position optimization This step in our motion design algorithm simultaneously optimizes the location of the inserted copies Φ ( ) i i+1. The iterative algorithm uses instantaneous kinematics and simultaneous interpolatory variational subdivision on the K sequences of feature points f1 k, q k 1, f2 k,..., fn 1, k q k N 1, fn k (k = 1,..., K). If we assume uniformly distributed time instances t i of our input positions, then we generalize uniform interpolatory variational subdivision for curves, see Sect To the feature points q k i (i = 1,..., N 1; k = 1,..., K) of each single copy Φ i i+1 we attach (see Fig. 6) vectors v k i := v(q k i ) = c i + c i q k i, (22) belonging to the linear velocity vector field of an instantaneous helical motion described by the pair (c i, c i ), see Sect The velocity vectors are used for first order estimates of the new positions. Simultaneous variational subdivision (with uniform parametrization) on the K sequences of feature points amounts to the minimization of the following objective function, which is quadratic in the unknowns c 1, c 1,..., c N 1, c N 1, 13

15 PSfrag replacements q k i 1 f k i q k i 1 + vi 1 k 1 (f k 2 i 1 + fi k ) q k i q k i + v k i 1 2 (f k i + f k i+1) f k i (qk i 1 + vi 1 k + q k i + vi k ) f k i 1 Fig. 6. points. Simultaneous variational subdivision on the K sequences of homologous F 2 (c 1, c 1,..., c N 1, c N 1 ) = + N 2 K k=1 N 1 f k i 2(q k i + v k i ) + f k i+1 2 (q k i + v k i ) 2f k i+1 + (q k i+1 + v k i+1) 2. (23) The minimization of (23) is found by setting the partial derivatives of F 2 with respect to the unknowns c i, c i equal to zero, F 2 c i = 0, F 2 c i = 0, i = 1,..., N 1. This leads to the linear system of equations A C = B (24) where 2(q k 1 f1 k ) + 4(q k 1 f2 k ) (q k 1 q k 2) 2f 1 k + 4f2 k 5q k 1 q k 2. K (q k i 1 q k i ) + 4(q k i fi k ) + 4(q k i fi+1) k (q k i q k i+1) B =, (25) k=1 4f k i + 4fi+1 k q k i 1 6q k i q k i+1. 2(q k N 1 fn) k + 4(q k N 1 fn 1) k (q k N 1 q k N 2) 2fN k + 4fN 1 k 5q k N 1 q k N 2 C = (c 1, c 1,, c i, c i,, c N 1, c N 1 ) T, (26) 14

16 5A k 11 5Q k 1 A k 13 Q k Q k 1 5I Q k 2 I 0 0 K A k A = 2i 1,2i 3 Q k i 6A k 2i 1,2i 1 6Q k i A k 2i 1,2i+1 Q k i k=1 Q k i 1 I 6Q k i 6I Q k i+1 I 0 0 A k 2N 3,2N 5 Q k N 1 5A k 2N 3,2N 3 5Q k N Q k N 2 I 5Q k N 1 5I.(27) The 3 3 blockmatrices A k ij of the symmetric matrix A are given by A k 11 = (q k 1) 2 I q k 1(q k 1) T A k 13 = (q k 1 q k 2)I q k 2(q k 1) T A k 2i 1,2i 3 = (q k i 1 q k i )I q k i 1(q k i ) T A k 2i 1,2i 1 = (q k i ) 2 I q k i (q k i ) T (28) A k 2i 1,2i+1 = (q k i q k i+1)i q k i+1(q k i ) T A k 2N 3,2N 5 = (q k N 2 q k N 1)I q k N 2(q k N 1) T A k 2N 3,2N 3 = (q k N 1) 2 I q k N 1(q k N 1) T and all other entries of the matrix A are zero. I is the 3 3 unit matrix and 0 is the 3 3 zero matrix. The skew symmetric 3 3 matrix Q k i corresponds to 0 (q k i ) z (q k i ) y q k i c = Q k i c = (q k i ) z 0 (q k i ) x c, (q k i ) y (q k i ) x 0 where (q k i ) ξ denotes the ξ-th coordinate of the point q k i with ξ {x, y, z}. The solution of (24) gives us (c i, c i ) for i = 1,..., N 1. In every iteration step we apply to each intermediate position Φ i i+1 the helical motion that is uniquely determined by the velocity vector field represented by the pair (c i, c i ). This means that we apply a rotation through an angle of α i = arctan( c i ) and a translation parallel to the axis (a i, ā i ) by the distance α i p i. For the computation of a i, ā i, p i from (c i, c i ) see Eq. (15). This transformation brings the points q 1 i,..., q K i to positions q 1 i,..., q K i that are close to the tips q 1 i + vi 1,..., q K i + vi K of the velocity vectors used in Eq. (23). 15

17 PSfrag replacements q k(final) i Φ k(final) 2 3 q k(start) i q k(final) i q k(start) i Φ 2 Φ (final) 1 2 Φ (start) 1 2 Φ (start) 2 3 Sfrag replacements Φ k(final) 2 3 Φ 3 Φ (final) 2 3 Φ 1 (a) (b) Fig. 7. One subdivision step in variational motion design: (a) Position insertion ( ), iterative position optimization ( ) and final position ( ) of the feature points. (b) The dashed line connects the barycenters ( ) in their final positions. Then we use the new positions q k i of the feature points as the starting positions for the next iteration step in the iterative optimization procedure. As a termination criterion for the iteration we use the sum of squared distances between the positions of the feature points before and after the repositioning, S := i,k q k i q k i 2. (29) If this value S falls below a certain threshold, we terminate the optimization and insert the last obtained positions into the sequence of the fixed positions of the moving body. This new sequence of fixed positions is the input for the next subdivision step in our motion design algorithm. Remark 8 Similarly to minimizing second forward differences in the motion design algorithm one generalizes non-uniform and approximating variational subdivision for motion design purposes. It is also possible to insert in each iteration step more than one intermediate position between known positions. 4.3 Higher-dimensional viewpoint and dependency on feature points An affine transformation α in Euclidean three-space E 3 is given by x a + Ax, a R 3, A R 3 3, det A 0. (30) We denote the 12-dimensional space of affine transformations by A 12, and the 6-dimensional manifold of Euclidean transformations by M 6. We define a Euclidean metric in A 12 via the sum of squared distances between feature points in homologous positions in E 3. 16

18 Φ 3 Φ 3 Φ 2 Φ 2 PSfrag replacements Φ 4 PSfrag replacements Φ 4 Φ 5 Φ 5 Φ 1 Φ 1 (a) (b) Fig. 8. Three variational subdivision steps for (a) open and (b) closed motion design to five input positions Φ i. Definition 9 Let α, β be two affine maps that are applied to a Euclidean body Φ, which is represented by feature points f 1,..., f K. We define the distance d(α, β) between α and β by K d 2 (α, β) := α(f i ) β(f i ) 2. (31) Remark 10 If a moving body is represented by a finite number of feature points x 1,..., x n of unit point masses, then the coordinate matrix J of the inertia tensor is given by n J = x i x T i. (32) Proposition 11 The Euclidean metric in A 12, defined via the distance d(α, β), only depends on the barycenter and on the inertia tensor of the rigid body Φ. PROOF. We rewrite d 2 (α, β) from (31) using the definition (30) of an affine map, K d 2 (α, β) = α(f i ) β(f i ) 2 K = (a + Af i b Bf i ) T (a + Af i b Bf i ) K := (d + Df i ) T (d + Df i ) K = (d T d + 2d T Df i + f it D T Df i ) 17

19 K K = Kd T d + 2d T D f i + f it Qf i (33) where d := a b, D := A B and Q := D T D. The second term in (33) contains the barycenter of the point cloud f 1,..., f K and the last term contains the components i f i jf i k of the inertia tensor described by the matrix J. Note that (33) can be rewritten as d 2 (α, β) = (â ˆb) T M(â ˆb) (34) with a positive definite matrix M. The vectors â and ˆb collect the twelve parameters (a, A) and (b, B) of the affine transformations α and β. Thus, the Euclidean metric we have defined is the same for all choices of feature points with the same barycenter s := 1/N N f i and the same inertia tensor. By a well-known result from mechanics we can replace the feature points f 1,..., f K by the six special points ± f i λi := s ± 2 e i, i = 1, 2, 3, (35) where λ 1, λ 2, λ 3 and e 1, e 2, e 3 are the eigenvalues and eigenvectors of J. PSfrag replacements F i M 6 Q i 1 Q i 1 Q i Q i Q i 1 Q i A 12 F i 1 F i+1 Fig. 9. The motion design algorithm sketched in A 12. We compare the motion design algorithm presented in this paper to a previously discussed algorithm: The algorithm for the design of a rigid body motion presented by Hofer et al. (2002b) first computes an affine motion α(t) (i.e., via a variational approach a curve in A 12 ) that interpolates M 6 in given points F i. Then α(t) is projected orthogonally onto M 6. This orthogonality is understood in the Euclidean metric defined in (34). 18

20 The approach we present in this paper designs via variational subdivision a curve on M 6 : Between given points F i M 6 we insert initial points Q i M 6 to which we attach unknown vectors V i in the 6-dimensional tangent space of M 6 at Q i (parameterized with help of (c i, c i )). Then we minimize a quadratic energy functional for the points..., F i, Q i := Q i + V i, F i+1,.... Since the such computed new positions Q i are in A 12 but not on M 6 we replace them by positions Q i on M 6 close to them. This is done by using the helical motion with the velocity vector field (c i, c i ). We iterate this two step procedure until the quadratic energy functional is minimized. Then we continue with the next subdivision step. Remark 12 Note that our algorithm for motion design is a special case of variational curve design (via subdivision) on arbitrary k-dimensional surfaces in R d. Another example follows in the next section, where a 5-dimensional surface contained in M 6 arises from a contact condition on the designed motion. 4.4 Smoothness analysis The smoothness analysis is so far only done numerically for the paths of the feature points. The variational interpolatory subdivision scheme we use in our approach produces at least C 2 -curves, as proved by Kobbelt (1996). However, we have slightly modified this scheme and do apply it to several input polygons simultaneously. Furthermore, we do not reposition the feature points by the velocity vectors used in the computation which would lead to affinely distorted copies of our moving body but with the underlying helical motion. Therefore it is more difficult to theoretically analyze the smoothness of the resulting motion. However, numerical tests suggest that the resulting paths of the feature points are C 2 (discontinuities first occur in the third numerical derivative), and hence we claim, that the computed motions are C 2 as well. 5 Gliding motion design In this section we present an algorithm that solves the following problem: Given N positions Φ i of a moving surface Φ (e.g. a toroidal cutter) in contact with a fixed surface Ψ, i.e., the surface normals of both surfaces coincide in the contact points, compute a motion such that Φ glides on Ψ and interpolates (or approximates) the given positions Φ i. The gliding motion of a surface Φ on a surface Ψ is a five-parameter motion. At every instance, the gliding motion of two surfaces has an instantaneous path normal complex which contains the common normal of the gliding surface pair. Up to first order this is the only constraint on a gliding surface pair, see e.g. Pottmann and Ravani (2000). Thus we extend the subdivision algorithm for motion design presented in Sect. 4 to the design of gliding motions by adding this gliding constraint. 19

21 Φ 2 Φ 1 PSfrag replacements Φ 3 Ψ Φ 4 Fig. 10. The fixed surface Ψ and the input positions Φ i of the moving surface Φ in contact with Ψ. The instantaneous motions used in the optimization procedure (23) are described by pairs (c i, c i ). The common normal n i of the two surfaces Ψ and Φ i in the instantaneous contact point has normalized Plücker coordinates (n i, n i ). The constraint, that n i is contained in the instantaneous path normal complex, follows from Eq. (17) and thus reads as c i n i + c i n i = 0, i = 1,..., N 1. (36) These linear constraints are added to the quadratic objective function (23) and the such obtained energy functional is again minimized. The optimization is again based on a feature point representation of the moving surface Φ, see Sect Before we discuss the individual steps of the algorithm in more detail we give an outline of the subdivision algorithm for gliding motion design: (1) Position insertion: Insert initial intermediate positions of the moving surface in contact with the fixed surface between each two given contact positions. (a) Insert with the hybrid algorithm for variational design of a surface curve new intermediate contact points on both, the fixed and the moving surface. Let new points with the same index correspond to each other. (b) Insert Euclidean copies Φ i i+1 such that the surface normals of fixed and moving surface coincide in the new contact points. (c) Apply an iterative optimization to all Φ i i+1 simultaneously by using velocity vector fields of pure rotations around the common surface normals in the new contact points. This gives us good starting positions for the following optimization with gliding constraints. (2) Position optimization with gliding constraint: (a) Minimize the quadratic energy functional (23) with the linear constraint (36) and apply the resulting helical motions to the inserted 20

22 copies Φ i i+1 to get Φ i i+1. (b) Note that after step (a) the moving surface might not be in contact with the fixed surface. Therefore we compute the common normals of Ψ and Φ i i+1 and translate each Φ i i+1 such that it is again in contact with Ψ. (c) Repeat steps (a) and (b) until the constraint objective function reaches a minimum. Then insert the final positions into the sequence of fixed positions of Φ and use these new 2N 1 copies as input to the next subdivision step. Remark 13 Note that the optimization is computed using a feature point representation of the moving surface. But once we have found the motions that perform the relocations of the feature points, we can also apply this motion to the moving surface itself (and vice versa). Now we discuss the individual steps of the algorithm in more detail. 5.1 Position insertion The input positions Φ i (i = 1,..., N) of the moving surface Φ are in contact with the fixed surface Ψ, i.e., the surface normals of Ψ and Φ i coincide. Between each two adjacent input positions Φ i and Φ i+1 we insert an initial intermediate position Φ i i+1 of the moving surface Φ in such a way that Φ i i+1 is in contact with Ψ and both surfaces have the same surface normal in the contact point. The Φ i i+1 are then the start positions for an optimization with gliding constraints. For the insertion we apply one subdivision step of the hybrid algorithm for surface curves presented in Sect We do this for both surfaces (fixed and moving) separately. In these corresponding surface points we compute the surface normal for each surface. Then we insert copies of the moving surface such that the inserted contact points of the moving surface are mapped to the inserted contact points of the fixed surface and that the surface normals of Ψ and Φ in those points coincide. The such obtained positions Φ i i+1 are not unique. For every position there is still one degree of freedom, the rotation around the common surface normal. We use this degree of freedom for every Φ i i+1 for a simultaneous optimization with a variant of the variational subdivision algorithm for motion design presented in Sect. 4. Each velocity vector field is restricted to coincide up to first order with a pure rotation around the common normal in the contact point of fixed and moving surface. This reduces the six free parameters (c i, c i ) for every moving position in Eq. (23) to only one, the rotation angle γ i := c i. Since for a pure rotation the pitch p is zero, we conclude from Eq. (15) that (c i, c i ) are of the form (c i, c i ) = c i (n i, n i ), i = 1,..., N 1. (37) The objective function (23) with the 6(N 1) unknowns c 1, c 1,..., c N 1, c N 1 21

23 now reduces to the following objective function, which is quadratic in the N 1 unknowns γ 1,..., γ N 1, where F 2 (γ 1,..., γ N 1 ) = + N 2 K k=1 N 1 f k i 2(q k i + v k i ) + f k i+1 2 (q k i + v k i ) 2f k i+1 + (q k i+1 + v k i+1) 2, (38) v k i := v(q k i ) = γ i ( n i + n i q k i ). (39) The minimization of (38) is found by solving the linear system of equations A r Γ = B r. We collect the unknowns in Γ, Γ = (γ 1,..., γ N 1 ), (40) and derive for i = 1,..., N 1 the i-th entry of the vector B r as B r (i) = B(6i 5,..., 6i 3) n i + B(6i 2,..., 6i) n i, (41) where B is given by (25). The entries on the main diagonal of the tridiagonal (N 1) (N 1) symmetric matrix A r are given by a jj = 5K n 2 j + 10( k q k j ) ( n j n j ) + 5( k q k jj ) n jj 10( k q k jj ) n jj, a ii = 6K n 2 i + 12( k q k i ) ( n i n i ) + 6( k q k ii ) n ii 12( k q k ii ) n ii, for j = 1, N 1 and i = 2,..., N 2. The elements on the upper diagonal are the real numbers a i,i+1 = K( n i n i+1 ) + ( k q k i+1) ( n i n i+1 ) + ( k q k i ) ( n i+1 n i ) + ( k q k i,i+1) n i,i+1 ( k q k i,i+1) n i+1,i ( k q k i+1,i) n i,i+1, (42) for i = 1,..., N 2. Thereby we denote the entries of a vector by q k i = (q1i, k q2i, k q3i) k T, n i = (n 1i, n 2i, n 3i ) T. (43) The superscripts,, denote special vectors, here defined in terms of n, n 1i n 1j n 1i n 3j n 2i n 2j + n 3i n 3j n ij := n 2i n 2j, n ij := n 2i n 1j, n ij := n 1i n 1j + n 3i n 3j. (44) n 3i n 3j n 3i n 2j n 1i n 1j + n 2i n 2j 22

24 Then we apply the underlying rotations through the computed angles γ i and iterate the procedure. This gives the initial intermediate positions Φ (start) i i+1 (i = 1,..., N 1) that are used as starting values for the constraint optimization described in Sect Position optimization with gliding constraint In this step of the algorithm we use the above computed positions of the moving surface as starting values for an iterative optimization algorithm. As in Sect. 4 we denote the feature points of Φ i i+1 by q k i and attach vectors v k i := v(q k i ) = c i + c i q k i, (45) belonging to the linear velocity vector field of an instantaneous helical motion described by the pair (c i, c i ), see Sect The velocity vectors are used for first order estimates of the new positions. The gliding motion of two surfaces has an instantaneous path normal complex which contains the common normal of the gliding surface pairs Ψ and Φ i i+1. Up to first order this is the only gliding constraint c i n i + c i n i = 0, i = 1,..., N 1. (46) Thereby, (c i, c i ) are the yet unknown representations of the velocity vector fields and (n i, n i ) are the Plücker coordinates of the contact normals in the initial intermediate positions. This gives N 1 linear constraints, one for each inserted position of the moving body. Using (46) and n = 1 one can eliminate 3(N 1) unknowns, since c i = (c i n i )n i, i = 1,..., N 1. (47) Substitution of (47) in the objective function (23) results in solving a quadratic objective function for the remaining 3(N 1) unknowns c i. However, we introduce Lagrange multipliers λ 1,..., λ N 1, since this allows us to describe the linear system of equations, that has to be solved, in terms of that of Sect The Lagrange function L consists of the quadratic objective function F 2 from (23) and λ i times the linear constraints (46), L(c 1, c 1,..., c N 1, c N 1, λ 1,..., λ N 1 ) = F 2 + N 1 λ i (c i n i + c i n i ).(48) Computing the partial derivatives of L with respect to C i := (c i, c i ) and λ i, L C i = 0, L λ i = 0, i = 1,..., N 1, (49) leads to a system of 7(N 1) linear equations A c C c = B c. (50) 23

25 We find B c, C c, A c by extending B, C, A from Eq. (25), (26), (27) respectively in the following way. The vector B c is equal to the vector B extended by (N 1) zeros, and the vector of unknowns C c is derived from C by adding the N 1 Lagrange multipliers λ i at the end, B c = (B T, 0,..., 0), }{{} C c = ( ) C T T, λ 1,..., λ N 1. (51) N 1 The symmetric matrix A c is a block matrix with A from Eq. (27) as an 6(N 1) 6(N 1) block in the upper left corner, the 6(N 1) (N 1) block matrix N in the upper right corner, its transpose N T and the (N 1) (N 1) zero matrix 0 in the lower two blocks, n T 1 n T 1 A c A N = with N T = (52) N T 0 n T N 1 n T N 1 Once we have solved (50) we use the helical motions corresponding to (c i, c i ), see Sect. 3, to separately reposition each intermediate position Φ i i+1 of the moving surface and of the feature points q k i. Note that after we have applied the helical motions, the resulting positions Φ i i+1 might not be in contact with Ψ anymore. Therefore we have to perform the following position correction, which we just briefly outline. 5.3 Position correction Compute the common normal (see e.g. Sohn et at. (2002) and the references therein) of Ψ and Φ i i+1 which intersects the two surfaces in points p i i+1,ψ and p i i+1,φ. Then translate Φ i i+1 by the vector t i i+1 := p i i+1,ψ p i i+1,φ. (53) Now the fixed and the copies of the moving surface are again in contact and we continue with the next subdivision step of the gliding motion design algorithm. Fig. 11 shows the inserted copies of the moving surface Φ after the first to fourth subdivision step. Fig. 12 shows the contact curves on the fixed surface Ψ and on the moving surface Φ. Remark 14 We have presented the subdivision algorithms for smooth and gliding motion design such that the computed motion interpolates the given positions. With the same approach, using a generalization of the approximating variational subdivision presented in Sect. 2.2, we can design smooth and gliding motions that approximate given input positions. 24

26 Φ2 Φ2 Φ1 Φ1 Φ3 PSfrag replacements PSfrag replacements Ψ Φ3 Ψ Φ4 Φ4 Φ2 Φ2 Φ1 Φ1 Φ3 PSfrag replacements PSfrag replacements Ψ Φ3 Ψ Φ4 Φ4 Fig. 11. The positions of the moving surface after the first to fourth subdivision step of the gliding motion design algorithm. PSfrag replacements PSfrag replacements Ψ Φ Ψ Φ Fig. 12. The contact curve on fixed and moving surface. 6 Conclusions The main contribution of this paper is a subdivision algorithm for geometric design of motions constraint by a contacting surface pair. The presented algorithm uses instantaneous kinematics, line geometry, and variational subdivision algorithms. The results can be extended to the design of smooth motions in the presence of obstacles. There are many algorithms to design smooth motions based on techniques from Computer Aided Geometric Design, and a variety of solutions for the avoidance of obstacles based on Computational Geometry. Whereas the latter approaches do not deal with spline-type smooth motions, the former are lacking an efficient treatment of obstacles. Using the 25

SUBDIVISION ALGORITHMS FOR MOTION DESIGN BASED ON HOMOLOGOUS POINTS

SUBDIVISION ALGORITHMS FOR MOTION DESIGN BASED ON HOMOLOGOUS POINTS SUBDIVISION ALGORITHMS FOR MOTION DESIGN BASED ON HOMOLOGOUS POINTS M. Hofer and H. Pottmann Institute of Geometry Vienna University of Technology, Vienna, Austria hofer@geometrie.tuwien.ac.at, pottmann@geometrie.tuwien.ac.at

More information

SIMULTANEOUS REGISTRATION OF MULTIPLE VIEWS OF A 3D OBJECT Helmut Pottmann a, Stefan Leopoldseder a, Michael Hofer a

SIMULTANEOUS REGISTRATION OF MULTIPLE VIEWS OF A 3D OBJECT Helmut Pottmann a, Stefan Leopoldseder a, Michael Hofer a SIMULTANEOUS REGISTRATION OF MULTIPLE VIEWS OF A 3D OBJECT Helmut Pottmann a, Stefan Leopoldseder a, Michael Hofer a a Institute of Geometry, Vienna University of Technology, Wiedner Hauptstr. 8 10, A

More information

From curve design algorithms to the design of rigid body motions

From curve design algorithms to the design of rigid body motions The Visual Computer paper No. TVC02-076 From curve design algorithms to the design of rigid body motions Michael Hofer, Helmut Pottmann, Bahram Ravani 2 Geometric Modeling and Industrial Geometry Group,

More information

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS ALBA PEREZ Robotics and Automation Laboratory University of California, Irvine Irvine, CA 9697 email: maperez@uci.edu AND J. MICHAEL MCCARTHY Department of Mechanical

More information

Parameterization of triangular meshes

Parameterization of triangular meshes Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to

More information

A second order algorithm for orthogonal projection onto curves and surfaces

A second order algorithm for orthogonal projection onto curves and surfaces A second order algorithm for orthogonal projection onto curves and surfaces Shi-min Hu and Johannes Wallner Dept. of Computer Science and Technology, Tsinghua University, Beijing, China shimin@tsinghua.edu.cn;

More information

Freeform Curves on Spheres of Arbitrary Dimension

Freeform Curves on Spheres of Arbitrary Dimension Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures

More information

10. Cartesian Trajectory Planning for Robot Manipulators

10. Cartesian Trajectory Planning for Robot Manipulators V. Kumar 0. Cartesian rajectory Planning for obot Manipulators 0.. Introduction Given a starting end effector position and orientation and a goal position and orientation we want to generate a smooth trajectory

More information

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1 Spline Curves Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1 Problem: In the previous chapter, we have seen that interpolating polynomials, especially those of high degree, tend to produce strong

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

Almost Curvature Continuous Fitting of B-Spline Surfaces

Almost Curvature Continuous Fitting of B-Spline Surfaces Journal for Geometry and Graphics Volume 2 (1998), No. 1, 33 43 Almost Curvature Continuous Fitting of B-Spline Surfaces Márta Szilvási-Nagy Department of Geometry, Mathematical Institute, Technical University

More information

Curve Subdivision in SE(2)

Curve Subdivision in SE(2) Curve Subdivision in SE(2) Jan Hakenberg, ETH Zürich 2018-07-26 Figure: A point in the special Euclidean group SE(2) consists of a position in the plane and a heading. The figure shows two rounds of cubic

More information

Geometry of the Squared Distance Function to Curves and Surfaces. H. Pottmann, M. Hofer

Geometry of the Squared Distance Function to Curves and Surfaces. H. Pottmann, M. Hofer Geometry of the Squared Distance Function to Curves and Surfaces H. Pottmann, M. Hofer Technical Report No. 90 January 2002 Geometry of the Squared Distance Function to Curves and Surfaces Helmut Pottmann

More information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces. Matthias Teschner Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

More information

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Path and Trajectory specification Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Specifying the desired motion to achieve a specified goal is often a

More information

Optimal Synthesis of Overconstrained 6R Linkages by Curve Evolution

Optimal Synthesis of Overconstrained 6R Linkages by Curve Evolution Optimal Synthesis of Overconstrained 6R Linkages by Curve Evolution Tudor-Dan Rad and Hans-Peter Schröcker University of Innsbruck, Unit Geometry and CAD, Technikerstraße 13, 6020 Innsbruck, Austria, e-mail:

More information

Singularity Loci of Planar Parallel Manipulators with Revolute Joints

Singularity Loci of Planar Parallel Manipulators with Revolute Joints Singularity Loci of Planar Parallel Manipulators with Revolute Joints ILIAN A. BONEV AND CLÉMENT M. GOSSELIN Département de Génie Mécanique Université Laval Québec, Québec, Canada, G1K 7P4 Tel: (418) 656-3474,

More information

Lecture 2.2 Cubic Splines

Lecture 2.2 Cubic Splines Lecture. Cubic Splines Cubic Spline The equation for a single parametric cubic spline segment is given by 4 i t Bit t t t i (..) where t and t are the parameter values at the beginning and end of the segment.

More information

calibrated coordinates Linear transformation pixel coordinates

calibrated coordinates Linear transformation pixel coordinates 1 calibrated coordinates Linear transformation pixel coordinates 2 Calibration with a rig Uncalibrated epipolar geometry Ambiguities in image formation Stratified reconstruction Autocalibration with partial

More information

MOTION OF A LINE SEGMENT WHOSE ENDPOINT PATHS HAVE EQUAL ARC LENGTH. Anton GFRERRER 1 1 University of Technology, Graz, Austria

MOTION OF A LINE SEGMENT WHOSE ENDPOINT PATHS HAVE EQUAL ARC LENGTH. Anton GFRERRER 1 1 University of Technology, Graz, Austria MOTION OF A LINE SEGMENT WHOSE ENDPOINT PATHS HAVE EQUAL ARC LENGTH Anton GFRERRER 1 1 University of Technology, Graz, Austria Abstract. The following geometric problem originating from an engineering

More information

Exponential Maps for Computer Vision

Exponential Maps for Computer Vision Exponential Maps for Computer Vision Nick Birnie School of Informatics University of Edinburgh 1 Introduction In computer vision, the exponential map is the natural generalisation of the ordinary exponential

More information

13. Learning Ballistic Movementsof a Robot Arm 212

13. Learning Ballistic Movementsof a Robot Arm 212 13. Learning Ballistic Movementsof a Robot Arm 212 13. LEARNING BALLISTIC MOVEMENTS OF A ROBOT ARM 13.1 Problem and Model Approach After a sufficiently long training phase, the network described in the

More information

Chapter 7 Practical Considerations in Modeling. Chapter 7 Practical Considerations in Modeling

Chapter 7 Practical Considerations in Modeling. Chapter 7 Practical Considerations in Modeling CIVL 7/8117 1/43 Chapter 7 Learning Objectives To present concepts that should be considered when modeling for a situation by the finite element method, such as aspect ratio, symmetry, natural subdivisions,

More information

DETC APPROXIMATE MOTION SYNTHESIS OF SPHERICAL KINEMATIC CHAINS

DETC APPROXIMATE MOTION SYNTHESIS OF SPHERICAL KINEMATIC CHAINS Proceedings of the ASME 2007 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2007 September 4-7, 2007, Las Vegas, Nevada, USA DETC2007-34372

More information

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing Visual servoing vision allows a robotic system to obtain geometrical and qualitative information on the surrounding environment high level control motion planning (look-and-move visual grasping) low level

More information

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions International Journal of Mathematical Modelling & Computations Vol. 02, No. 03, 2012, 211-220 Approximation of 3D-Parametric Functions by Bicubic B-spline Functions M. Amirfakhrian a, a Department of Mathematics,

More information

Alternative interpretation of the Plücker quadric s ambient space and its application

Alternative interpretation of the Plücker quadric s ambient space and its application Alternative interpretation of the Plücker quadric s ambient space and its application Georg Nawratil Institute of Discrete Mathematics and Geometry Funded by FWF Project Grant No. P24927-N25 18th ICGG,

More information

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017) Homework Assignment Sheet I (Due 20-Oct-2017) Assignment 1 Let n N and A be a finite set of cardinality n = A. By definition, a permutation of A is a bijective function from A to A. Prove that there exist

More information

Visual Recognition: Image Formation

Visual Recognition: Image Formation Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know

More information

Envelopes Computational Theory and Applications

Envelopes Computational Theory and Applications Envelopes Computational Theory and Applications Category: survey Abstract for points, whose tangent plane maps to a line under the projection. These points form the so-called Based on classical geometric

More information

ξ ν ecliptic sun m λ s equator

ξ ν ecliptic sun m λ s equator Attitude parameterization for GAIA L. Lindegren (1 July ) SAG LL Abstract. The GAIA attaitude may be described by four continuous functions of time, q1(t), q(t), q(t), q4(t), which form a quaternion of

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

Subdivision Curves and Surfaces

Subdivision Curves and Surfaces Subdivision Surfaces or How to Generate a Smooth Mesh?? Subdivision Curves and Surfaces Subdivision given polyline(2d)/mesh(3d) recursively modify & add vertices to achieve smooth curve/surface Each iteration

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each

More information

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates METR4202 -- Robotics Tutorial 2 Week 2: Homogeneous Coordinates The objective of this tutorial is to explore homogenous transformations. The MATLAB robotics toolbox developed by Peter Corke might be a

More information

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions Nira Dyn School of Mathematical Sciences Tel Aviv University Michael S. Floater Department of Informatics University of

More information

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link) Advanced Computer Graphics (Spring 03) CS 83, Lecture 7: Subdivision Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs83/sp3 Slides courtesy of Szymon Rusinkiewicz, James O Brien with material from Denis

More information

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li. Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve

More information

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph Circle and Sphere as rational splines Claudia Bangert and Hartmut Prautzsch Universitat Karlsruhe, Fakultat fur Informatik D-8 Karlsruhe, Germany corresponding author, e-mail: prau@ira.uka.de Abstract

More information

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position. Kinematics Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position. 1/31 Statics deals with the forces and moments which are aplied on the mechanism

More information

State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor and Virtual Joint Model

State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor and Virtual Joint Model Proceedings of the 2001 IEEE International Conference on Robotics & Automation Seoul, Korea May 21-26, 2001 State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor

More information

Manipulator trajectory planning

Manipulator trajectory planning Manipulator trajectory planning Václav Hlaváč Czech Technical University in Prague Faculty of Electrical Engineering Department of Cybernetics Czech Republic http://cmp.felk.cvut.cz/~hlavac Courtesy to

More information

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors. Visualizing Quaternions Part II: Visualizing Quaternion Geometry Andrew J. Hanson Indiana University Part II: OUTLINE The Spherical Projection Trick: Visualizing unit vectors. Quaternion Frames Quaternion

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

Planar Robot Kinematics

Planar Robot Kinematics V. Kumar lanar Robot Kinematics The mathematical modeling of spatial linkages is quite involved. t is useful to start with planar robots because the kinematics of planar mechanisms is generally much simpler

More information

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Applications. Human and animal motion Robotics control Hair Plants Molecular motion Multibody dynamics Applications Human and animal motion Robotics control Hair Plants Molecular motion Generalized coordinates Virtual work and generalized forces Lagrangian dynamics for mass points

More information

Structure from Motion. Prof. Marco Marcon

Structure from Motion. Prof. Marco Marcon Structure from Motion Prof. Marco Marcon Summing-up 2 Stereo is the most powerful clue for determining the structure of a scene Another important clue is the relative motion between the scene and (mono)

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 24

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 24 Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras Lecture - 24 So in today s class, we will look at quadrilateral elements; and we will

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model

More information

Homogeneous coordinates, lines, screws and twists

Homogeneous coordinates, lines, screws and twists Homogeneous coordinates, lines, screws and twists In lecture 1 of module 2, a brief mention was made of homogeneous coordinates, lines in R 3, screws and twists to describe the general motion of a rigid

More information

ECE 470: Homework 5. Due Tuesday, October 27 in Seth Hutchinson. Luke A. Wendt

ECE 470: Homework 5. Due Tuesday, October 27 in Seth Hutchinson. Luke A. Wendt ECE 47: Homework 5 Due Tuesday, October 7 in class @:3pm Seth Hutchinson Luke A Wendt ECE 47 : Homework 5 Consider a camera with focal length λ = Suppose the optical axis of the camera is aligned with

More information

Finite Element Methods

Finite Element Methods Chapter 5 Finite Element Methods 5.1 Finite Element Spaces Remark 5.1 Mesh cells, faces, edges, vertices. A mesh cell is a compact polyhedron in R d, d {2,3}, whose interior is not empty. The boundary

More information

Swept Volumes. Vienna University of Technology,

Swept Volumes. Vienna University of Technology, 1 Swept Volumes Martin Peternell 1, Helmut Pottmann 1, Tibor Steiner 1 and Hongkai Zhao 2 1 Vienna University of Technology, martin@geometrie.tuwien.ac.at pottmann@geometrie.tuwien.ac.at, tibor@geometrie.tuwien.ac.at

More information

Jorg s Graphics Lecture Notes Coordinate Spaces 1

Jorg s Graphics Lecture Notes Coordinate Spaces 1 Jorg s Graphics Lecture Notes Coordinate Spaces Coordinate Spaces Computer Graphics: Objects are rendered in the Euclidean Plane. However, the computational space is better viewed as one of Affine Space

More information

Parallel and perspective projections such as used in representing 3d images.

Parallel and perspective projections such as used in representing 3d images. Chapter 5 Rotations and projections In this chapter we discuss Rotations Parallel and perspective projections such as used in representing 3d images. Using coordinates and matrices, parallel projections

More information

Geometric structures on manifolds

Geometric structures on manifolds CHAPTER 3 Geometric structures on manifolds In this chapter, we give our first examples of hyperbolic manifolds, combining ideas from the previous two chapters. 3.1. Geometric structures 3.1.1. Introductory

More information

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1 CHAPTER 1 INTRODUCTION Modern mechanical and aerospace systems are often very complex and consist of many components interconnected by joints and force elements such as springs, dampers, and actuators.

More information

Guidelines for proper use of Plate elements

Guidelines for proper use of Plate elements Guidelines for proper use of Plate elements In structural analysis using finite element method, the analysis model is created by dividing the entire structure into finite elements. This procedure is known

More information

Using Subspace Constraints to Improve Feature Tracking Presented by Bryan Poling. Based on work by Bryan Poling, Gilad Lerman, and Arthur Szlam

Using Subspace Constraints to Improve Feature Tracking Presented by Bryan Poling. Based on work by Bryan Poling, Gilad Lerman, and Arthur Szlam Presented by Based on work by, Gilad Lerman, and Arthur Szlam What is Tracking? Broad Definition Tracking, or Object tracking, is a general term for following some thing through multiple frames of a video

More information

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011 Rotation and Orientation: Fundamentals Perelyaev Sergei VARNA, 0 What is Rotation? Not intuitive Formal definitions are also confusing Many different ways to describe Rotation (direction cosine) matri

More information

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation and the type of an object. Even simple scaling turns a

More information

Camera model and multiple view geometry

Camera model and multiple view geometry Chapter Camera model and multiple view geometry Before discussing how D information can be obtained from images it is important to know how images are formed First the camera model is introduced and then

More information

Intro to Curves Week 1, Lecture 2

Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

More information

Chapter 4. Clustering Core Atoms by Location

Chapter 4. Clustering Core Atoms by Location Chapter 4. Clustering Core Atoms by Location In this chapter, a process for sampling core atoms in space is developed, so that the analytic techniques in section 3C can be applied to local collections

More information

Computer Vision. Coordinates. Prof. Flávio Cardeal DECOM / CEFET- MG.

Computer Vision. Coordinates. Prof. Flávio Cardeal DECOM / CEFET- MG. Computer Vision Coordinates Prof. Flávio Cardeal DECOM / CEFET- MG cardeal@decom.cefetmg.br Abstract This lecture discusses world coordinates and homogeneous coordinates, as well as provides an overview

More information

Constraint-Based Task Programming with CAD Semantics: From Intuitive Specification to Real-Time Control

Constraint-Based Task Programming with CAD Semantics: From Intuitive Specification to Real-Time Control Constraint-Based Task Programming with CAD Semantics: From Intuitive Specification to Real-Time Control Nikhil Somani, Andre Gaschler, Markus Rickert, Alexander Perzylo, and Alois Knoll Abstract In this

More information

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 18 2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

More information

Visualizing High-Order Surface Geometry

Visualizing High-Order Surface Geometry 1 Computer-Aided Design and Applications 2009 CAD Solutions, LLC http://www.cadanda.com Visualizing High-Order Surface Geometry Pushkar P. Joshi 1,2 and Carlo H. Séquin 2 1 Adobe Systems Inc., pushkarj@adobe.com

More information

Chapter 18. Geometric Operations

Chapter 18. Geometric Operations Chapter 18 Geometric Operations To this point, the image processing operations have computed the gray value (digital count) of the output image pixel based on the gray values of one or more input pixels;

More information

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

More information

Kinematics of Closed Chains

Kinematics of Closed Chains Chapter 7 Kinematics of Closed Chains Any kinematic chain that contains one or more loops is called a closed chain. Several examples of closed chains were encountered in Chapter 2, from the planar four-bar

More information

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces Chapter 6 Curves and Surfaces In Chapter 2 a plane is defined as the zero set of a linear function in R 3. It is expected a surface is the zero set of a differentiable function in R n. To motivate, graphs

More information

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves

More information

Curve and Surface Basics

Curve and Surface Basics Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric

More information

The Manifold of Planes that Intersect Four Straight Lines in Points of a Circle

The Manifold of Planes that Intersect Four Straight Lines in Points of a Circle Journal for Geometry and Graphics Volume 8 (2004), No. 1, 59 68. The Manifold of Planes that Intersect Four Straight Lines in Points of a Circle Hans-Peter Schröcker Institute of Discrete Mathematics and

More information

On Smooth Bicubic Surfaces from Quad Meshes

On Smooth Bicubic Surfaces from Quad Meshes On Smooth Bicubic Surfaces from Quad Meshes Jianhua Fan and Jörg Peters Dept CISE, University of Florida Abstract. Determining the least m such that one m m bi-cubic macropatch per quadrilateral offers

More information

An introduction to interpolation and splines

An introduction to interpolation and splines An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve

More information

Jacobian: Velocities and Static Forces 1/4

Jacobian: Velocities and Static Forces 1/4 Jacobian: Velocities and Static Forces /4 Models of Robot Manipulation - EE 54 - Department of Electrical Engineering - University of Washington Kinematics Relations - Joint & Cartesian Spaces A robot

More information

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions Nira Dyn Michael S. Floater Kai Hormann Abstract. We present a new four-point subdivision scheme that generates C 2 curves.

More information

Bumptrees for Efficient Function, Constraint, and Classification Learning

Bumptrees for Efficient Function, Constraint, and Classification Learning umptrees for Efficient Function, Constraint, and Classification Learning Stephen M. Omohundro International Computer Science Institute 1947 Center Street, Suite 600 erkeley, California 94704 Abstract A

More information

METR 4202: Advanced Control & Robotics

METR 4202: Advanced Control & Robotics Position & Orientation & State t home with Homogenous Transformations METR 4202: dvanced Control & Robotics Drs Surya Singh, Paul Pounds, and Hanna Kurniawati Lecture # 2 July 30, 2012 metr4202@itee.uq.edu.au

More information

Physics 235 Chapter 6. Chapter 6 Some Methods in the Calculus of Variations

Physics 235 Chapter 6. Chapter 6 Some Methods in the Calculus of Variations Chapter 6 Some Methods in the Calculus of Variations In this Chapter we focus on an important method of solving certain problems in Classical Mechanics. In many problems we need to determine how a system

More information

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 36

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 36 Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras Lecture - 36 In last class, we have derived element equations for two d elasticity problems

More information

BS-Patch: Constrained Bezier Parametric Patch

BS-Patch: Constrained Bezier Parametric Patch BS-Patch: Constrained Bezier Parametric Patch VACLAV SKALA, VIT ONDRACKA Department of Computer Science and Engineering University of West Bohemia Univerzitni 8, CZ 06 14 Plzen CZECH REPUBLIC skala@kiv.zcu.cz

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces Using Semi-Regular 8 Meshes for Subdivision Surfaces Luiz Velho IMPA Instituto de Matemática Pura e Aplicada Abstract. Semi-regular 8 meshes are refinable triangulated quadrangulations. They provide a

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

INTRODUCTION CHAPTER 1

INTRODUCTION CHAPTER 1 CHAPTER 1 INTRODUCTION Modern mechanical and aerospace systems are often very complex and consist of many components interconnected by joints and force elements such as springs, dampers, and actuators.

More information

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Gil Zigelman Ron Kimmel Department of Computer Science, Technion, Haifa 32000, Israel and Nahum Kiryati Department of Electrical Engineering

More information

CSE 252B: Computer Vision II

CSE 252B: Computer Vision II CSE 252B: Computer Vision II Lecturer: Serge Belongie Scribe: Sameer Agarwal LECTURE 1 Image Formation 1.1. The geometry of image formation We begin by considering the process of image formation when a

More information

Example Lecture 12: The Stiffness Method Prismatic Beams. Consider again the two span beam previously discussed and determine

Example Lecture 12: The Stiffness Method Prismatic Beams. Consider again the two span beam previously discussed and determine Example 1.1 Consider again the two span beam previously discussed and determine The shearing force M1 at end B of member B. The bending moment M at end B of member B. The shearing force M3 at end B of

More information

Animation Lecture 10 Slide Fall 2003

Animation Lecture 10 Slide Fall 2003 Animation Lecture 10 Slide 1 6.837 Fall 2003 Conventional Animation Draw each frame of the animation great control tedious Reduce burden with cel animation layer keyframe inbetween cel panoramas (Disney

More information

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 9 - Designing Surfaces Triangular surfaces A surface can be discretized by a collection of points and triangles Each triangle is a subset of a plane Every point on the surface can be expressed as an affine

More information

Lecture 3: Camera Calibration, DLT, SVD

Lecture 3: Camera Calibration, DLT, SVD Computer Vision Lecture 3 23--28 Lecture 3: Camera Calibration, DL, SVD he Inner Parameters In this section we will introduce the inner parameters of the cameras Recall from the camera equations λx = P

More information

Robotics (Kinematics) Winter 1393 Bonab University

Robotics (Kinematics) Winter 1393 Bonab University Robotics () Winter 1393 Bonab University : most basic study of how mechanical systems behave Introduction Need to understand the mechanical behavior for: Design Control Both: Manipulators, Mobile Robots

More information

A DH-parameter based condition for 3R orthogonal manipulators to have 4 distinct inverse kinematic solutions

A DH-parameter based condition for 3R orthogonal manipulators to have 4 distinct inverse kinematic solutions Wenger P., Chablat D. et Baili M., A DH-parameter based condition for R orthogonal manipulators to have 4 distinct inverse kinematic solutions, Journal of Mechanical Design, Volume 17, pp. 150-155, Janvier

More information

THE COMPUTER MODELLING OF GLUING FLAT IMAGES ALGORITHMS. Alekseí Yu. Chekunov. 1. Introduction

THE COMPUTER MODELLING OF GLUING FLAT IMAGES ALGORITHMS. Alekseí Yu. Chekunov. 1. Introduction MATEMATIČKI VESNIK MATEMATIQKI VESNIK 69, 1 (2017), 12 22 March 2017 research paper originalni nauqni rad THE COMPUTER MODELLING OF GLUING FLAT IMAGES ALGORITHMS Alekseí Yu. Chekunov Abstract. In this

More information