Computing Intersections of Planar Spline Curves using Knot Insertion
|
|
- Lily Powell
- 5 years ago
- Views:
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 1. Divide and Conquer If we are going to build useful
More informationSpline 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 informationSpline 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 informationSpline 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 informationEXTREME 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 informationA 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 informationand 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 informationLecture 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 informationParameterization 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 informationCHAPTER 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 informationOn 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 information08 - 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 informationCOMPUTER 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 informationParametric 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 informationParametric 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 informationB(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 informationGeneralized 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 informationA 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 informationParameterization 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 informationChapter 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 informationTHREE 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 informationKnot 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 informationMonotone 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 informationReal 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 information2017 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 informationParameterization. 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 informationFreeform 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 informationPebble 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 informationAn 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 informationGeometric 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 informationMath 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 informationFall 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 informationCentral 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 informationDesign 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 informationPreferred 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 informationLecture 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 informationECE 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 informationPoint-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 informationLecture 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 informationKnow 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 informationCOURSE: 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 informationOn 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 informationCS 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 informationMATH 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 informationMA 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 informationConvexity: 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 informationarxiv: 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 informationThe 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 informationPolynomials 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 informationNeed 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 informationSPLINE 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 informationDM545 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 informationOn 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 informationMathematical 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 informationLecture 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 informationSome 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 informationCurves 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 informationParametric 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 informationInterpolation 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 informationCS321 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 informationBezier 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 informationPS 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 informationAn 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 informationModule 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 informationProperties 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 informationParametric 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 informationSYSTEMS 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 informationPractical 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 informationA 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 informationThe 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 information2D 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 informationIntro 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 informationSung-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 informationFlank 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 informationAcute 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 informationAPPROXIMATING 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 informationChapter 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 informationCurves 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 informationGeneral 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 informationEfficient 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 informationIntroduction 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 informationAlmost 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 informationGardener 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 informationFigure 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 informationLecture 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 informationOn 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 informationComputational 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 informationHyperbolic 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 informationOn 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 informationInverse 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 informationBackground 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 informationNumerical 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 informationIntroduction 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 information2D 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 informationChapter - 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 informationParameterized 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 informationSplines. 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 informationNew 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 informationKeyword: 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 informationCurve 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