Computing Intersections of Planar Spline Curves using Knot Insertion

Size: px
Start display at page:

Download "Computing Intersections of Planar Spline Curves using Knot Insertion"

Transcription

1 NOTICE: This is the author s version of a wor that was accepted for publication in Computer Aided Geometric Design. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this wor since it was submitted for publication. A definitive version was subsequently published in Computer Aided Geometric Design, Volume 6, Issue 3, March 009, Pages , doi: /j.cagd Computing Intersections of Planar Spline Curves using Knot Insertion pre-print Knut Møren Martin Reimers Christian Schulz CMA / IFI, University of Oslo Abstract We present a new method for computing intersections of two parametric B-Spline curves. We use an intersection of the control polygons as an approximation for an intersection of the curves in combination with not insertion. The resulting algorithm is asymptotically Newton-lie, but without the need of a starting value. Lie Newton s method, it converges quadratically at transversal intersections, the analogue to simple roots. It is a generalization of an algorithm developed by two of the authors for computing zeros of spline functions. Keywords: curve intersection, spline, B-Spline, not insertion, control polygon 1 Introduction The problem of finding the intersections between two parametric curves is fundamental in Geometric Modeling. The curves are commonly represented in terms of B-Splines which means that a rich theoretical and practical toolbox is available, and a good algorithm would exploit the B-spline properties in the design of the intersection algorithm. Perhaps the most important of these properties is that the coefficients of a curve represented in terms of B-splines converge to the curve when the width of the polynomial pieces goes to zero. A particularly simple way to view this property in action is to successively divide the parameter intervals of all polynomial pieces in two parts of equal width; we will refer to this as uniform subdivision. By performing uniform subdivision sufficiently many times, the coefficients will come arbitrarily close to the spline curve. A consequence of this is that the piecewise linear interpolant to neighbouring coefficients (usually referred to as the control polygon) will converge to the curve. B-splines are nonnegative and sum to one which means that linear combinations of B-splines have the convex hull property, i.e., any point on a spline curve lies within the convex hull of the B-spline coefficients. There is also a local convex hull property: If we restrict our attention to one polynomial piece of a spline curve of degree d, then only d+1 B-splines are nonzero so the associated curve segment lies within the convex hull of the corresponding coefficients. This can be exploited when computing intersections since if the local convex hulls of the coefficients of two polynomial segments do not overlap, then it is not possible for the curve segments to intersect either. If the two curves are f and g (typically curves in the plane), parameterized by s and t, the problem is to solve the vector equation f(s) = g(t). (1) The most obvious approach is to apply one of the classical methods for computing roots of equations, e.g. Newton s method. The disadvantage is that these methods will only converge if one or more starting values close to the intersection are supplied. Finding those starting values can itself be a difficult tas. An alternative algorithm is to perform uniform subdivision until the control polygons come sufficiently close to the spline curves and then use the intersections between the control polygons as approximations 1

2 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print to the intersections between the curves. This strategy can be improved by excluding the curve segments where the local convex hull property implies that no intersections can occur. In essence, this is the intersection algorithm suggested in [4]. The disadvantage of this approach is that the convergence to the actual intersections is slow since the subdivision step is based on a simple bisection of the parameter intervals. This therefore suggests an alternative method which uses subdivision to home in on the intersections and then switches to the quadratically convergent Newton s method to compute more accurate intersections, see [14]. However, this still leaves the problem of determining exactly when it is safe to switch to Newton s method. Bézier clipping [13] is a variation on the subdivision approach that clips away the regions of the curves where no intersections can tae place in a clever way which leads to a quadratically convergent method, see [11]. The paper [8] describes a general family of methods for solving systems of polynomial equations in several variables, of which equation (1) is a special case. The methods are reminiscent of the classical subdivision methods for polynomials on Bernstein form, but include a preconditioning step. An interesting paper is [15] which is concerned with developing an algorithm which can guarantee that all intersections (including tangential ones) between two polynomial curves on Bernstein form can be found. The algorithm maes use of so-called separation bounds which say something about how close two curves described in terms of floating point numbers with a given number of bits can be without having an intersection. The basic algorithm is essentially a subdivision algorithm lie the one in [4], but the tests for intersections are much more sophisticated. The emphasis is on guaranteeing that all intersections and their type are found; speed and convergence rate is not discussed much. Yet another family of methods for solving intersection problems is discussed in [] where one of the curves is rewritten (approximately) in implicit form. The algorithm that we describe and analyze in this paper is a generalization of the method presented in [6] for finding roots of spline functions. The new algorithm supplements and improves on the algorithms mentioned above in different ways: It wors directly with splines expressed in terms of B-splines; it focuses on finding intersections rather than removing parts where no intersections can occur; it is based on subdivision, but is adaptive in that the points at which to subdivide are determined by a very simple strategy that leads to quadratic convergence at transversal intersections; and it requires no starting values even though it converges as quicly as Newton s method. The algorithm may be used on its own, but it should also fit into some of the hybrid strategies mentioned above. It should be noted that the new algorithm is dependent upon the control polygons of the two curves having an intersection. In the case of non-intersecting control polygons (see Figure 5b) a subdivision preprocessing step will necessarily lead to intersecting control polygons near transversal intersections. After an introduction of basic notation in Section, we describe the new algorithm in Section 3. The properties of the algorithm are analyzed in Section 4, succeeded by some numerical examples in Section 5. A discussion of open questions is given in Section 6. Basic Notation A spline curve in R m is a vector function on the form f(t) = n i=1 c ib i,d,t (t), where each control point c i lies in R m, and {B i,d,t } n i=1 is the collection of B-splines of degree d associated with the not vector t = (t i ) n+d+1 i=1. We denote the set of all such curves by S m d,t. Throughout the paper we always assume that t i < t i+d for i =,..., n (all nots except the first and the last having at most multiplicity d such that the splines are continuous and the B-splines are linearly independent) and that the first and last d + 1 nots are identical (t 1 = t d+1, t n+1 = t n+d+1 ). The latter condition causes no loss of generality as every spline curve can be converted to this form. We are only interested in the part of the spline curve defined on the interval [t d+1, t n+1 ] the rest is identically zero. In this paper we limit ourselves to spline curves in the plane, hence m =. The control polygon of the spline is the piecewise linear interpolant to consecutive control points. For our purposes we need a one-to-one mapping from the parameter interval [t d+1, t n+1 ] to the control polygon. We therefore associate the not average or Greville abscissa t i = (t i t i+d )/d with the

3 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 3 control point c i and define the control polygon Γ f,t of the spline curve f as Γ f,t (t) = t i+1 t c i + t t i c i+1 t i+1 t i t i+1 t i for t in the interval [ t i, t i+1 ). Since t 1 = t d+1 and t n = t n+1, this defines the control polygon on all of [t d+1, t n+1 ). We now from classical spline theory [5, 1] that the control polygon converges quadratically to the spline as the maximal distance between two neighbouring nots tends to zero. Another classical result which will be useful is the observation that inserting a not into the not vector does not change the spline itself, only its control polygon. Let τ be the not to be inserted with τ [t µ, t µ+1 ) and let (b i ) n+1 i=1 be the new control points. Then we have b i = c i for i = 1,..., µ d, b i = τ t i t i+d t i c i + t i+d τ t i+d t i c i 1 for i = µ d + 1,..., µ, and b i = c i 1 for i = µ + 1,..., n + 1, see [1]. As we mentioned above, splines represented in terms of B-splines have a local convex hull property. More precisely, for any t [t j, t j+1 ) the point f(t) is contained in the convex hull of the local control points c j d,..., c j (the smallest convex set that contains all of these points). Obviously, if the unions of all local convex hulls of two spline curves are disjunct, so are the curves. 3 The Intersection Algorithm In [6] the close relationship between a spline and its control polygon is exploited to find the first zero of a spline function by taing the first zero of the control polygon as an approximation to the first zero of the spline. This zero is then inserted into the not vector of the spline and the first zero of the new control polygon is used as an improved approximation. By repeating this, an iterative algorithm is obtained which turns out to converge quadratically to simple zeros. The method can be generalized in a natural way to the computation of an intersection of two parametric spline curves. We use the first intersection of the two control polygons as an approximation to an intersection of the two curves. First here means first according to some order, e.g. a lexicographical order on the parameter values. From this intersection we get a pair of parameter values, one for each curve, which are then inserted as new nots into the not vectors of the corresponding curves. This process can be repeated with the new control polygon as illustrated in Figure 1, the result being a simple iterative method. The algorithm outlined above, together with a detailed analysis of convergence, is the main contribution of this paper. In itself, this is not a foolproof algorithm for computing intersections since two curves may intersect even when the control polygons do not intersect, see Figure 5b. In this situation we need to do some preprocessing before our algorithm will wor. For this we exploit the local convex hull property. More specifically, if the curves intersect, there must be at least one pair of overlapping local convex hulls. We focus on the first such pair and insert the midpoints of the corresponding parameter intervals as new nots in the curves. By possibly repeating this procedure, we now from Theorem 11 that we will eventually end up with intersecting control polygons, at least in the case of a transversal intersection. The resulting Algorithm 1 is shown in Figure. Obvious variations on the preprocessing step may home in on other intersections than the first one, or even all intersections. Any iterative algorithm needs a stopping criterion; we will discuss this together with some examples in Section 5. For transversal intersections the intersecting control polygons determine the limiting behaviour of Algorithm 1. If the algorithm is not stopped, it will generate an infinite sequence of parameter pairs which we will analyze in Section 4. There we show that all accumulation points of the sequence must correspond to intersections between the two spline curves. In addition, if we limit ourselves to curves with only transversal intersections, and if we always insert the first intersection between the two control polygons, we will show that the sequence converges with a quadratic convergence rate. The computation of the parameter pair (σ, τ) corresponding to the intersection of the two control polygons is quite simple. Let f(s) = n f b lb l,d,s (s) be the first and g(t) = n g c lb l,e,t (t) the second

4 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 4 a) Step 0 b) Step 1 c) Step d) Step 3 Figure 1: By repeatedly inserting the intersection of the control polygons as new nots in the splines, we obtain a sequence of control polygons whose intersection converges to the intersection of the curves. In this example both curves have degree three. Start Control polygons intersect? No Two local convex hulls intersect? No Yes Yes Insert first intersection of control polygons Insert first midpoint pair No Found intersection? Yes Curves do not intersect Stop Figure : Algorithm 1. Intersection finding algorithm.

5 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 5 curve. Let the control polygon segments b i 1, b i and c j 1, c j contain the chosen intersection between the control polygons, given by the equation s i σ s i s i 1 b i 1 + σ s i 1 s i s i 1 b i = The left-hand side of this equation can be written as t j τ t j t j 1 c j 1 + τ t j 1 t j t j 1 c j. b i + ( s i σ)(b i 1 b i )/( s i s i 1 ) = b i + (σ s i ) b i, where b i = (b i b i 1 )/( s i s i 1 ). We reformulate the right-hand side in a similar way and end up with the equation b i c j = ((σ s i ) b i (τ t j ) c j ). () If the matrix M = ( b i ) c j is nonsingular, the solution of () is ( ) ( ) σ si = M τ t 1 ( ) b i c j. (3) j Note that the non-singularity of the matrix M is equivalent to the two segments of the two control polygons not being parallel and of nonzero length. 4 Analysis If the two control polygons intersect in every iteration, Algorithm 1 will yield an infinite sequence of parameter pairs (if not stopped). We will now analyze the properties of this sequence. Let f(s) = nf i=1 b ib i,d,s (s) be the first and g(t) = n g i=1 c ib i,e,t (t) the second curve. Let s and t be the not vectors and (σ, τ ) the parameter values of the chosen intersection of the control polygons in iteration. Note that if σ already has multiplicity d in the not vector s, it will not be inserted into s. Inserting this value would not change the control polygon, it would just duplicate an existing control point. We treat τ similarly. Before starting the analysis we introduce needed bacground material in subsection 4.1, followed by some basic results in 4.. The analysis itself starts with showing that the algorithm actually finds an intersection in subsection 4.3. The Convergence analysis can be found in 4.4 and a discussion of the convergence rate in Bacground Material In the literature there are a number of bounds on splines in the functional case. Most of these carry over to spline curves quite easily and we will state the ones we need below. The proofs are straightforward and are left to the reader. The results in this subsection can be applied to spline curves in any dimension, hence we consider curves in R m for a general m. We start by defining two norms for vector valued functions. Recall that the uniform norm of a continuous function defined on an interval [a, b] is defined by f = f,[a,b] = max f(x). x [a,b] Analogously we define the, -norm of a vector valued function f : [a, b] R m as ( ) f, := max f(s). s [a,b] If f(s) = n i=1 c ib i,d,s (s) is a spline curve in R m then we denote the, -norm of the control points by ( ) c, := max ci. i=1,...,n These norms enable us to derive a generalization of a standard stability result for spline functions.

6 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 6 Lemma 1 Every spline curve f in S m d,s can be bounded by K 1 d c, f, c, with the constant K d depending only on the degree d of f. The next lemma gives an estimate of the distance between a spline and a control point. The operator D denotes differentiation from the right. Lemma Let f(s) = n i=1 c ib i,d,s (s) be a spline in S m d,s. Then c i f( s i ) Q d,m (s i+d s i+1 ) D f,,[si+1,s i+d ], where the constant Q d,m depends only on d and m. Scalar versions with proofs of the Lemmas 1 and can be found in Theorem 9.17 and Lemma 4.1 in [5]. The control points of the spline curve can be described by a multivariate function of the nots, c i = F(s i+1,...,s i+d ). (4) The function F is affine and symmetric in each of its arguments, satisfies the diagonal property f(s) = F(s,..., s) and is often referred to as the blossom of f. Blossoming is discussed in [9] and standard spline literature [3, 5] so we only treat the parts we will need later on (see also [6]). 1 For the blossom of the derivative f we will use the notation c i = F (s i+1,..., s i+d 1 ) where c i denotes a control point of f. Moreover, observe that the derivative of the blossom and the blossom of the derivative are related by dd i F(x 1,..., x d ) = F (x 1,...,x i 1, x i+1,..., x d ), (5) where D i F denotes the derivative with respect to x i. In other words, we have c i = dd d F(s i+1,...,s i+d ). We will also need a multivariate Taylor expansion of the blossom F. For an affine function φ(x) we have the simple Taylor expansion φ(x) = φ(z) + (x z)φ (z). (6) As F is an affine function in each of its arguments, repeated application of (6) leads to F (x 1,..., x d ) = F (z 1,..., z d ) + d (x l z l ) D l F (z 1,..., z d ) where D l,r F denotes the second derivative with respect to x l and x r. Finally we will need a bound for the second derivative of the blossom. + d l= l 1 (x l z l )(x r z r )D l,r F (z 1,..., z l, x l+1,...,x d ), Lemma 3 For all x 1,..., x d [a, b] and integers r and l with 1 r < l d the inequality r=1 D l,r F(x 1,..., x d ) K F d(d 1). holds, where the constant K F depends on a, b and f but not on a specific not vector s. 1 Note that the blossom is only defined for polynomials. However, the blossoms of two polynomials that are lined with a certain continuity will agree when they are evaluated at the nots used for the construction of the B-splines, as in (4).

7 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 7 Proof. Two applications of (5) yield D l,r F(x 1,...,x d ) = 1 d(d 1) F ((x 1,..., x d ) \ (x l, x r )). The blossom F i of the ith polynomial piece of the second derivative is continuous and hence its norm F i ((x 1,...,x d ) \ (x l, x r )) is also continuous. By the extreme value theorem the norm therefore achieves its maximum and minimum over the interval [a, b]. Thus F i can be bounded by some constant F i (x 1,..., x d ) K F for all i and x j [a, b] with j = 1,...,d. 4. Basic Results After stating the bacground material we will now cover some basic results which can be applied more generally. Some of the results are well nown and just restated for convenience whereas others extend existing ones to provide more appropriate tools for the analysis. Again the results can be applied to spline curves in any space dimension. First, we will need some simple properties of the control polygon. Consider the derivative Df(s) = nf i= b ib i,d 1,t (s) of f whose B-spline coefficients are given by b i = (b i b i 1 )/( s i s i 1 ). Lemma 4 The norm of the derivative of the control polygon Γ f,s can be bounded by DΓ f,s, = b, K d 1 Df,, where K d 1 is a constant depending only on d and b is the vector of control points of Df. Proof. For s [ s i, s i+1 ) we have DΓ f,s (s) = (b i+1 b i )/( s i+1 s i ) = b i+1. But this means that DΓ f,s (s) = b i+1 and DΓ f,s, = b,. The inequality then follows from Lemma 1. The next lemma shows that the control polygon is Lipschitz continuous. Lemma 5 The distance between two points on the control polygon can be bounded by Γ f,s (x) Γ f,s (y) K d 1 Df, y x. Proof. As the spline f is continuous, so is its control polygon, which leads to Γ f,s (x) Γ f,s (y) y x DΓ f,s (s) ds K d 1 Df, y x. We will need a generalization of Lemma to a situation where the parameter interval is arbitrary. We first consider the function case. Lemma 6 Let f(s) = n f i=1 b ib i,d,s (s) be a spline function, let [α, β] be a parameter interval that contains at least d nots from s and set δ = β α. Then the distance between the control polygon and the spline in the interval [α, β] can be bounded by where the constant R only depends on d. f Γ f,s,[α,β] R δ D f (7) Proof. Let the d nots s ζ+1,..., s ζ+d be in [α, β]. Initially we let s be any value in [s 1, s nf ]. In [10] the general bound f(s) Γ f,s (s) ϕ(s) Γ ϕ,s (s) b, (8) with ϕ(s) = s / was established where b i are the coefficients of the second derivative D f(s) and b = max i b i. Hence it follows from Lemma 1 that b K d D f. (9)

8 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 8 To complete the proof we only need to bound the distance between the spline ϕ(s) = n f i=1 q ib i,d,s (s) = s / and its control polygon, where q i = 1 d(d 1) i+d i+d j=i+1 =j+1 s j s = s i i d = ϕ( s i) i d (10) and i = ( d j=1 (s i+j s i ) ) /(d 1). Observe that ϕ (s) = 1 and q i = 1 for all i which means that ϕ(s) and Γ f,s (s) are convex. Moreover, we see from the right-most expression in (10) that q i ϕ( s i ). Combining this with the fact that ϕ(s) (locally) is contained in the convex hull of the control points leads to Γ ϕ,s (s) ϕ(s). Let us now consider the line h(s) through q ζ and q ζ+1, h(s) = q ζ + (s s ζ ) q ζ+1 q ζ s ζ+1 s ζ = q ζ + (s s ζ ) q ζ+1, where q ζ+1 = ζ+d =ζ+ s /(d 1) is a coefficient of the derivative ϕ (s) = s. We clearly have h( s ζ ) = q ζ and h( s ζ+1 ) = q ζ+1. Since ϕ(s) is a convex spline function, it cannot interpolate two consecutive control points. In other words, either h( s ζ ) = q ζ < ϕ( s ζ ) or h( s ζ+1 ) = q ζ+1 < ϕ( s ζ+1 ) or both inequalities are true. In addition it follows from the convexity of the control polygon that either h Γ ϕ,s or h Γ ϕ,s. Hence both ϕ and Γ ϕ,s lie in the area above h(s), from which we conclude that h(s) Γ ϕ,s (s) ϕ(s) and ϕ(s) Γ ϕ,s (s) ϕ(s) h(s). (11) The quadratic function ϕ(s) = s / can be described completely by its second order Taylor expansion around s ζ given by ϕ(s) = ϕ( s ζ ) + (s s ζ ) s ζ + (s s ζ ) /. Together with the fact that both s ζ and q ζ+1 lie in the interval [α, β], this yields ϕ(s) h(s) = ϕ(s) h(s) ϕ( s ζ ) q ζ + (s s ζ )( s ζ q ζ+1 ) + (s s ζ) R 3 δ + s s ζ δ + (s s ζ) where the constant R 3 depends only on d and comes from the scalar version of Lemma. By restricting s to the interval [α, β] we end up with ϕ(s) h(s) R δ. Combining this with (8), (9) and (11), we are led to the required inequality. Lemma 6 has a natural generalization to parametric curves. Corollary 7 Let f S m d,s be a spline curve, let [α, β] be a parameter interval for f that contains at least d nots from s and set δ = β α. On the interval [α, β] the distance between the control polygon and the spline is bounded by f Γ f,s,,[α,β] R 4 δ D f,, (1) where the constant R 4 depends only on d and m. Our main tool in the proof of convergence is an estimate of the distance between the control polygon and a tangent to a spline curve. This estimate is a simple consequence of Corollary 7. A tangent is well defined at a regular point of f, a point where the derivative is continuous and nonzero, i.e., where D f(s) = D + f(s) 0. Here D denotes one-sided differentiation from the left and D + = D one-sided differentiation from the right. Let f(ρ) be a regular point. Then the tangent line T ρ is given by T ρ (s) := f(ρ) + (s ρ)df(ρ). Lemma 8 Let f(ρ) be a regular point on f S m d,s, let also δ be a positive number such that f is C in [ρ δ, ρ) (ρ, ρ + δ], and suppose that the interval [ρ δ, ρ + δ] contains at least d nots. Then for u [ δ, δ] Γ f,s (ρ + u) T ρ (ρ + u) δ R 5,f, where R 5,f is a constant that depends on f but not on s.

9 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 9 Proof. From a Taylor expansion of f l around ρ we obtain f l (ρ + u) f l (ρ) udf l (ρ) u D f l u D f, for any u [ δ, δ]. This is easily extended to the inequality f(ρ + u) T ρ (ρ + u) u m D f,, which can be combined with Corollary 7 to give the required result Γ f,s (ρ + u) T ρ (ρ + u) Γ f,s (ρ + u) f(ρ + u) + f(ρ + u) T ρ (ρ + u) (R 4 4δ + u ) m D f, δ R 5,f, with R 5,f = ( 4R 4 + ( m/) ) D f,. 4.3 Accumulation Points We are now ready to start the analysis of the infinite sequence of parameter values {σ, τ } generated by Algorithm 1, i.e., the parameter pairs of successive intersections of control polygons. By the Bolzano- Weierstrass theorem this sequence must necessarily have at least one accumulation point since it is bounded. With the aid of Lemma 5 we can show that an accumulation point is an intersection point between the two curves. Theorem 9 If the pair (σ, τ) is an accumulation point of the infinite sequence {σ, τ }, then f(σ) = g(τ). Proof. Let ǫ be any positive, real number. As (σ, τ) is an accumulation point, there must be positive integers, i and j such that s i+1,..., s i+d and σ lie in the open interval (σ 1 ǫ, σ + 1 ǫ) and t j+1,..., t j+e and τ lie in the open interval (τ 1 ǫ, τ + 1 ǫ). Since (σ, τ ) is defined by the relation Γ f,s (σ ) = Γ g,t (τ ), we can bound the distance between f(σ) and g(τ) by f(σ) g(τ) Γf,s (σ ) f(σ) + Γg,t (τ ) g(τ). The distance between f(σ) and Γ f,s (σ ) can be bounded using Lemma, Lemma 5 and the mean value theorem for f; Γf,s (σ ) f(σ) Γf,s (σ ) Γ f,s ( s i ) + Γf,s ( s i ) f( s i ) + f( s i ) f(σ) (K d 1 + 1) Df, ǫ + Q d,m D f, ǫ, where the constants Q d,m and K d 1 depend only on d and m, but not on s. In the same way we obtain the inequality Γg,t (τ ) g(τ) (K e 1 + 1) Dg, ǫ + Q e,m D g, ǫ. Combining these two bounds leads to f(σ) g(τ) R 6 ǫ + R 7 ǫ where R 6 and R 7 are constants. Since this bound holds for any positive value of ǫ we must have f(σ) = g(τ). 4.4 Convergence At transversal intersections one or both of the curves may have discontinuous tangents at the intersection which may complicate the situation. We will consider this later, for now we only consider transversal intersections at regular points.

10 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 10 T f,sa g Γ g f dist g,f U f θ θ U g dist f +,g O f (ǫ 1) T g,ta O g( ǫ 1) Γ f Figure 3: The situation around a transversal intersection. Definition 10 An intersection between two parametric curves f and g at the regular points f(σ) = g(τ) is said to be a transversal intersection if ( ) det Df(σ) Dg(τ) 0. The variation diminishing property of splines guarantees that the control polygon of a spline must always have a zero near a zero of a spline function. We need an analogous result for intersections which guarantees that the control polygons of two spline curves intersect near an intersection of the two curves. Lemma 8 will help us establish this ind of result. Theorem 11 Suppose that the two spline curves f S d,s and g S e,t have a transversal intersection at (σ, τ). Then the two control polygons will intersect at least once in the intervals (σ ǫ 1, σ + ǫ 1 ) and (τ ǫ 1, τ + ǫ 1 ) provided the positive number ǫ 1 satisfies the two conditions: 1. The curve f has at least d nots in the interval [σ ǫ 1, σ + ǫ 1 ] and g has at least e nots in [τ ǫ 1, τ + ǫ 1 ].. The number ǫ 1 is smaller than a number ǫ that only depends on f and g. The two conditions provide lower and upper bounds on ǫ 1. The first condition which requires that we have enough nots in the intervals [σ ǫ 1, σ + ǫ 1 ] and [τ ǫ 1, τ + ǫ 1 ], gives a lower bound λ on ǫ 1, while the second condition gives the upper bound ǫ. It may well happen that λ > ǫ in which case the control polygons may not intersect even though the two curves intersect. On the other hand, the lower bound depends on the nots while the upper bound is independent of the nots. This means that by inserting nots sufficiently near the intersection, we can always decrease λ so that it becomes smaller than ǫ. Proof. The idea behind the proof is illustrated in Figure 3. Since f and g are piecewise polynomials, there exists a δ > 0 such that f is C in [σ δ, σ) (σ, σ+δ] and g is C in [τ δ, τ) (τ, τ +δ]. Initially, we assume that we can satisfy both conditions by letting ǫ 1 satisfy 0 < ǫ 1 < δ, and we let i and j be such that s i+1,..., s i+d [σ ǫ 1, σ +ǫ 1 ] and t j+1,..., t j+e [τ ǫ 1, τ +ǫ 1 ]. According to Lemma 8 this means that for all u [ ǫ 1, ǫ 1 ] we have Γf (σ + u) T f,σ (σ + u) ǫ 1 R 5,f ǫ 1 R 8, (13) Γ g (τ + u) T g,τ (τ + u) ǫ 1 R 5,g ǫ 1 R 8, (14) where R 8 := max(r 5,f, R 5,g ). For each u [ ǫ 1, ǫ 1 ] we let O f (u) denote the circle with center at T f,σ (σ + u) and radius ǫ 1 R 8, and we let U f denote the union of these circles as u varies in the interval [ ǫ 1, ǫ 1 ], U f = u [ ǫ1,ǫ 1]O f (u).

11 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 11 The set U g is generated by similar circles centered at T g,τ (τ + u). To reach the desired conclusion, we assume that ǫ 1 is so small that the two circles O f ( ǫ 1 ) and O f (ǫ 1 ) do not intersect U g and the two circles O g ( ǫ 1 ) and O g (ǫ 1 ) do not intersect U f. We will later deduce conditions that ensure that such an ǫ 1 exists. We now from (13) and (14) that Γ f (σ + u) U f and that Γ g (τ + u) U g for all u [ ǫ 1, ǫ 1 ], and that U f and U g intersect since they share the circle centered at the intersection point. Because we have a transversal intersection, the two circles O f (±ǫ 1 ) lie on opposite sides of U g and therefore the points Γ f (σ ± ǫ 1 ) do not lie in U g, but on opposite sides of it. Similarly the two points Γ g (τ ± ǫ 1 ) do not lie in the set U f, but on opposite sides of it. Hence the control polygons must intersect at least once in the intersection of U f and U g. We are now left with the tas to determine an upper bound ǫ on ǫ 1 which ensures that the two circles O f (±ǫ 1 ) do not intersect U g and the two circles O g (±ǫ 1 ) do not intersect U f. Let 0 < θ 90 be the positive angle between T f,σ and T g,τ. Let us consider dist f +,g, the distance of T f,σ (σ + ǫ 1 ) to T g,τ, and dist g+,f, the distance of T g,τ (τ + ǫ 1 ) to T f,σ. We then have which leads to sinθ = dist f +,g ǫ 1 Df(σ) and sinθ = dist g+,f ǫ 1 Dg(τ) dist f +,g = ǫ 1 Df(σ) sinθ, dist g +,f = ǫ 1 Dg(τ) sin θ. If we define the constant R 9 := min ( Df(σ), Dg(τ) )sin θ, we have dist f +,g ǫ 1 R 9 and dist g +,f ǫ 1 R 9. Similarly we get the same bound for the other distances dist f,g and dist g,f. We therefore need to mae sure that ǫ 1 is so small that the radius of the circles is less than half the minimum distance (ǫ 1 R 8 < 1 ǫ 1R 9 ). This gives the bound 0 < ǫ 1 < min( R9 R 8, δ) where R 8, R 9 and δ all depend on f and g, but not on the not vectors s or t. We can therefore set ǫ := min( R9 R 8, δ) which completes the proof. Corollary 1 Suppose that the two spline curves f S d,s and g S e,t have a transversal intersection at (σ, τ), and suppose that this is also an accumulation point of the sequence {σ, τ }. Given a sufficiently small ǫ 1 > 0 there exists an N > 0 such that the control polygons intersect for all > N somewhere in the intervals [σ ǫ 1, σ + ǫ 1 ] and [τ ǫ 1, τ + ǫ 1 ]. Proof. Since (σ, τ) is an accumulation point there exists an N > 0 such that for all > N the curve f has at least d nots in [σ ǫ 1, σ + ǫ 1 ] and g at least e nots in [τ ǫ 1, τ + ǫ 1 ]. According to Theorem 11 there is an ǫ > 0 with the property that the control polygons will intersect in the given intervals for all > N provided 0 < ǫ 1 < ǫ. Up to now the derivative at a regular point was assumed to be continuous. This was merely for convenience, and in the case of splines it is straightforward to generalize the concept of regular points to the situation where the derivative is discontinuous. We call a point f(s) a generalized regular point if D f(s) 0 and D + f(s) 0. At a generalized regular point of f we then denote the left tangent by T ρ and the right tangent by T + ρ, T ρ (s) := f(ρ) + (s ρ)d f(ρ), T + ρ (s) := f(ρ) + (s ρ)d+ f(ρ). A generalized transversal intersection is a transversal intersection at a generalized regular point. Formally it can be defined as follows. Let the two spline curves f S d,s and g S e,t intersect at (σ, τ) and let f(σ) and g(τ) be generalized regular points. Let also θ f be the counter clocwise angle between T + f,σ and T f,σ starting at T + f,σ and let θ± g be the counter clocwise angles between T + f,σ and T ± g,τ again starting at T + f,σ, see Figure 4. Now let θ g := max(θ g +, θg ) and θ g := min(θ g +, θg ). The intersection between the two spline curves f and g at (σ, τ) is called a generalized transversal intersection if 0 < θ g < θ f < θ g < 360,

12 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 1 T f,s a θ f T + g,t a θ g θ + g T g,t a T + f,s a Figure 4: A generalized transversal intersection i.e. when turning counter clocwise around the intersection starting at T + f,σ one first encounters one of the tangents to g(τ), then T f,σ and finally the other tangent to g(τ). Lemma 8 can be applied as it is to the left and right tangents of each curve. The proof of Theorem 11 will essentially still be valid. The only difference is in the estimate of the upper bound on ǫ 1. Here the distances of the points T ± f,σ (σ ± ǫ 1) and T ± g,τ(τ ± ǫ 1 ) to both tangents of the other curve have to be considered. This yields the analogous bounds dist f ±,g ± ǫ 1R 10 and dist g ±,f ± ǫ 1R 10 where R 10 := min ( D ± f(σ), D ± g(τ) )sin(θ), with θ is the smallest angle between the four tangent lines. With this we can restate Corollary 1 for generalized transversal intersections. Corollary 13 Suppose that the two spline curves f S d,s and g S e,t have a generalized transversal intersection at (σ, τ) and suppose that this is also an accumulation point of the sequence {σ, τ }. Given a sufficiently small ǫ > 0 there exists an N > 0 such that the control polygons intersect for all > N somewhere in the intervals [σ ǫ, σ + ǫ] and [τ ǫ, τ + ǫ]. Corollary 13 enables us to show that if the curves only have generalized transversal intersections, the sequence {σ, τ } will have only one accumulation point and thus will converge. Lemma 14 Let the curves f S d,s and g S e,t the infinite sequence {σ, τ } converges. have only generalized transversal intersections. Then Proof. Suppose that there is more than one accumulation point. Let (σ a, τ a ) and (σ b, τ b ) be two neighbouring accumulation points and let ǫ < min( σ b σ a, τ b τ a )/ be small enough for the conclusion of Corollary 13 to hold. Then there exists an N > 0 such the control polygons intersect in the ǫ interval around (σ a, τ a ) and in the ǫ interval around (σ b, τ b ) for all > N. The lexicographical order now ensures that one intersection is always smaller than the other and therefore for all > N an intersection of the control polygons corresponding to the same curve intersection is inserted. But then the sequence cannot have more than one accumulation point, i.e. the sequence converges. 4.5 Convergence Rate We now now that our intersection algorithm converges; it remains to examine the convergence rate. Let (σ, τ) be an accumulation point of the sequence {σ, τ } and let the control polygon segments b i 1, b i and c j 1, c j contain the chosen intersection between the control polygons at iteration. In this setting Equation (3) becomes ( σ τ ) ( ) s = i t j M 1 ( ) F i G j, M = ( ) dd d F i ed e G j, (15) where F and G are the blossoms of f and g and F i = F(s i +1,..., s i +d ), D df i = D d F(s i +1,..., s i +d ) with G j and D e G j defined similarly. It is apparent that Algorithm 1 resembles a discrete version of Newton s method, so we should expect a quadratic convergence rate. We will confirm that the algorithm converges quadratically at transversal intersections. This is done with the help of two lemmas, the first of which reformulates (15) and the second shows convergence of the inner nots s i +1,...,s i +d 1 and t j +1,..., t j +e 1 to the respective parameter values at the intersection.

13 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 13 Lemma 15 The error vector (σ, τ ) T (σ, τ) T satisfies the equation ( ) σ σ τ = M 1 τ v where v = d 1 l= r=1 e 1 l 1 l= l 1 ( ) ( ) σ s i +l σ s i +r Dl,r F ( s i +1,..., s i +l, σ,..., σ) r=1 ( ) ( ) τ t j +l τ t j +r Dl,r G ( t j +1,..., t j +l, τ,...,τ) + d 1 e 1 (σ s i +l) D l,d F i (τ t j +l) D l,e G j. Proof. We start by subtracting (σ, τ) T from both sides of (15), ( ) σ 1 d σ τ = M 1 τ M d (s i +l σ) e (t j +l τ) ( ) F i G j. (16) 1 e } {{ } v ) We then add and subtract d ( ) σ s i +l Dl F i ( e τ t j +l Since D l G j from the vector v in (16). d ( σ s i +l) Dl F i d (σ s i +l )D df i = d 1 (σ s i +l )(s i +d s i +l )D l,df i, the vector v may be written as v = F i d d 1 ( ) σ s i +l Dl F i + (σ s i +l)(s i +d s i +l)d l,d F i + G j + e ( ) e 1 τ t j +l Dl G j (τ t j +l)(t j +d t j +l)d l,e G j. (17) We next mae use of the fact that f(σ) g(τ) = 0 and perform Taylor expansions of the blossoms F and G, 0 = f(σ) g(τ) = F (σ,..., σ) G(τ,...,τ) d ( ) e ( ) = F i G j + σ s i +l Dl F i τ t j +l Dl G j + d l= e l= r=1 l 1 ( ) ( σ s i +l σ s i +r) Dl,r F ( s i +1,...,s i +l, σ,..., σ) l 1 ( ) ( ) τ t j +l τ t j +r Dl,r G ( t j +1,...,t j +l, τ,..., τ ). r=1 Using this we can replace the first, second, fourth and fifth term in (17) by the quadratic error term, which yields the required form of v. The second lemma shows that the inner nots converge.

14 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 14 Lemma 16 For any ǫ > 0 there exists an N > 0 such that for all > N s i +l σ < ǫ, l = 1,...,d 1, t j +r τ < ǫ, r = 1,...,e 1. Proof. Let λ = ǫ/d. Since the sequence σ, τ converges to (σ, τ), there exists an N f > 0 such that for all > N f there is an integer ξ such that s ξ+1,..., s ξ+d and σ lie in the interval J = [σ λ, σ +λ]. The number s ξ must clearly also lie in this interval. There are two possibilities: either ξ i 1 or ξ i. Let us consider the first situation. Then we have s ξ s i 1 σ, hence s i 1 J and s ξ+1 s i s i 1. But then s i J which provides an upper bound for s i +d 1. From σ λ s i... s i +d and s i 1 σ+λ we get s i +d 1 σ+(d 1)λ < σ+ǫ and therefore we have s i,...,s i +d 1 [σ λ, σ+ǫ). Consider next the second case ξ i. As in the first case this leads to σ s i s ξ and s i s i +d s ξ+d. But then we have s i, s i +d J and s i +1 σ (d 1)λ > σ ǫ, so we must have s i +1,..., s i +d (σ ǫ, σ + λ]. If we combine both cases we obtain s i +1,..., s i +d 1 (σ ǫ, σ + ǫ) for all > N f. The proof that t j +1,...,t j +e 1 (τ ǫ, τ +ǫ) for all > N g is similar. Defining N = max(n f, N g ) finishes the proof. We now have the tools required to establish the quadratic convergence rate of the intersection algorithm. Theorem 17 Suppose that the two curves f and g have a transversal intersection at (σ, τ). Then there is a constant R 11 that depends on f and g but not on s and t so that for sufficiently large ( ) σ σ τ τ R 11 max σ,...,d 1 s i +l max τ,...,e 1 t j +l. (18) Proof. At a transversal intersection f (σ) and g (τ) are linearly independent. Since the two sets of inner nots converge to σ and τ respectively, there must be an N such that the matrix M defined in (15) is nonsingular for all > N and 0 < M 1 R 1 for some positive constant R 1 independent of s and t. Let be an integer greater than N and set ς = max σ,...,d 1 s i +l, δ = max τ,...,e 1 t j +l. (19) We now from Lemma 15 that (σ σ, τ τ) T = M 1 v R 1 v. Using (19) and Lemma 3 we obtain ( ) v ςk F + δk G R 13 (ς + δ) ς = R 13 δ with R 13 = max(k F, K G ). Defining R 11 = R 1 R 13 yields (18). According to Lemma 16 the inner nots converge to the intersection (σ, τ). Theorem 17 therefore shows that {σ, τ } converges quadratically to the intersection. Our practical experience is that the sequence converges quadratically in every max(d 1, e 1)-step. 5 Examples In the last section we showed convergence and a quadratic convergence rate for Algorithm 1. We will now consider some examples that illustrate the behaviour of the algorithm and compare it to Bézier clipping [13] and the uniform subdivision approach. We have chosen to compare with Bézier clipping as this method also has quadratic convergence as recently proved in [11], and we compare with the subdivision strategy as it is widely nown. Let us first give a quic review of Bézier clipping. This method only wors for Bézier curves, hence the spline curves need to be converted to composite Bézier representation first. In short, Bézier clipping cuts away regions where one Bézier curve is guaranteed to not intersect the other. To do this it alternately

15 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 15 clips one curve against a fat line of the other. Let L denote the line determined by the end control points b 0, b d of f and let dist L (x) be the signed distance of x to L. Then the fat line along L is defined by {x d min dist L (x) d max } where d min = min 0 i d (dist L (b i )) and d max = max 0 i d (dist L (b i )). To clip g against the fat line along L, the distance function dist L (g) is computed. Observe that this distance function can naturally be represented as a Bézier function. Finally the convex hull property of Bézier functions is used to cut away regions where the distance function is guaranteed to be smaller than d min or greater than d max. If the resulting interval is not small enough according to some heuristic, the curve with the larger parameter interval is subdivided and Bézier clipping is continued with both halves. For more information see [11, 13]. For the subdivision algorithm we simply maintain a stac of curve pairs which may intersect, similarly to the generic algorithm described in [15]. As long as the stac is not empty and no intersection is found, the first pair of curves is removed from the stac and is processed. If the convex hulls of the two curves overlap and the parameter intervals of the curves are small enough, an intersection is assumed at the center of both intervals. If one parameter interval is not small enough, the curve with the larger interval is subdivided in the middle and both combinations are put bac on the stac. In Algorithm 1 we use the density of the nots to determine convergence. Using the notation of Lemma 16, it is shown in [7] that for σ [ s i 1, s i ) the distance between a spline and its control polygon can be bounded by f(σ ) Γ f,s (σ ) = O(h ), with h := max(σ, s i+d 1) min(σ, s i+1) for small enough h. From Lemma 16 we now that the nots s i+1,..., s i+d 1 as well as σ converge to an accumulation point, hence h goes to zero. If now h < ǫ for both curves, where ǫ is a given tolerance, an intersection at the current parameter pair is assumed. The effect of inserting the intersection of the control polygons into the spline curves is demonstrated in Figure 1. It is clearly visible how the intersections of the new control polygons approach the intersection of the spline curves. To compare the actual errors (σ, τ ) T (σ, τ) T in each iteration between the different methods, we first have to define what we consider to be an iteration. Bézier clipping and Algorithm 1 are both quadratically convergent when a suitable number of low-level operations are combined into one. We therefore define one iteration to be this number of low-level operations. Hence for Algorithm 1 one iteration consists of max(d 1, e 1) not insertions in each curve, whether the not pairs come from intersecting control polygons or overlapping local convex hulls as in the limit we will only have intersecting control polygons. Similarly, in [11] it is shown that in the limit Bézier clipping will lead to pure clipping steps applied alternately to both curves. Hence, we consider two steps as one iteration, where one step is either a clipping or a subdivision step. The uniform subdivision method only exhibits linear convergence, so it is not possible to obtain a quadratically convergent method by combining a fixed number of low-level operations into one iteration. In the limit Bézier clipping will split each curve two times in each iteration, leading to four splitting operations in one iteration. As one splitting is similar to one subdivision step in the subdivision algorithm, we consider four such steps to be one iteration for this third method. Note that the last iteration in each method may consist of fewer steps, as the intersection can be located before another complete iteration is finished. We will now compare the behaviour of the three methods for the Examples 1 to 6 shown in Figure 5. The examples with an odd number have intersecting control polygons, the ones with an even number do not. The first two examples show two simple polynomial curves with one intersection. The errors (σ, τ ) T (σ, τ) T after each iteration for those two examples are listed in Table 1. In Example 1, Algorithm 1 can mae direct use of the intersecting control polygons and therefore reaches the intersection more quicly than Bézier clipping, which first has to mae sure that no intersections are missed. At this point it should be noted that Algorithm 1 does not exclude any parameter interval as non-intersecting when using control polygon intersections. If the aim is to find all intersections, a final local convex hull chec is necessary in order to mae sure that no intersections have been missed. This is in contrast to Bézier clipping which is based on excluding parameter intervals where no intersections can occur. This means that Bézier clipping automatically loos for all intersections, which may, at least partly, explain why it needs more iterations than Algorithm 1. Example illustrates that the local convex hull approach will lead relatively quicly to intersecting control polygons and from this point onwards a quadratic convergence rate is observable. It is also clearly visible that both Algorithm 1 and Bézier clipping as

16 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 16 a) Example 1, d = 3, e = 3 b) Example, d = 3, e = 3 c) Example 3, d = 4, e = 5 d) Example 4, d = 8, e = 5 e) Example 5, d = 5, e = 7 f) Example 6, d = 3, e = 3 Figure 5: Examples. Example 1 Example Iteration E ICP E BC E SUB E ICP E BC E SUB 0 1.e-0 3.1e e-01.4e-01.5e-01.6e e-05.4e-01.0e-01.6e-0 8.5e-0 1.9e e e e-0 9.5e-04 1.e-03 1.e e e-0 1.7e-0 3.7e e e e e-0 1.7e e-08.6e e e e e e e-15.7e e e e e-13.6e e e e e e e e-15 Table 1: Error (σ, τ ) T (σ, τ) T in iteration for Algorithm 1 (E ICP ), Bézier Clipping (E BC ) and recursive subdivision (E SUB ) for Examples 1 and.

17 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 17 Example 3 Example 4 Iteration E ICP E BC E SUB E ICP E BC E SUB 0 6.4e e e e-00.1e e e-01 6.e e e e e-00.3e-03 6.e e e-0 1.1e-00 6.e e e e e-05.0e e e e e e e e e e e e e e e e e e e e-04.e e e e e e e-00 1.e e e e e e e e-00 1.e e e-0.3e-08 1.e e e e e e-09 1.e e e e e e e-1 1.9e e-1.4e e-1 4.3e e-13.0e e e e e e-15 Table : Error (σ, τ ) T (σ, τ) T in iteration for Algorithm 1 (E ICP ), Bézier Clipping (E BC ) and recursive subdivision (E SUB ) for Examples 3 and 4.

18 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 18 Example 5 Example 6 Iteration E ICP E BC E SUB E ICP E BC E SUB 0 3.3e e e e-0 1.9e e e-06.0e-01.1e-01.5e-04 1.e e-01 5.e e-0 8.9e-0 1.e e-0 4.6e e-16.6e-0 3.3e-0 9.8e-15.9e-0 3.5e e e e e e e-08.e e e e e e e e-03.9e e e e e e e e e-05.0e e e e e e e e e e e e e e e e e-15 Table 3: Error (σ, τ ) T (σ, τ) T in iteration for Algorithm 1 (E ICP ), Bézier Clipping (E BC ) and recursive subdivision (E SUB ) for Examples 5 and 6. Example Algorithm 1, comp Algorithm 1, ins Bézier clipping, comp. 3(0) (0) 56(14) 43(7) 3(6) 41(4) Bézier clipping, ins. 69(0) 66(0) 40(50) 71(37) 188(6) 119(8) Subdivision, comp Subdivision, ins Table 4: Comparison of number of nots computed(comp.) and inserted(ins.) for the different methods. For Bézier clipping the conversion costs are included and in addition shown in parentheses.

19 K. Møren, M. Reimers, Chr. Schulz; Intersections of Planar Spline Curves; pre-print 19 quadratic methods are superior to the subdivision strategy, which only gives linear convergence. Examples 3 and 4 are designed to be more difficult for Algorithm 1, and the errors are shown in Table. In Example 3 the control polygons have a lot of false intersections and in Example 4 many local convex hulls need to be checed before a situation with intersecting control polygons arises. Nevertheless, Algorithm 1 needs considerably fewer iterations to find the intersection than Bézier clipping. In the last two Examples we consider situations with several intersections. All three methods find the same intersection first, hence the errors listed in Table 3 are comparable. For Example 5 the performance is similar to Example 1. In the last example, Algorithm 1 again locates the intersection with fewer iterations than Bézier clipping. The performance of a method is not only determined by the number of iterations, but also by the amount of wor done in each iteration. In order to mae a valid efficiency comparison, well tuned and specialized implementations for each method are necessary. Unfortunately, we currently do not have such implementations. We compare the number of nots inserted into the curves instead. Here it is important to note that for Bézier clipping and the subdivision method each not will be inserted several times in order to split the curve. Hence we have to differentiate between the number of nots (or parameter values) computed and the number of nots inserted. For Algorithm 1 those will be identical. For Bézier clipping we also need to include the nots needed for converting the spline representation into composite Bézier form. The resulting comparison is shown in Table 4, with conversion costs for Bézier clipping included and also shown in parentheses. Clearly, the number of nots inserted into the curves is minimal for Algorithm 1. For the number of computed nots the minimum varies between Bézier clipping and Algorithm 1 for the different examples. The subdivision method clearly uses both most computed and inserted nots of all three methods. 6 Conclusion and Future Wor In this paper we have presented a new method for finding intersections of two parametric spline curves. From the analysis and examples it is clear that the resulting algorithm is a Newton-lie method that achieves a quadratic convergence rate for transversal intersections without the need for a starting point. For non-transversal intersections, however, the convergence is linear. An area for future research is to develop a more efficient algorithm with higher order convergence for non-transversal intersections. When considering overlapping local convex hulls in Algorithm 1 the midpoints of the corresponding intervals are inserted. This is done for convenience as it is simple and guaranteed to lead to nonintersecting local convex hulls for non-intersecting curves. However, it is probably not the best possible choice of nots to insert. With more research one might be able to determine a better not pair in this situation that leads to non-intersecting local convex hulls more quicly. References [1] Wolfgang Böhm. Inserting new nots into B-spline curves. Computer-Aided Design, 1(4):199 01, July [] Tor Doen. Aspects of Intersection Algorithms and Approximations. PhD-thesis, University of Oslo, 1997, revised 000. [3] Gerald Farin. Curves and surfaces for CAGD: a practical guide. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 5th edition, 00. [4] Jeffrey M. Lane and Richard F. Riesenfeld. A Theoretical Development for the Computer Generation and Display of Piecewise Polynomial Surfaces. IEEE Transactions on Pattern Analysis and Machine Intelligence, (1):35 46, [5] Tom Lyche and Knut Møren. Spline Methods, draft. Department of Informatics, University of Oslo, URL= 004.

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo Spline Methods Draft Tom Lyche and Knut Mørken Department of Informatics Centre of Mathematics for Applications University of Oslo January 27, 2006 Contents 1 Splines and B-splines an Introduction 1 1.1

More information

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken Spline Methods Draft Tom Lyche and Knut Mørken 24th May 2002 2 Contents 1 Splines and B-splines an introduction 3 1.1 Convex combinations and convex hulls..................... 3 1.1.1 Stable computations...........................

More information

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken Spline Methods Draft Tom Lyche and Knut Mørken January 5, 2005 2 Contents 1 Splines and B-splines an Introduction 3 1.1 Convex combinations and convex hulls.................... 3 1.1.1 Stable computations...........................

More information

EXTREME POINTS AND AFFINE EQUIVALENCE

EXTREME POINTS AND AFFINE EQUIVALENCE EXTREME POINTS AND AFFINE EQUIVALENCE The purpose of this note is to use the notions of extreme points and affine transformations which are studied in the file affine-convex.pdf to prove that certain standard

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

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5 ecture 8: Knot Insertion Algorithms for B-Spline Curves and Surfaces and the crooked shall be made straight, and the rough ways shall be made smooth; uke 3:5. Motivation B-spline methods have several advantages

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

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

CHAPTER 6 Parametric Spline Curves

CHAPTER 6 Parametric Spline Curves CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

08 - Designing Approximating Curves

08 - Designing Approximating Curves 08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

B(asis) Splines. Ashish Myles CISE, UF

B(asis) Splines. Ashish Myles CISE, UF B(asis) Splines Ashish Myles CISE, UF Splines Piecewise polynomial More flexible than single polynomials can have finite support can be periodic Degree d splines typically C d 1 continuity Some polynomial

More information

Generalized barycentric coordinates

Generalized barycentric coordinates Generalized barycentric coordinates Michael S. Floater August 20, 2012 In this lecture, we review the definitions and properties of barycentric coordinates on triangles, and study generalizations to convex,

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

Parameterization for curve interpolation

Parameterization for curve interpolation Working title: Topics in Multivariate Approximation and Interpolation 101 K. Jetter et al., Editors c 2005 Elsevier B.V. All rights reserved Parameterization for curve interpolation Michael S. Floater

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

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions. THREE LECTURES ON BASIC TOPOLOGY PHILIP FOTH 1. Basic notions. Let X be a set. To make a topological space out of X, one must specify a collection T of subsets of X, which are said to be open subsets of

More information

Knot Insertion and Reparametrization of Interval B-spline Curves

Knot Insertion and Reparametrization of Interval B-spline Curves International Journal of Video&Image Processing and Network Security IJVIPNS-IJENS Vol:14 No:05 1 Knot Insertion and Reparametrization of Interval B-spline Curves O. Ismail, Senior Member, IEEE Abstract

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Real time Ray-Casting of Algebraic Surfaces

Real time Ray-Casting of Algebraic Surfaces Real time Ray-Casting of Algebraic Surfaces Martin Reimers Johan Seland Center of Mathematics for Applications University of Oslo Workshop on Computational Method for Algebraic Spline Surfaces Thursday

More information

2017 SOLUTIONS (PRELIMINARY VERSION)

2017 SOLUTIONS (PRELIMINARY VERSION) SIMON MARAIS MATHEMATICS COMPETITION 07 SOLUTIONS (PRELIMINARY VERSION) This document will be updated to include alternative solutions provided by contestants, after the competition has been mared. Problem

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

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

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s.

An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s. Using Monte Carlo to Estimate π using Buffon s Needle Problem An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s. Here s the problem (in a simplified form). Suppose

More information

Geometric approximation of curves and singularities of secant maps Ghosh, Sunayana

Geometric approximation of curves and singularities of secant maps Ghosh, Sunayana University of Groningen Geometric approximation of curves and singularities of secant maps Ghosh, Sunayana IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish

More information

Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

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

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More information

Design considerations

Design considerations Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation

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

ECE 600, Dr. Farag, Summer 09

ECE 600, Dr. Farag, Summer 09 ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that

More information

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS Definition 1.1. Let X be a set and T a subset of the power set P(X) of X. Then T is a topology on X if and only if all of the following

More information

Lecture 2 - Introduction to Polytopes

Lecture 2 - Introduction to Polytopes Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.

More information

Know it. Control points. B Spline surfaces. Implicit surfaces

Know it. Control points. B Spline surfaces. Implicit surfaces Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces

More information

COURSE: NUMERICAL ANALYSIS. LESSON: Methods for Solving Non-Linear Equations

COURSE: NUMERICAL ANALYSIS. LESSON: Methods for Solving Non-Linear Equations COURSE: NUMERICAL ANALYSIS LESSON: Methods for Solving Non-Linear Equations Lesson Developer: RAJNI ARORA COLLEGE/DEPARTMENT: Department of Mathematics, University of Delhi Page No. 1 Contents 1. LEARNING

More information

On the deviation of a parametric cubic spline interpolant from its data polygon

On the deviation of a parametric cubic spline interpolant from its data polygon Computer Aided Geometric Design 25 (2008) 148 156 wwwelseviercom/locate/cagd On the deviation of a parametric cubic spline interpolant from its data polygon Michael S Floater Department of Computer Science,

More information

CS 450 Numerical Analysis. Chapter 7: Interpolation

CS 450 Numerical Analysis. Chapter 7: Interpolation Lecture slides based on the textbook Scientific Computing: An Introductory Survey by Michael T. Heath, copyright c 2018 by the Society for Industrial and Applied Mathematics. http://www.siam.org/books/cl80

More information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves David L. Finn In this section, we discuss the geometric properties of Bezier curves. These properties are either implied directly

More information

Convexity: an introduction

Convexity: an introduction Convexity: an introduction Geir Dahl CMA, Dept. of Mathematics and Dept. of Informatics University of Oslo 1 / 74 1. Introduction 1. Introduction what is convexity where does it arise main concepts and

More information

arxiv: v1 [cs.cc] 30 Jun 2017

arxiv: v1 [cs.cc] 30 Jun 2017 On the Complexity of Polytopes in LI( Komei Fuuda May Szedlá July, 018 arxiv:170610114v1 [cscc] 30 Jun 017 Abstract In this paper we consider polytopes given by systems of n inequalities in d variables,

More information

The Cut Locus and the Jordan Curve Theorem

The Cut Locus and the Jordan Curve Theorem The Cut Locus and the Jordan Curve Theorem Rich Schwartz November 19, 2015 1 Introduction A Jordan curve is a subset of R 2 which is homeomorphic to the circle, S 1. The famous Jordan Curve Theorem says

More information

Polynomials tend to oscillate (wiggle) a lot, even when our true function does not.

Polynomials tend to oscillate (wiggle) a lot, even when our true function does not. AMSC/CMSC 460 Computational Methods, Fall 2007 UNIT 2: Spline Approximations Dianne P O Leary c 2001, 2002, 2007 Piecewise polynomial interpolation Piecewise polynomial interpolation Read: Chapter 3 Skip:

More information

Need for Parametric Equations

Need for Parametric Equations Curves and Surfaces Curves and Surfaces Need for Parametric Equations Affine Combinations Bernstein Polynomials Bezier Curves and Surfaces Continuity when joining curves B Spline Curves and Surfaces Need

More information

SPLINE APPROXIMATION VIA THE CONTROL POLYGON

SPLINE APPROXIMATION VIA THE CONTROL POLYGON SPLINE APPROXIMATION VIA THE CONTROL POLYGON by Håkon Mørk THESIS for the degree of MASTER S DEGREE IN APPLIED MATHEMATICS AND MECHANICS (Master i Anvendt matematikk og mekanikk) Faculty of Mathematics

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

On the graphical display of Powell-Sabin splines: a comparison of three piecewise linear approximations

On the graphical display of Powell-Sabin splines: a comparison of three piecewise linear approximations On the graphical display of Powell-Sabin splines: a comparison of three piecewise linear approximations Hendrik Speleers Paul Dierckx Stefan Vandewalle Report TW515, January 008 Ò Katholieke Universiteit

More information

Mathematical Programming and Research Methods (Part II)

Mathematical Programming and Research Methods (Part II) Mathematical Programming and Research Methods (Part II) 4. Convexity and Optimization Massimiliano Pontil (based on previous lecture by Andreas Argyriou) 1 Today s Plan Convex sets and functions Types

More information

Lecture notes for Topology MMA100

Lecture notes for Topology MMA100 Lecture notes for Topology MMA100 J A S, S-11 1 Simplicial Complexes 1.1 Affine independence A collection of points v 0, v 1,..., v n in some Euclidean space R N are affinely independent if the (affine

More information

Some Advanced Topics in Linear Programming

Some Advanced Topics in Linear Programming Some Advanced Topics in Linear Programming Matthew J. Saltzman July 2, 995 Connections with Algebra and Geometry In this section, we will explore how some of the ideas in linear programming, duality theory,

More information

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline

More information

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required: Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric

More information

Interpolation by Spline Functions

Interpolation by Spline Functions Interpolation by Spline Functions Com S 477/577 Sep 0 007 High-degree polynomials tend to have large oscillations which are not the characteristics of the original data. To yield smooth interpolating curves

More information

CS321 Introduction To Numerical Methods

CS321 Introduction To Numerical Methods CS3 Introduction To Numerical Methods Fuhua (Frank) Cheng Department of Computer Science University of Kentucky Lexington KY 456-46 - - Table of Contents Errors and Number Representations 3 Error Types

More information

Bezier Curves, B-Splines, NURBS

Bezier Curves, B-Splines, NURBS Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility

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

An Introduction to B-Spline Curves

An Introduction to B-Spline Curves An Introduction to B-Spline Curves Thomas W. Sederberg March 14, 2005 1 B-Spline Curves Most shapes are simply too complicated to define using a single Bézier curve. A spline curve is a sequence of curve

More information

Module 7. Independent sets, coverings. and matchings. Contents

Module 7. Independent sets, coverings. and matchings. Contents Module 7 Independent sets, coverings Contents and matchings 7.1 Introduction.......................... 152 7.2 Independent sets and coverings: basic equations..... 152 7.3 Matchings in bipartite graphs................

More information

Properties of Blending Functions

Properties of Blending Functions Chapter 5 Properties of Blending Functions We have just studied how the Bernstein polynomials serve very nicely as blending functions. We have noted that a degree n Bézier curve always begins at P 0 and

More information

Parametric curves. Brian Curless CSE 457 Spring 2016

Parametric curves. Brian Curless CSE 457 Spring 2016 Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics

More information

SYSTEMS OF NONLINEAR EQUATIONS

SYSTEMS OF NONLINEAR EQUATIONS SYSTEMS OF NONLINEAR EQUATIONS Widely used in the mathematical modeling of real world phenomena. We introduce some numerical methods for their solution. For better intuition, we examine systems of two

More information

Practical Linear Algebra: A Geometry Toolbox

Practical Linear Algebra: A Geometry Toolbox Practical Linear Algebra: A Geometry Toolbox Third edition Chapter 18: Putting Lines Together: Polylines and Polygons Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book

More information

A general matrix representation for non-uniform B-spline subdivision with boundary control

A general matrix representation for non-uniform B-spline subdivision with boundary control A general matrix representation for non-uniform B-spline subdivision with boundary control G. Casciola a, L. Romani a a Department of Mathematics, University of Bologna, P.zza di Porta San Donato 5, 40127

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

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

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

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

Flank Millable Surface Design with Conical and Barrel Tools

Flank Millable Surface Design with Conical and Barrel Tools 461 Computer-Aided Design and Applications 2008 CAD Solutions, LLC http://www.cadanda.com Flank Millable Surface Design with Conical and Barrel Tools Chenggang Li 1, Sanjeev Bedi 2 and Stephen Mann 3 1

More information

Acute Triangulations of Polygons

Acute Triangulations of Polygons Europ. J. Combinatorics (2002) 23, 45 55 doi:10.1006/eujc.2001.0531 Available online at http://www.idealibrary.com on Acute Triangulations of Polygons H. MAEHARA We prove that every n-gon can be triangulated

More information

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev Serdica J. Computing 4 00, 3 334 APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS J. Mark Keil, Tzvetalin S. Vassilev Abstract. We consider sets of points in the two-dimensional

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

Curves D.A. Forsyth, with slides from John Hart

Curves D.A. Forsyth, with slides from John Hart Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction

More information

General properties of staircase and convex dual feasible functions

General properties of staircase and convex dual feasible functions General properties of staircase and convex dual feasible functions JÜRGEN RIETZ, CLÁUDIO ALVES, J. M. VALÉRIO de CARVALHO Centro de Investigação Algoritmi da Universidade do Minho, Escola de Engenharia

More information

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives Qi-Xing Huang a Shi-Min Hu a,1 Ralph R Martin b a Department of Computer Science and Technology, Tsinghua University,

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 351 George Voutsadakis (LSSU) Introduction to Graph Theory August 2018 1 /

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

Gardener s spline curve

Gardener s spline curve Annales Mathematicae et Informaticae 47 (017) pp. 109 118 http://ami.uni-eszterhazy.hu Gardener s spline curve Imre Juhász Department of Descriptive Geometry University of Miskolc agtji@uni-miskolc.hu

More information

Figure 5.1: Spline and ducks.

Figure 5.1: Spline and ducks. Chapter 5 B-SPLINE CURVES Most shapes are simply too complicated to define using a single Bézier curve. A spline curve is a sequence of curve segments that are connected together to form a single continuous

More information

Lecture 15: The subspace topology, Closed sets

Lecture 15: The subspace topology, Closed sets Lecture 15: The subspace topology, Closed sets 1 The Subspace Topology Definition 1.1. Let (X, T) be a topological space with topology T. subset of X, the collection If Y is a T Y = {Y U U T} is a topology

More information

On the number of distinct directions of planes determined by n points in R 3

On the number of distinct directions of planes determined by n points in R 3 On the number of distinct directions of planes determined by n points in R 3 Rom Pinchasi August 27, 2007 Abstract We show that any set of n points in R 3, that is not contained in a plane, determines

More information

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

Hyperbolic structures and triangulations

Hyperbolic structures and triangulations CHAPTER Hyperbolic structures and triangulations In chapter 3, we learned that hyperbolic structures lead to developing maps and holonomy, and that the developing map is a covering map if and only if the

More information

On the Partial Sum of the Laplacian Eigenvalues of Abstract Simplicial Complexes

On the Partial Sum of the Laplacian Eigenvalues of Abstract Simplicial Complexes On the Partial Sum of the Laplacian Eigenvalues of Abstract Simplicial Complexes Rediet Abebe and Joshua Pfeffer Abstract We present progress made in showing the generalized Grone-Merris conjecture for

More information

Inverse and Implicit functions

Inverse and Implicit functions CHAPTER 3 Inverse and Implicit functions. Inverse Functions and Coordinate Changes Let U R d be a domain. Theorem. (Inverse function theorem). If ϕ : U R d is differentiable at a and Dϕ a is invertible,

More information

Background for Surface Integration

Background for Surface Integration Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to

More information

Numerical Optimization

Numerical Optimization Convex Sets Computer Science and Automation Indian Institute of Science Bangalore 560 012, India. NPTEL Course on Let x 1, x 2 R n, x 1 x 2. Line and line segment Line passing through x 1 and x 2 : {y

More information

Introduction to Complex Analysis

Introduction to Complex Analysis Introduction to Complex Analysis George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 413 George Voutsadakis (LSSU) Complex Analysis October 2014 1 / 50 Outline

More information

2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves. CS 4620 Lecture 13 2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

More information

Chapter - 2 Complexity of Algorithms for Iterative Solution of Non-Linear Equations

Chapter - 2 Complexity of Algorithms for Iterative Solution of Non-Linear Equations Chapter - Compleity of Algorithms for Iterative Solution of Non-Linear Equations Compleity of Algorithms for Iterative... 19 CHAPTER - Compleity of Algorithms for Iterative Solution of Non-Linear Equations.1

More information

Parameterized Complexity of Independence and Domination on Geometric Graphs

Parameterized Complexity of Independence and Domination on Geometric Graphs Parameterized Complexity of Independence and Domination on Geometric Graphs Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de

More information

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster

More information

New Directions in Linear Programming

New Directions in Linear Programming New Directions in Linear Programming Robert Vanderbei November 5, 2001 INFORMS Miami Beach NOTE: This is a talk mostly on pedagogy. There will be some new results. It is not a talk on state-of-the-art

More information

Keyword: Quadratic Bézier Curve, Bisection Algorithm, Biarc, Biarc Method, Hausdorff Distances, Tolerance Band.

Keyword: Quadratic Bézier Curve, Bisection Algorithm, Biarc, Biarc Method, Hausdorff Distances, Tolerance Band. Department of Computer Science Approximation Methods for Quadratic Bézier Curve, by Circular Arcs within a Tolerance Band Seminar aus Informatik Univ.-Prof. Dr. Wolfgang Pree Seyed Amir Hossein Siahposhha

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