Numerical algorithms for curve approximation and novel user oriented interactive tools

Size: px
Start display at page:

Download "Numerical algorithms for curve approximation and novel user oriented interactive tools"

Transcription

1 UNIVERSITÀ DEGLI STUDI DI BARI Dottorato di Ricerca in Matematica XXI Ciclo A.A. 2008/2009 Settore Scientifico-Disciplinare: MAT/08 Analisi Numerica Tesi di Dottorato Numerical algorithms for curve approximation and novel user oriented interactive tools Candidato: Loredana Chieppa Supervisori della tesi: Prof. Giovanni Di Lena Prof. Michele Fiorentino Prof. Antonio E. Uva Coordinatore del Dottorato di Ricerca: Prof. Luciano Lopez

2

3 iii To my parents Ai miei genitori

4

5 Contents Acknowledgements Introduction xi xiii 1 Background and literature review Curve representation Bézier curves B-spline curve Wavelets analysis History Mathematical definition Wavelet for Computer Graphics Wavelet as new language Multiresolution analysis Multiresolution curve Part one: B-spline Curve Approximation with Optimal Knots Introduction Preliminaries Extension to the not convex functions Optimal knots for plane curves Optimal knots for cubic B-spline Application to knot removal tool Numerical examples Convex functions approximation Not Convex functions approximation Plane curves approximation Knot removal application

6 vi 4 Part two: 2D sketching using multiresolution approach Introduction Sketch curve style Related work The proposed approach Multiresolution Engine Multi-level Segmentation Smoothing with continuity constraints Implementation and examples 85 Conclusion and future work 89 Bibliography 93 Index 97

7 List of Figures 1.1 Bézier curves of various degree (left) The example of uniform B-spline curve. (right) The basis functions of uniform cubic B-spline A mother wavelet and two daughters The filter bank Convex function Convex function: catenary Not convex function Not convex function Curve plane: spiral function Convex function rotation Not convex function rotation Curve plane rotation Knot removal method: example Knot removal method: example Knot removal method: example Knot removal method: example Style sketches for a car bodies Sketches and character lines of cars model Sketches of car model Graphic tablet device for digital design Original curve with 11 control points Original curve and its coarse version with 7 control points Original curve and its coarse version with 4 control points The original curve C(t) The original curve (11 control points) and its coarse version (4 control points)

8 viii 4.10 The segmentation points Normalized graph of distances and threshold at Segmentation point refinement from seven (top) to four (bottom) User interface for intuitive sketching Synthetic curve segmentation: test A Synthetic curve segmentation: test B Synthetic curve segmentation: test C Synthetic curve segmentation: test D Car body sketch with a graphic tablet Segmentation of the car outline Original car sketch profile (sedan) Seven features points detected on the sketched profile New sketch car profile generated by a CAD designer Feature points detected by system after segmentation Curve extracted by profile of the car in Figure 5.5 after segmentation Example of local simplification of a sketch section: original and smoothed Example of local simplification of a sketch section: original and smoothed with C 1 constraint

9 List of Tables 3.1 Uniform knots Not uniform knots Not convex function Resnorm values Test functions errors Standard and optimal errors

10

11 Acknowledgements Foremost, I would like to extend my deepest gratitude to my supervisor Professor Giovanni Di Lena of University of Study - Bari, for giving me the opportunity to undertake research work in the field of applied mathematics to Computer Graphic. I thank him for providing me with the opportunity to complete my PhD thesis at University of Bari, and for giving me the mathematics basis to work in this not easy research field. I am also grateful to Prof. Nicoletta Del Buono for supporting me during my PhD period at University of Bari and for her assistance during writing out of my thesis. I especially want to thank Professor Giuseppe Monno and my advisors Prof. Michele Fiorentino and Prof. Antonio E. Uva of Department of Mechanical Engineering, Polytechnic of Bari, whose support and guidance made my thesis work possible. They have been actively interested in my work and have always been available to advise me. I am very grateful for their patience, motivation, enthusiasm, and immense knowledge in the Computer graphics applications. I am also grateful to my friend, industrial designer, Tony Azzella, for introducing me to the wonderful world of applied mathematics to computer graphics. Special thanks, also, to my family and to my boyfriend Francesco for their understanding, patience and support during the entire period of my study.

12 xii

13 Introduction The present work is concerned with two particular aspects in the large field of numerical approximation in the area of Computer Graphics (CG). In particular we study the approximation of plane curves with optimal knots and the develop of sketch style curves using multiresolution approach. These two aspects, apparently independent of each other, can be regarded as tools of a single system opportunely designed to tackle problems in field of interactive sketch style curves. In the Computer Graphics area the approximation of curves or surfaces is an important field on which concentrate mathematical studies. The continuous challenge is to find more and more approximation techniques that are competitive both in term of mathematic flexibility and algorithmic performance. Exactly from this point of view, in the previous decades a series of techniques have been developed in order to obtain tools characterized by an increasing computational power and reduced costs. This thesis takes its place in the active research area of Computer Graphics and have two main aims: firstly the mathematical investigation of the problem of the optimal knots curve approximation and secondly the development of proper mechanism to sketch style curves. In order to obtain these aims we divided this work in two main parts. In the first part the plane curves approximation problem is tacked using the concept of optimal knots sequence as suggested in the work of Hamideh in [14]. We started searching first optimal knots sequence for not convex function until arriving to determine a method to approximate curves plane with optimal knots. Furthermore this optimal representation can be useful as a better alternative in some applications as, for example, the knot elimination. The second part of the thesis, instead, is mainly devoted on the study of the sketch style curves. At the present time, the market value of products depends more and more on aesthetic and ergonomic aspects. In spite of this, desktop CAD software does not assist well in the definition and adjustment of free

14 xiv Introduction form curves to improve beauty and the success of products. This explains the extensive use in industry of manual sketches on paper. For these reasons we have developed and evaluated innovative methods and algorithms for the interactive generation of quality 2D freeform curves with graphics tablet input. The proposed system uses multiresolution analysis based on wavelets, as a mathematical support technique in the sketching procedure. This multiresolution approach is the basis of this second part: by using and improving its potentiality with new techniques discussed and implemented in this thesis, we introduce a 2D sketching framework using a novel user oriented algorithm to segment, edit and smooth free-form curves. In the following sections we give firstly an overview on the background and literature review regarding the topics of this thesis and then we analyze and go into details first on the B-spline curve approximation with optimal knots and then on 2D sketching using multiresolution approach. Furthermore, we show some examples and implementation of both procedures.

15 Chapter 1 Background and literature review The goal of Computer Graphics is to produce pictures or images by computer with the help of mathematical computation. It is a rapidly expanding field of computer science, with application in a variety of areas including film and television post production, computer entertainment, engineering and medical data visualization, image processing and virtual reality, architecture and computer aided design. From the earliest text character images of a non-graphic mainframe computers to the latest photographic quality images of a high resolution personal computers, from vector displays to raster displays, from 2D input to 3D input and beyond, computer graphics has gone through its short, rapid changing history. Moreover the power and flexibility of graphics hardware and software is constantly improving, making this an exciting and dynamic area to work in. Computer technology is, also, widely used in daily activities, such as filmmaking, publishing, banking, engineering, and education. Engineers and architects use computers to design images or products and computer-aided design (CAD) and computer-aided manufacture (CAM) are two important areas where computer graphics plays a central role. Both (CAD) and (CAM) are widely used in aerospace, automotive engineering, marine engineering, civil engineering, and electronic engineering, just to mention some areas in which they are important. The application of computer graphics in engineering constitutes the foundation of computer aided geometric design (CAGD), which provides the mathematical basis to describe and process geometric shapes and data.

16 2 Chapter 1. Literature review As we have seen CG is at the center of many important research fields, so it is important to find new methods and applications. In this chapter we give a brief overview on the mathematical functions, used in this thesis, that are at the base of many CG applications. In particular, we present some common methods of spline approximation as Bézier and B- spline curves and then we introduce wavelet approach for Computer Graphics and multiresolution analysis which is intimately connected with the study of wavelets. These curves representation and wavelet approach will be used and showed in the numerical applications presented in this thesis. 1.1 Curve representation Since the birth of Computer Graphics, it has been graphics developers greatest aspiration to develop something that is as close to reality as possible. A special attention in CG has been directed in the search of better curve representation. The need to represents curves and surfaces arose by need to modeling existing objects (a car, a face, a mountain) and in modeling from scratch, where no preexisting physical object is being represented. The two most common methods of representing curves in geometric modeling are implicit equations and parametric functions. The implicit equation of a curve lying in the xy plane has the form f(x, y) = 0. This equation describes an implicit relationship between the x and y coordinates of the points lying on the curve. An example of implicit equation is given by the circle of unit radius centered at the origin, described by the following equation f(x, y) = x 2 + y 2 1 = 0. (1.1.1) The parametric functions, instead, are defined using parameters. In this case each of the coordinates of a point on the curve is represented separately as an explicit function of an independent parameter, that is, C(t) = (x(t), y(t)), t [0, 1]. (1.1.2)

17 3 For example, one set of parametric equations for the unit circle are: { x(t) = cos(t), y(t) = sin(t). (1.1.3) It is important to mention that the parametric representation of a curve is not unique. It is difficult to decide which of the two given representations of the same curve is the best to describe it; they could present both advantages and disadvantages. From a detailed analysis showed that the parametric form is more natural for designing and representing shape in a computer. However, as the coordinates parametric functions are arbitrary, is obvious to ask what is the best representation to choose. The ideal situation, that compensates implementation problems with an efficient representation of the curves, consists in the choose functions that: are capable of precisely representing all the curves the users of the system need; are easily, efficiently and accurately processed in a computer; are simple and mathematically well understood; A widely used class of functions that satisfy the last two criteria is the polynomials. Two common mechanism to express polynomial functions are: power basis, Bézier curves. These two methods are mathematically equivalent, but the Bézier method is far better suited to representing and manipulating shape in a computer. Let see in more details the Bézier representation. Bézier curves This spline approximation method was developed, in the late 1960s, by the French engineer Pierre Bézier for use in the design of automobile bodies while

18 4 Chapter 1. Literature review working for the car manufacturer Renault. Bézier curves have a number of properties that make them highly useful and convenient for curve and surface design. Furthermore they are also easy to implement, so, for these reasons Bézier curves are widely available in various CAD systems and in assorted drawing and painting packages. As we have said previously a Bézier curve is a parametric polynomial curve. We can define an nth-degree Bézier curve as: so that C(t) : [0, 1] R 2, (1.1.4) C(t) = n B k n (t)p k; (1.1.5) k=0 where P 0, P 1,...,P n 1, P n are called control points and the basis functions (also called blending functions) B k n (t) are the classical nth-degree Bernstein polynomials given by: B n k (t) = n! k!(n k)! tk (1 t) n k. (1.1.6) In any curve representation scheme, the choice of basis functions determines the geometric characteristics of the scheme. The Bernstein polynomial functions have the following properties: Positivity: B n k (t) 0 k = 0,...,n; B n 0 (0) = B n n(1) = 1; B k n(0) = B k n (1) = 0, k = 1,...,n 1; B k n (t) attains exactly one maximum on the interval [0, 1]. In particular it can be proven that the maximum occurs at the point t = k n. Partition of unity: n n ( ) n B k n (t) = (1 t) n k t k = (1 t + t) n = 1. k k=0 k

19 5 Symmetry: for any n, the set polynomials { B k n (t)} is symmetric with respect to t = 1 2. Derivatives: d dt B k n d dt B 0 n (0) = n; d dt B 1 n (0) = n; d (t) = n( B n 1 k 1 dt B n(1) n = n; d dt B n 1(1) n = n; n 1 (t) B (t)); d dt B k n (k ) = 0; 0 < k < n (1.1.7) n recursive definition: by using the following formula ( ) ( )( ) n n 1 n 1 =, k k k 1 the Bernstein polynomials can be generated by the recursive formula: B n k n 1 (t) = (1 t) B k (t) + t k n 1 B k 1 (t). (1.1.8) We have enumerated the principal properties of the basis functions, now we are going to describe properties that are satisfied by the Bézier curves: Endpoint interpolation: A very useful property of a Bézier curve of nthdegree is that it always passes through the first and last control points. That is, the boundary conditions at two ends of the curve are: C(0) = P 0 ; C(1) = P n ;

20 6 Chapter 1. Literature review Furthermore, the values of the parametric first derivatives of a Bézier curve at the endpoints can be calculated from control point coordinates as: C (0) = n(p 1 P 0 ); C (1) = n(p n 1 P n ); Thus, the slope at the beginning of the curve is along the line joining the first two control points and the slope at the end of the curve is along the line joining the last two endpoints. Convex hull: The curve is contained in the convex polygon generated by the convex closure of its control points. This property is known as convex hull property and follows from the blending functions properties: positivity and partition of unity. Affine invariance: Bézier curves are invariant under affine parameter transformations. That is, while the curve is usually defined on the parametric interval [0,1], a simple affine transformation on the parameters to the interval [a,b] yields the same curve. Closed curve: If P 0 = P n the curve is closed and presents, in general, a singular point (cusp) in the connection point. If the three points P 1, P 0 = P n, P n 1 are aligned the curve is smooth (that is, the tangent vectors at t = 0 and t = 1 have the same direction). We observe that for: - n = 1, we have B 0 1(t) = 1 t and B 1 1 (t) = t, so the Bézier curve of first-degree has the following expression: C(t) = (1 t)p 0 + tp 1. (1.1.9) This is a straight line segment connecting the control points from P 0 and P 1 ; - n = 2, we have: C(t) = (1 t) 2 P 0 + 2t(1 t)p 1 + t 2 P 2, (1.1.10) This is a parabolic arc connecting the control points from from P 0 to P 2 ;

21 7 - n = 3, we have: C(t) = (1 t) 3 P 0 + 3t(1 t) 2 P 1 + 3t 2 (1 t)p 2 + t 3 P 3. (1.1.11) This is a cubic Bézier curve. Figure 1.1 shows sample curves of degree one through four. A degree n Bezier curve has n + 1 control points. Figure 1.1: Bézier curves of various degree We will use linear and quadratic Bézier curve representation in the section 4.7, as skeleton curve to construct coarse versions of a curve during the smoothing phase, that satisfy continuity constraints at its endpoints. In the next section we recall the definition and some important properties of another curve representation called B-spline curve. B-spline curve B-splines is a different approach to representing piecewise polynomial curves and they are the most widely used class of approximating splines. Now we see how B-spline representation has better geometric properties respect to Bézier curves. As already observed the Bézier curves consist of just one polynomial segment. There are several reasons which can be addressed to demonstrated the inadequacy of Bézier representation in several circumstances: when a large number of constraints must be satisfied a Bézier curve with

22 8 Chapter 1. Literature review a high degree, is required. However these curves are inefficient to be computed and are numerically unstable; the Bézier curves are not well-suited to interactive shape design; the Bézier curves do not possess a sufficiently local control. To overcome these drawbacks we have to consider the B-spline curves. Before to construct B-spline curve and see how they are defined, we have to introduce a new entity, knot vector, and firstly define the B-spline basis (or blending) functions. Let us consider an increasing sequence of m + 1 real numbers: U = {u 0 u 1... u m 1 u m }; where u i are called the knots and U the knot vector, then the B-spline function of p-th degree (or order p+1), with k = 0,...,m (p+1) can be defined as: B p k : [u 0, u m ] R; (1.1.12) and it possesses the following properties, for all t [u 0, u m ]: Positivity: B p k (t) 0, k = 0...,m (p + 1); Partition of unity: m (p+1) B p k k=0 (t) = 1; Linear independence: m (p+1) B p k k=0 (t) are linearly independent; Local support: supp(b p k ) = [u k, u k+(p+1) ], that is its support consists of p+2 consecutive knots. These properties of the B-spline basis functions are very important because their determine the many desirable geometric characteristics in B-spline curve. The shapes of the Bk n basis functions are entirely determined by the relative spacing between the knots (u 0, u 1,...,u m ). Scaling or translating the knot vector has no effect on shapes of the basis functions and the B-spline. There are several ways to define B-spline basis functions, e.g. by divided differences of truncated power functions, by blossoming and by a recurrence

23 9 formula. The last one way is the most useful for computer implementation. The k-th B-spline basis function of p-degree (order p + 1) can be defined by the Cox-deBoor recursion formula as: B 0 k (t) = { 1, uk t < u k+1, 0, otherwise. B p k (t) = t u k B p 1 u k+p u k (t) + u k+p+1 t B p 1 k u k+p+1 u k+1 (t), (1.1.13) k+1 for k = 0,...,m 1. The recursive definition (1.1.13) outlines that the B-spline functions (the space that they generate), belong to a space of piecewise polynomial functions with polynomial of degree p. Furthermore in the recursive formulation (1.1.13) it has been adopted the convention that the indeterminate form 0 0 is equal to zero. The indeterminate form is held to zero to prevent the inconsistent form that arises, for example, when u k = u k+p. With this convention the recursive formula is well suited. Although the B- spline functions are formally defined on the real axes, the B-spline of degree p are considered only on the interval [u p, u m p ]. It is also important give a formula to calculate the derivatives of B-spline basis functions. So, the ith derivative of B p k (t) is given by the general formula: ( (B p (B p 1 k )(i) k ) (i 1) ) = p (Bp 1 k+1 )(i 1) u k+p u k u k+p+1 u k+1 (1.1.14) If some consecutive knots coincide, the number of equal points is called knot multiplicity. This nomenclature can be extended also in the case of a knot subsequence: u k u k+1... u k+p u k+p+1 in which case we will refer to as knot multiplicity with respect to the subsequence. The knots individuate points on the real line; these points are the knots projections on the real line, so, to distinguish these one from the knots they will be called, sometimes, breakpoints. Generally the knot vectors can be uniform, open uniform and non-uniform

24 10 Chapter 1. Literature review distributed. Uniform knot vectors are those vectors for which the distance between two subsequent points, i.e., u i+1 u i is constant, e.g. [0, 1, 2, 3, 4, 5]. In this case the B-splines are called uniform according to to the knot-vector class. Uniform B-splines have periodic basis functions. That is, all basis functions have the same shape, each successive basis function is simply a shifted version of the previous function. Open Uniform knot vectors are uniform knot vectors which have n-equal knot values at each end: u i = u 1, i < n u i+1 u i = const, p i < k + 1 u i = u k+n, i k + 1 e.g. [0, 0, 0, 1, 2, 3, 4, 4, 4], (n=3, k=5). The B-spline curves characterized by this knot-vector, called open uniform B-splines have characteristic that are very similar to Bézier splines. In fact when the p-degree of the polynomial is n, open uniform B-splines reduce to Bézier splines. Furthermore, the polynomial curve for an open B-spline passes through the first and last control points. Finally, non-uniform knot vectors are defined by the only constraint: e.g. [0, 1, 2, 3, 3, 4]. u i u i+1, With unequally spaced intervals in the knot vector, we obtain different shapes for the basis functions in different intervals. Nonuniform B-splines provide increased flexibility in controlling a curve shape. If the knot vector does not have any particular structure, the generated curve will not touch the first and last legs of the control polyline. According to the behavior of a Bézier curve at its end points, we could like to ensure that the curve has tangents to the first and the last legs at the first and last control points, respectively. In order to do so, the first knot and the last knot must be of multiplicity p + 1. This will generate the so-called clamped B-spline curves. By repeating some knots and control points, the generated curve can be a closed one. In this case, the starting and the ending point of the generated curve join together forming a closed loop.

25 11 The B-spline functions of p-degree are polynomial of degree not higher than p in each interval individuated by two consecutive breakpoints, and so they are formally defined on the open set formed by these intervals. Using the derivation rules and a recursive formula, we can prove the following result: d dt Bp Bp 1 k (t) B p 1 k+1 k (t) = p p (t). (1.1.15) u k+p u k u k+p+1 u k+1 In the formula (1.1.15) has been used the convention that the indeterminate form 0 0 is considered equal to zero. Now we can construct a B-spline curves: a pth-degree B-spline curve is defined by C(t) = n B p k (t)p k (1.1.16) k=0 with t [0, 1], where P k are the control points, B p k (t) are the pth-degree B-spline basis functions defined on the nonperiodic knot vector: U = {u 0,...,u p, u p+1,...,u m p 1, u m p,...,u m } with m + 1 knots so defined 0 = u 0 =... = u p < u p+1 <... < u m p 1 < u m p =... = u m = 1 This curve representation is largely used in many CG applications because it has many desirable properties that make it a valid and important toll. Now we see some important properties of B-spline curve as defined in : C(t) is a pth-degree piecewise polynomial curve with n+1 control points and m + 1 knots where m = n + p + 1; Endpoint interpolation: C(0) = P 0 (1.1.17) C(1) = P n. (1.1.18)

26 12 Chapter 1. Literature review The first derivatives at the endpoints of a B-spline curve are given by: C (1) = C (0) = p u p+1 u p (P 1 P 0 ), (1.1.19) p u m p u m p 1 (P n P n 1 ). (1.1.20) Affine invariance: an affine transformation (translation, rotation, scale and shear) is applied to the curve by applying it to the control points. Strong convex hull property: a B-spline curve is contained in the convex hull of its control polyline. More specifically, if t is in knot span [u i, u i+1 [, then C(t) is in the convex hull of control points P i p, P i p+1,...,p i. Local modification: changing the position of control point P i only affects the curve C(t) on interval [u i, u i+p+1 [. Variation diminishing property: if the curve is in a plane this means no straight line intersects a B-spline curve more times than it intersects the curve s control polyline. In this thesis, we use the B-spline curve, in particular the cubic B-spline curve, both in the first part and in the second part. In the second part, in particular, we use uniform B-spline to perform multiresolution curve analysis. In the following figure we show an example of cubic B-spline and its basis functions. Figure 1.2: (left) The example of uniform B-spline curve. (right) The basis functions of uniform cubic B-spline.

27 Wavelets analysis History Wavelets are functions that satisfy certain mathematical requirements and are used in representing data or other functions. This idea is not new. Approximation using superposition of functions has existed since the early 1800 s, when Joseph Fourier discovered that he could superpose sines and cosines to represent other functions. However, in wavelet analysis, the scale that we use to look at data plays a special role. Wavelet algorithms process data at different scales or resolutions. If we look at a signal with a large window, we would notice gross features. Similarly, if we look at a signal with a small window, we would notice small features. The result in wavelet analysis is to see both small and large window. The Wavelets were proposed in the 1980 s as an alternative to the Fourier transforms for signal analysis, and were initially used for representing seismic signal. In fact, the term wavelet was coined by Ricker in 1940 ([28]) to describe the disturbance that proceeds outward from a sharp seismic impulse or explosive charge. However, only in the middle of 1980 s their mathematic theory was formalized in a rigorous manner. The Wavelets are now used as a mathematical tool for hierarchically decomposing functions. They allow any function to be decomposed in terms of a coarse overall shape, plus details that range from broad to narrow. Mathematical definition Definition A wavelet is a function ψ(t) L 2 (R) such that the family of functions ψ j,k (t) =: 2 j/2 ψ(2 j t k) where j and k are arbitrary integers, is an orthonormal basis in the Hilbert space L 2 (R). An orthonormal, compactly supported wavelet basis of L 2 (R) is formed by the dilation and translation of a single function ψ that satisfies the following two-scale difference equation ψ(t) = i p i ψ(2t i) (1.2.1)

28 14 Chapter 1. Literature review where p i is a set of coefficients. The wavelet function has a companion, the scaling function, which also forms a set of orthonormal bases of L 2 (R) φ j,k (t) =: 2 j/2 φ(2 j t k) The scaling function φ also satisfies the two-scale difference equation ψ(t) = i q i ψ(2t i) (1.2.2) where q i is a set of coefficients. Good wavelet are usually constructed starting from a multiresolution analysis. Let us give a definition of this concept. Definition A multiresolution analysis is a sequence {V j } j Z of subspaces of L 2 (R) such that i)... V 1 V 0 V 1... ii) span j Z V j = L 2 (R) iii) f(x) V j if and only if f(2 j x) V 0,i.e. the spaces V j are scaled versions of the central space V 0 iv) f V 0 if and only if f(x m) V 0 for all m Z,that is, V 0 (and hence all the V j ) is invariant under translation. v) there exists a function φ V 0, called scaling function, such that the system {φ(t m)} m Z is an orthonormal basis in V 0 Wavelet for Computer Graphics Several researches in CG have been centered around the use of wavelets. The ideas of multiple levels of resolution, or so called level of detail modeling, have been largely used in CG as in many other disciplines. Thus, when wavelets moved from a mathematical analysis tool to a practical computational tool, they were quickly put to use in CG. The Wavelets can be applied to a wide variety of objects used in graphics, as we point out in the following list:

29 15 Image Processing: some of most powerful compression techniques are based on wavelet transforms; Global Illumination: radiosity and radiance algorithms, that are based on wavelets are asymptotically faster than other finite element methods; Hierarchical Modeling: the use of multiresolution representations for curves and surfaces accelerates and simplifies many applications of editing; Animation: the large constrained optimization tasks which arise in physically based modeling and animation subject to goal constraints can be resolved faster and more robustly with wavelets; Volume Rendering and Processing: the wavelets can simplify the treatment of very large data sets because they can be used as well as feature detection and enhancement; Multiresolution Painting: the use of multiresolution analysis one can build efficient infinite resolution paint systems; Image Query: the use of a small number of the largest wavelet coefficients of an image, gives the opportunity of accelerating searching and retrieval systems. There are several reasons for the enthusiastic welcome wavelet based algorithms have received in CG. Foremost stand the huge computational demands of CG applications. Geometric models, for example, are often built from a large number of primitive elements in order to achieve some desired level of fidelity with respect to a real world object. At the same time, users would desire that all the manipulations and the computations which involve these objects occur interactively, that is, with the screen updates occurring multiple times per second. Similarly, the shading and the motion of these objects should appear realistic. Depending on the number and the complexity of objects appearing in a scene, this can lead to very expensive algorithms. Some examples include the modeling of constrained dynamical systems, the deformation of objects under forces, and the indirect illumination effects. Performing the necessary computations under the constraints of interactivity demands the as efficient algorithms as possible, and the application of some shrewd approximations which permit to preserve a perceived realism. Due to the ability of wavelets to represent compactly functions and data sets within user specified error bounds they are a natural tool to be considered. Their zooming

30 16 Chapter 1. Literature review in ability allows the use of just enough precision in a given region of interest, allowing at the same time coarse representations in regions outside the immediate area of interest. Even more importantly, they facilitate a smooth tradeoff between computation time and resulting simulation quality. Often the algorithms which manipulate these hierarchical objects become asymptotically faster as well, allowing the use of much larger and more complicated scenes with respect to what is possible to treat without this tool. Wavelet as new language The Wavelet take some advantages on the traditional methods like the Fourier analysis especially when the real signal presents some discontinuities. There has been a large interest in studying those functions which approximate discontinuous signals more appropriate with respect to the sin and the cosine functions adopted in the Fourier transform. In fact the deficiencies of Fourier techniques have led researchers in a variety of disciplines to develop various hierarchical representations of functions. This enormous interest, on wavelet theory, in many and different research fields has lead researches to comunicate necessarily between themselves. The mathematician Ingrid Daubechies describes in clear manner what the Wavelets are and how this term became a new communication language among all scientists ([37])....Mathematicians are like the French, the German poet Goethe once remarked. They take whatever you tell them and translate it into their own language - and from then on it is something entirely different. Goethe s observation is as true now as ever. But times may be changing. In the last ten years, mathematicians and researchers in diverse areas of science, engineering and even art have discovered and begun to develop a theoretical language they can all understand. This new common language is sparking new collaborations. Many mathematicians are now crossing over into such applied areas as signal processing, medical imaging, and speech synthesis. At the same time, much deep but abstract - sounding mathematics is becoming accessible to researchers in fields from geophysics to electrical engineering. The new language is wavelet theory. Those who speak it it describe

31 17 wavelets as powerful new tools for analyzing data. Wavelet theory serves as a kind of numerical zoom lens, able to focus tightly on interesting patches of data - but without losing sight of mathematical forest while attending to the trees, twigs, buds, and grains of pollen... Mathematically, wavelets are an offshoot of the theory of Fourier analysis. Introduced by the French mathematician Joseph Fourier in his essay Theorie analytique de la chaleur (analytic theory of heat), published in Fourier analysis seeks, with great success, to understand complicated phenomena by breaking them into mathematically simple components. The fundamental idea is to take a function and express it as a sum of trigonometric sine and cosine waves of various frequencies and amplitudes. The familiar and well- understood trigonometric functions are easy to analyze. By combining information about a function s sine and cosine components, properties of the function itself are easily deduced, at least in principle. Fourier analysis is among mathematics most widely used theories. It is especially suited to analyzing periodic phenomena, periodicity being the most prominent property of sines and cosines. But even so, the theory has its limitations and its pitfalls. The main problem is that finding detailed information about a function requires looking at a huge number of its infinitely many Fourier components. For example, a transient blip obvious in a graph, is impossible to recognize from its effect on a single component. The reason, in essence, is that each sine and cosine wave undulates infinitely in both directions: thus a single wave can t help locate anything. Indeed the sharper the blip, the more Fourier components are needed to describe it. Wavelet theory takes a different approach. Instead of working with the infinitely undulating sine and cosine waves, wavelet analysis relies on translations and dilations of a suitably chosen mother wavelet that is concentrated in a finite interval. Almost any function can serve as the mother wavelet: this makes wavelet theory more flexible than traditional Fourier analysis. Daughter wavelets are formed by translating, or shifting, the mother wavelet by unit steps and by contracting or expanding it by powers of two (see Figure 1.3). One then expresses other functions as combinations of wavelets,

32 18 Chapter 1. Literature review Figure 1.3: A mother wavelet and two daughters just as Fourier analysis represents functions by combining sines and cosines. The fact that the mother wavelet is concentrated in a finite interval gives wavelet theory its zoom-in capability:an interesting blip in a function can be analyzed by looking at increasingly contracted copies of the mother wavelet in the vicinity of the blip. Many of the ideas underlying wavelet theory have been around for decades, but the subject itself got off the ground only recently. The story starts in the early 1980s in France, when wavelets were introduced by geophysicist Jean Morlet and mathematical physicist Alexander Grossmann. In 1985, mathematician Yves Meyer constructed a family of wavelets with two highly desirable mathematical properties called smoothness and orthogonality.(interestingly, J. O. Stromberg at the University of Tromso in Norway had constructed such a family several years earlier, but the connection with the nascent theory of wavelets was not realized until after Meyer s work.) The following year, Meyer and Stephane Mallat gave the subject a solid foundation with a theory of multiresolution analysis. Then in 1987, Daubechies constructed a family of wavelet that, in addition to being smooth and orthogonal, were identically zero outside a finite interval. Daubechies s construction opened up the field. Compactly supported wavelets are now easy to come by, and are

33 among the most commonly used in applications. And applications are abundant. Wavelets are being tested for use in everything from digital image enhancement- making blurry pictures sharp- to new methods in numerical analysis (itself widely used in scientific computing). They re a very versatile tool says Daubechies. Not all the applications will pan out, but many will, and some already have. There are some very nice success stories Daubechies adds. One such story may have far- reaching effects, especially for the next generation of criminals. The Federal Bureau of Investigation has adopted a wavelet-based standard for computerizing its fingerprint files. The FBI has around 200 million fingerprint cards on file, according to Peter Higgins, is to digitize the files, store them electronically, and put [them] in something that would fit in a foot room. It sounds easy: after all, entire encyclopedias now fit on a compact disk with room to spare. But that s words. Images are something else. At a resolution of 500 pixels per inch. a standard fingerprint card contains nearly 10 megabytes of data. Transmitting that much information over a modem-something the police would like to be able to do takes hours at today s transmission rates...what s needed is some way to compress the data on a fingerprint card without distorting the picture. That s where wavelets come in. By treating the fingerprint image as a two- dimensional function, it s possible to represent it with a combination of wavelets. With a suitably chosen family of wavelets, only a relative handful are needed to represent a fingerprint, and the contribution of each wavelet can be rounded off, or quantized, which reduces the amount of data that needs to be stored or transmitted... 19

34 20 Chapter 1. Literature review 1.3 Multiresolution analysis Multiresolution curve The multiresolution techniques and the use of hierarchy have a long history in CG. In particular, the multiresolution plays a fundamental role for CAD curves representation as B-spline. This technique is a certain way of handling cubic B-splines, which allows to do many things, that are not possible or very complicated with spline techniques. Some of the key-features of multiresolution curves are: smoothing through changing the level of resolution editing the overall sweep of the curve without changing its character editing the character of the curve without changing its overall sweep The key idea of multiresolution curves is to take cubic B-spline control points and apply filter bank decomposition from multiresolution analysis. This means defining a filter-bank: a set of matrices presenting averaging scheme for each level of resolution. By applying decomposition matrices to the initial control polygon we get the control polygon on the lowest level and a set of detail coefficients for every successful level. By applying reconstruction matrices on the latter you can get the control points of the curve at any level. In order to understand better the working mechanism underlying this technique, in the following section we provide an overview of the multiresolution analysis applied to curves. A function or a signal can be viewed as composed by a smooth background and some fluctuations or details on top of it. The distinction between the smooth part and the details is determined by the resolution, that is, by the level below which the details of a signal cannot be discerned. At a given resolution, a function is approximated by ignoring all fluctuations below the resolution scale. We can imagine to progressively increase the resolution: at each stage of the increase in the resolution, finer details are added to the coarser description, providing successively better approximations to the original function. In our case, given a B-spline curve f(u) with m control points, a multiresolution framework constructs the approximating curve with the least squared error using m control points with m < m. We consider that these

35 21 are endpoint-interpolating uniform B-spline curves. We summarize the multiresolution framework considering the general case. Let C n be a discrete signal expressed as a column vector of samples c n 1, cn 2,.., cn m C n = [c n 1, c n 2,.., c n m] T, that in our application are the control points of the curve. We want to construct a low-resolution version C n 1 of C n with a number of samples m < m. The process for creating the m samples of C n 1 uses some form of filtering and down-sampling that can be expressed by the following matrix equation: C n 1 = A n C n, (1.3.1) where A n is an m m matrix. The detail D n 1 lost in this filtering process can be captured by the following equation: D n 1 = B n C n, (1.3.2) where B n is a (m m ) m matrix which is related to the matrix A n. This process, that splits C n into a low-resolution version C n 1 and detail D n 1, is called decomposition. If A n and B n are correctly chosen, we can reconstruct the initial signal C n using another pair of matrices P n and Q n called synthesis filters, as follows: C n = P n C n 1 + Q n D n 1. (1.3.3) The process is called reconstruction. If we recursively apply the same splitting procedure to the signal C n 1, we obtain a hierarchy of lower-resolution signals C 0, C 1,...,C n 1 and details D 0, D 1,...,D n 1. This recursive process is known as a filter bank (Figure 1.4). So, C n can be recovered from the sequence C 0, D 0, D 1,...,D n 1. This transformation is known as a wavelet transform. All that is needed for a wavelet transform is an appropriate set of analysis and synthesis filters A j, B j, P j and Q j. To calculate these filters, we associate with each signal C n (for the B-spline curves these are the vectors of control points), a functions f n (u), with u [0, 1] given by: f n (u) = φ n C n,

36 22 Chapter 1. Literature review Figure 1.4: The filter bank where φ n is a row matrix of basis functions called scaling function that are the endpoint-interpolating B-splines basis functions for the curves. These functions posses an important property: they have to be refinable; that is, for all j [0, n] : φ j 1 = φ j P j. (1.3.4) In other words, each scaling function at level j 1 must be expressible as a linear combination of finer scaling functions at level j. Next, let V j be the linear space spanned by the set of scaling functions j. The refinement condition on j implies that these linear spaces are nested. If we choose an proper inner product for the basis functions in V j we are able to define W j as the orthogonal complement of V j in V j+1. The basis functions j of the space W j, called wavelets, are such that φ j and ψ j together form a basis for V j+1. We can now construct the synthesis filter Q j as the matrix that satisfies: ψ j 1 = φ j Q j. (1.3.5) The equations and can be expressed as a single equation by concatenating the matrices together: [Φ j 1 Ψ j 1 ] = Φ j [P j Q j ] The analysis filters A j and B j instead, are formed by the matrices satisfying the inverse relation: [ ] A [Φ j 1 Ψ j 1 j ] = Φ j By this two matrix equations we can write the following relation: [ ] A j = [P j Q j ] 1 B j B j

37 [ ] A where j and [P j Q j ] 1 are both square matrices. B j We have seen an overview on wavelet and multiresolution analysis that we will use in the second part of this thesis when we analyze the smoothing and segmentation phase in the sketch curve phases. To construct multiresolution curve procedure we need that the work space have particular property as for example that the spaces of the basis functions are nested. As we have seen in the section 1.1, the basis functions of the B-spline curve are defined recursively and hence they have this property. Furthermore the fact that the B-spline basis functions are locally supported, influence the sparsity of the refinement matrix P j. These and other property make B-spline curve representation suitable for wavelet and multiresolution analysis. Now, we can see in more detail how, all these mathematical entity, are used in the two research fields presented in this thesis. 23

38 24 Chapter 1. Literature review

39 Chapter 2 Part one: B-spline Curve Approximation with Optimal Knots 2.1 Introduction This chapter concerns with an algorithm for constructing suitable configuration of knot sets for the linear B-splines. The aim is to determine optimal positions for the knots, in order to approximate arbitrary functions in the L 1 norm. Starting from some known results on the approximation of strictly convex functions with linear splines, we construct linear approximations for not convex functions and plane curves. Furthermore, we apply the proposed approach to approximate cubic B-splines with optimal knots and to achieved a better curve approximation after knots removal. Some numerical experiments that illustrating the performance of the presented algorithm are also showed. In particular we extend to a not convex function the L 1 approximation of strictly convex functions by means of second order splines, and then we present some applications of this extension. The section 2.2 gives an overview of the problem, already studied by [18], subsequently, the section 2.3 and 2.4 are devoted to the extension of linear approximations to a not convex functions and plane curves, respectively. The section 2.5 and 2.6 are dedicated to applications of the methods described

40 26 Chapter 2. Approximation with Optimal Knots in the previous sections, to obtain better cubic B-spline approximations after some knots removal. Finally, in the chapter 3 some numerical examples are provided. 2.2 Preliminaries Let [a, b] an interval on the real axis and let S 2 (U) be the space of the second order spline with U = {u 0,...,u n+1 } set of knots in [a, b], with a = u 0 = u 1 < < u n = u n+1 = b and with the B-spline basis functions B 1 0,...,B1 n 1. Let C(t) S 2 (U) be a linear B-spline with knots set U, then we can rewrite it as follows: n 1 C(t) = α i Bi 1 (t) where α i are coefficients. The problem we are going to tackle can we formalize as follows. i=0 Problem 1. Let f be a function, f C[a, b], we want to approximate f by second order spline functions, i.e., we want to find a C (t) with knots set U such that: b a f(x) C (t) dx b a f(x) C(t) dx for all set of knots U in [a, b] and functions C(t) S 2 (U). Firstly, we recall the results obtained in [14] and [18]. In these works a preliminary solution at the Problem 1 is proposed by considering f to be strictly convex function in [a, b]. The optimal L 1 approximation straight line can be determined easily with the following result:

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example. An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points

More information

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

More information

Figure 2.1: Center of mass of four points.

Figure 2.1: Center of mass of four points. Chapter 2 Bézier curves are named after their inventor, Dr. Pierre Bézier. Bézier was an engineer with the Renault car company and set out in the early 196 s to develop a curve formulation which would

More information

Geometric Modelling & Curves

Geometric Modelling & Curves Geometric Modelling & Curves Geometric Modeling Creating symbolic models of the physical world has long been a goal of mathematicians, scientists, engineers, etc. Recently technology has advanced sufficiently

More information

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture 13: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #6 due Friday, Nov 18

More information

(Refer Slide Time: 1:42)

(Refer Slide Time: 1:42) Introduction to Computer Graphics Dr. Prem Kalra Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 10 Curves So today we are going to have a new topic. So far

More information

Essential Mathematics for Computer Graphics fast

Essential Mathematics for Computer Graphics fast John Vince Essential Mathematics for Computer Graphics fast Springer Contents 1. MATHEMATICS 1 Is mathematics difficult? 3 Who should read this book? 4 Aims and objectives of this book 4 Assumptions made

More information

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and

More information

Wavelet analysis. Wavelet requirements. Example signals. Stationary signal 2 Hz + 10 Hz + 20Hz. Zero mean, oscillatory (wave) Fast decay (let)

Wavelet analysis. Wavelet requirements. Example signals. Stationary signal 2 Hz + 10 Hz + 20Hz. Zero mean, oscillatory (wave) Fast decay (let) Wavelet analysis In the case of Fourier series, the orthonormal basis is generated by integral dilation of a single function e jx Every 2π-periodic square-integrable function is generated by a superposition

More information

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include

More information

CHAPTER 1 Splines and B-splines an Introduction

CHAPTER 1 Splines and B-splines an Introduction CHAPTER 1 Splines and B-splines an Introduction In this first chapter, we consider the following fundamental problem: Given a set of points in the plane, determine a smooth curve that approximates the

More information

the points are called control points approximating curve

the points are called control points approximating curve Chapter 4 Spline Curves A spline curve is a mathematical representation for which it is easy to build an interface that will allow a user to design and control the shape of complex curves and surfaces.

More information

Modeling Curves and Surfaces

Modeling Curves and Surfaces Modeling Curves and Surfaces Graphics I Modeling for Computer Graphics!? 1 How can we generate this kind of objects? Umm!? Mathematical Modeling! S Do not worry too much about your difficulties in mathematics,

More information

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials 3. Interpolation Closing the Gaps of Discretization... Beyond Polynomials Closing the Gaps of Discretization... Beyond Polynomials, December 19, 2012 1 3.3. Polynomial Splines Idea of Polynomial Splines

More information

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks Welcome to Thinkwell s Homeschool Precalculus! We re thrilled that you ve decided to make us part of your homeschool curriculum. This lesson

More information

Content. Chapter 4 Functions 61 4.1 Basic concepts on real functions 62. Credits 11

Content. Chapter 4 Functions 61 4.1 Basic concepts on real functions 62. Credits 11 Content Credits 11 Chapter 1 Arithmetic Refresher 13 1.1 Algebra 14 Real Numbers 14 Real Polynomials 19 1.2 Equations in one variable 21 Linear Equations 21 Quadratic Equations 22 1.3 Exercises 28 Chapter

More information

Copyrighted Material. Chapter 1 DEGREE OF A CURVE

Copyrighted Material. Chapter 1 DEGREE OF A CURVE Chapter 1 DEGREE OF A CURVE Road Map The idea of degree is a fundamental concept, which will take us several chapters to explore in depth. We begin by explaining what an algebraic curve is, and offer two

More information

Degree Reduction of Interval SB Curves

Degree Reduction of Interval SB Curves International Journal of Video&Image Processing and Network Security IJVIPNS-IJENS Vol:13 No:04 1 Degree Reduction of Interval SB Curves O. Ismail, Senior Member, IEEE Abstract Ball basis was introduced

More information

Section 1.1. Introduction to R n

Section 1.1. Introduction to R n The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to

More information

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS TEST DESIGN AND FRAMEWORK September 2014 Authorized for Distribution by the New York State Education Department This test design and framework document

More information

Parametric Curves. (Com S 477/577 Notes) Yan-Bin Jia. Oct 8, 2015

Parametric Curves. (Com S 477/577 Notes) Yan-Bin Jia. Oct 8, 2015 Parametric Curves (Com S 477/577 Notes) Yan-Bin Jia Oct 8, 2015 1 Introduction A curve in R 2 (or R 3 ) is a differentiable function α : [a,b] R 2 (or R 3 ). The initial point is α[a] and the final point

More information

Point Lattices in Computer Graphics and Visualization how signal processing may help computer graphics

Point Lattices in Computer Graphics and Visualization how signal processing may help computer graphics Point Lattices in Computer Graphics and Visualization how signal processing may help computer graphics Dimitri Van De Ville Ecole Polytechnique Fédérale de Lausanne Biomedical Imaging Group dimitri.vandeville@epfl.ch

More information

TWO-DIMENSIONAL TRANSFORMATION

TWO-DIMENSIONAL TRANSFORMATION CHAPTER 2 TWO-DIMENSIONAL TRANSFORMATION 2.1 Introduction As stated earlier, Computer Aided Design consists of three components, namely, Design (Geometric Modeling), Analysis (FEA, etc), and Visualization

More information

Estimated Pre Calculus Pacing Timeline

Estimated Pre Calculus Pacing Timeline Estimated Pre Calculus Pacing Timeline 2010-2011 School Year The timeframes listed on this calendar are estimates based on a fifty-minute class period. You may need to adjust some of them from time to

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

THREE DIMENSIONAL GEOMETRY

THREE DIMENSIONAL GEOMETRY Chapter 8 THREE DIMENSIONAL GEOMETRY 8.1 Introduction In this chapter we present a vector algebra approach to three dimensional geometry. The aim is to present standard properties of lines and planes,

More information

3. INNER PRODUCT SPACES

3. INNER PRODUCT SPACES . INNER PRODUCT SPACES.. Definition So far we have studied abstract vector spaces. These are a generalisation of the geometric spaces R and R. But these have more structure than just that of a vector space.

More information

South Carolina College- and Career-Ready (SCCCR) Pre-Calculus

South Carolina College- and Career-Ready (SCCCR) Pre-Calculus South Carolina College- and Career-Ready (SCCCR) Pre-Calculus Key Concepts Arithmetic with Polynomials and Rational Expressions PC.AAPR.2 PC.AAPR.3 PC.AAPR.4 PC.AAPR.5 PC.AAPR.6 PC.AAPR.7 Standards Know

More information

Estimating the Average Value of a Function

Estimating the Average Value of a Function Estimating the Average Value of a Function Problem: Determine the average value of the function f(x) over the interval [a, b]. Strategy: Choose sample points a = x 0 < x 1 < x 2 < < x n 1 < x n = b and

More information

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface? Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons

More information

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. B2.53-R3: COMPUTER GRAPHICS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF ANSWER

More information

The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., 12-15 July 2000. Derive 5: The Easiest... Just Got Better!

The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., 12-15 July 2000. Derive 5: The Easiest... Just Got Better! The Fourth International DERIVE-TI9/89 Conference Liverpool, U.K., -5 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de technologie supérieure 00, rue Notre-Dame Ouest Montréal

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics Computer Animation Adapted from notes by Yong Cao Virginia Tech 1 Outline Principles of Animation Keyframe Animation Additional challenges in animation 2 Classic animation Luxo

More information

BEZIER CURVES AND SURFACES

BEZIER CURVES AND SURFACES Department of Applied Mathematics and Computational Sciences University of Cantabria UC-CAGD Group COMPUTER-AIDED GEOMETRIC DESIGN AND COMPUTER GRAPHICS: BEZIER CURVES AND SURFACES Andrés Iglesias e-mail:

More information

Higher Education Math Placement

Higher Education Math Placement Higher Education Math Placement Placement Assessment Problem Types 1. Whole Numbers, Fractions, and Decimals 1.1 Operations with Whole Numbers Addition with carry Subtraction with borrowing Multiplication

More information

Piecewise Cubic Splines

Piecewise Cubic Splines 280 CHAP. 5 CURVE FITTING Piecewise Cubic Splines The fitting of a polynomial curve to a set of data points has applications in CAD (computer-assisted design), CAM (computer-assisted manufacturing), and

More information

PYTHAGOREAN TRIPLES KEITH CONRAD

PYTHAGOREAN TRIPLES KEITH CONRAD PYTHAGOREAN TRIPLES KEITH CONRAD 1. Introduction A Pythagorean triple is a triple of positive integers (a, b, c) where a + b = c. Examples include (3, 4, 5), (5, 1, 13), and (8, 15, 17). Below is an ancient

More information

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007 KEANSBURG HIGH SCHOOL Mathematics Department HSPA 10 Curriculum September 2007 Written by: Karen Egan Mathematics Supervisor: Ann Gagliardi 7 days Sample and Display Data (Chapter 1 pp. 4-47) Surveys and

More information

Part-Based Recognition

Part-Based Recognition Part-Based Recognition Benedict Brown CS597D, Fall 2003 Princeton University CS 597D, Part-Based Recognition p. 1/32 Introduction Many objects are made up of parts It s presumably easier to identify simple

More information

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation

More information

Georgia Department of Education Kathy Cox, State Superintendent of Schools 7/19/2005 All Rights Reserved 1

Georgia Department of Education Kathy Cox, State Superintendent of Schools 7/19/2005 All Rights Reserved 1 Accelerated Mathematics 3 This is a course in precalculus and statistics, designed to prepare students to take AB or BC Advanced Placement Calculus. It includes rational, circular trigonometric, and inverse

More information

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions. Chapter 1 Vocabulary identity - A statement that equates two equivalent expressions. verbal model- A word equation that represents a real-life problem. algebraic expression - An expression with variables.

More information

The Essentials of CAGD

The Essentials of CAGD The Essentials of CAGD Chapter 2: Lines and Planes Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2000 Farin & Hansford

More information

Dhiren Bhatia Carnegie Mellon University

Dhiren Bhatia Carnegie Mellon University Dhiren Bhatia Carnegie Mellon University University Course Evaluations available online Please Fill! December 4 : In-class final exam Held during class time All students expected to give final this date

More information

Polynomial Degree and Finite Differences

Polynomial Degree and Finite Differences CONDENSED LESSON 7.1 Polynomial Degree and Finite Differences In this lesson you will learn the terminology associated with polynomials use the finite differences method to determine the degree of a polynomial

More information

Big Ideas in Mathematics

Big Ideas in Mathematics Big Ideas in Mathematics which are important to all mathematics learning. (Adapted from the NCTM Curriculum Focal Points, 2006) The Mathematics Big Ideas are organized using the PA Mathematics Standards

More information

Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability

Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability Classification of Fingerprints Sarat C. Dass Department of Statistics & Probability Fingerprint Classification Fingerprint classification is a coarse level partitioning of a fingerprint database into smaller

More information

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Nonlinear Iterative Partial Least Squares Method

Nonlinear Iterative Partial Least Squares Method Numerical Methods for Determining Principal Component Analysis Abstract Factors Béchu, S., Richard-Plouet, M., Fernandez, V., Walton, J., and Fairley, N. (2016) Developments in numerical treatments for

More information

Corollary. (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality

Corollary. (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality Corollary For equidistant knots, i.e., u i = a + i (b-a)/n, we obtain with (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality 120202: ESM4A - Numerical Methods

More information

Introduction to time series analysis

Introduction to time series analysis Introduction to time series analysis Margherita Gerolimetto November 3, 2010 1 What is a time series? A time series is a collection of observations ordered following a parameter that for us is time. Examples

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

A matrix method for degree-raising of B-spline curves *

A matrix method for degree-raising of B-spline curves * VOI. 40 NO. 1 SCIENCE IN CHINA (Series E) February 1997 A matrix method for degree-raising of B-spline curves * QIN Kaihuai (%*>/$) (Department of Computer Science and Technology, Tsinghua University,

More information

1 if 1 x 0 1 if 0 x 1

1 if 1 x 0 1 if 0 x 1 Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

More information

2.2 Creaseness operator

2.2 Creaseness operator 2.2. Creaseness operator 31 2.2 Creaseness operator Antonio López, a member of our group, has studied for his PhD dissertation the differential operators described in this section [72]. He has compared

More information

Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

More information

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation

More information

SIGNAL PROCESSING & SIMULATION NEWSLETTER

SIGNAL PROCESSING & SIMULATION NEWSLETTER 1 of 10 1/25/2008 3:38 AM SIGNAL PROCESSING & SIMULATION NEWSLETTER Note: This is not a particularly interesting topic for anyone other than those who ar e involved in simulation. So if you have difficulty

More information

An Overview of the Finite Element Analysis

An Overview of the Finite Element Analysis CHAPTER 1 An Overview of the Finite Element Analysis 1.1 Introduction Finite element analysis (FEA) involves solution of engineering problems using computers. Engineering structures that have complex geometry

More information

Introduction to Quadratic Functions

Introduction to Quadratic Functions Introduction to Quadratic Functions The St. Louis Gateway Arch was constructed from 1963 to 1965. It cost 13 million dollars to build..1 Up and Down or Down and Up Exploring Quadratic Functions...617.2

More information

Derive 5: The Easiest... Just Got Better!

Derive 5: The Easiest... Just Got Better! Liverpool John Moores University, 1-15 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de Technologie Supérieure, Canada Email; mbeaudin@seg.etsmtl.ca 1. Introduction Engineering

More information

Problem Set 5 Due: In class Thursday, Oct. 18 Late papers will be accepted until 1:00 PM Friday.

Problem Set 5 Due: In class Thursday, Oct. 18 Late papers will be accepted until 1:00 PM Friday. Math 312, Fall 2012 Jerry L. Kazdan Problem Set 5 Due: In class Thursday, Oct. 18 Late papers will be accepted until 1:00 PM Friday. In addition to the problems below, you should also know how to solve

More information

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year.

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year. This document is designed to help North Carolina educators teach the Common Core (Standard Course of Study). NCDPI staff are continually updating and improving these tools to better serve teachers. Algebra

More information

Prentice Hall Algebra 2 2011 Correlated to: Colorado P-12 Academic Standards for High School Mathematics, Adopted 12/2009

Prentice Hall Algebra 2 2011 Correlated to: Colorado P-12 Academic Standards for High School Mathematics, Adopted 12/2009 Content Area: Mathematics Grade Level Expectations: High School Standard: Number Sense, Properties, and Operations Understand the structure and properties of our number system. At their most basic level

More information

Algebra 1 2008. Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard

Algebra 1 2008. Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard Academic Content Standards Grade Eight and Grade Nine Ohio Algebra 1 2008 Grade Eight STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express

More information

South Carolina College- and Career-Ready (SCCCR) Algebra 1

South Carolina College- and Career-Ready (SCCCR) Algebra 1 South Carolina College- and Career-Ready (SCCCR) Algebra 1 South Carolina College- and Career-Ready Mathematical Process Standards The South Carolina College- and Career-Ready (SCCCR) Mathematical Process

More information

Computer Animation: Art, Science and Criticism

Computer Animation: Art, Science and Criticism Computer Animation: Art, Science and Criticism Tom Ellman Harry Roseman Lecture 4 Parametric Curve A procedure for distorting a straight line into a (possibly) curved line. The procedure lives in a black

More information

Review of Fundamental Mathematics

Review of Fundamental Mathematics Review of Fundamental Mathematics As explained in the Preface and in Chapter 1 of your textbook, managerial economics applies microeconomic theory to business decision making. The decision-making tools

More information

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it Seminar Path planning using Voronoi diagrams and B-Splines Stefano Martina stefano.martina@stud.unifi.it 23 may 2016 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

Inner Product Spaces

Inner Product Spaces Math 571 Inner Product Spaces 1. Preliminaries An inner product space is a vector space V along with a function, called an inner product which associates each pair of vectors u, v with a scalar u, v, and

More information

CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA

CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA We Can Early Learning Curriculum PreK Grades 8 12 INSIDE ALGEBRA, GRADES 8 12 CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA April 2016 www.voyagersopris.com Mathematical

More information

Common Core Unit Summary Grades 6 to 8

Common Core Unit Summary Grades 6 to 8 Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

DIEF, Department of Engineering Enzo Ferrari University of Modena e Reggio Emilia Italy Online Trajectory Planning for robotic systems

DIEF, Department of Engineering Enzo Ferrari University of Modena e Reggio Emilia Italy Online Trajectory Planning for robotic systems DIEF, Department of Engineering Enzo Ferrari University of Modena e Reggio Emilia Italy Online Trajectory Planning for robotic systems Luigi Biagiotti Luigi Biagiotti luigi.biagiotti@unimore.it Introduction

More information

CONTROLLABILITY. Chapter 2. 2.1 Reachable Set and Controllability. Suppose we have a linear system described by the state equation

CONTROLLABILITY. Chapter 2. 2.1 Reachable Set and Controllability. Suppose we have a linear system described by the state equation Chapter 2 CONTROLLABILITY 2 Reachable Set and Controllability Suppose we have a linear system described by the state equation ẋ Ax + Bu (2) x() x Consider the following problem For a given vector x in

More information

Math 241, Exam 1 Information.

Math 241, Exam 1 Information. Math 241, Exam 1 Information. 9/24/12, LC 310, 11:15-12:05. Exam 1 will be based on: Sections 12.1-12.5, 14.1-14.3. The corresponding assigned homework problems (see http://www.math.sc.edu/ boylan/sccourses/241fa12/241.html)

More information

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction

More information

Numerical Analysis Lecture Notes

Numerical Analysis Lecture Notes Numerical Analysis Lecture Notes Peter J. Olver 5. Inner Products and Norms The norm of a vector is a measure of its size. Besides the familiar Euclidean norm based on the dot product, there are a number

More information

The degree of a polynomial function is equal to the highest exponent found on the independent variables.

The degree of a polynomial function is equal to the highest exponent found on the independent variables. DETAILED SOLUTIONS AND CONCEPTS - POLYNOMIAL FUNCTIONS Prepared by Ingrid Stewart, Ph.D., College of Southern Nevada Please Send Questions and Comments to ingrid.stewart@csn.edu. Thank you! PLEASE NOTE

More information

Offline sorting buffers on Line

Offline sorting buffers on Line Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

More information

Solution of Linear Systems

Solution of Linear Systems Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start

More information

Prentice Hall Mathematics: Algebra 2 2007 Correlated to: Utah Core Curriculum for Math, Intermediate Algebra (Secondary)

Prentice Hall Mathematics: Algebra 2 2007 Correlated to: Utah Core Curriculum for Math, Intermediate Algebra (Secondary) Core Standards of the Course Standard 1 Students will acquire number sense and perform operations with real and complex numbers. Objective 1.1 Compute fluently and make reasonable estimates. 1. Simplify

More information

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space 11 Vectors and the Geometry of Space 11.1 Vectors in the Plane Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. 2 Objectives! Write the component form of

More information

Linear algebra and the geometry of quadratic equations. Similarity transformations and orthogonal matrices

Linear algebra and the geometry of quadratic equations. Similarity transformations and orthogonal matrices MATH 30 Differential Equations Spring 006 Linear algebra and the geometry of quadratic equations Similarity transformations and orthogonal matrices First, some things to recall from linear algebra Two

More information

ISOMETRIES OF R n KEITH CONRAD

ISOMETRIES OF R n KEITH CONRAD ISOMETRIES OF R n KEITH CONRAD 1. Introduction An isometry of R n is a function h: R n R n that preserves the distance between vectors: h(v) h(w) = v w for all v and w in R n, where (x 1,..., x n ) = x

More information

http://www.aleks.com Access Code: RVAE4-EGKVN Financial Aid Code: 6A9DB-DEE3B-74F51-57304

http://www.aleks.com Access Code: RVAE4-EGKVN Financial Aid Code: 6A9DB-DEE3B-74F51-57304 MATH 1340.04 College Algebra Location: MAGC 2.202 Meeting day(s): TR 7:45a 9:00a, Instructor Information Name: Virgil Pierce Email: piercevu@utpa.edu Phone: 665.3535 Teaching Assistant Name: Indalecio

More information

A Learning Based Method for Super-Resolution of Low Resolution Images

A Learning Based Method for Super-Resolution of Low Resolution Images A Learning Based Method for Super-Resolution of Low Resolution Images Emre Ugur June 1, 2004 emre.ugur@ceng.metu.edu.tr Abstract The main objective of this project is the study of a learning based method

More information

An Iterative Image Registration Technique with an Application to Stereo Vision

An Iterative Image Registration Technique with an Application to Stereo Vision An Iterative Image Registration Technique with an Application to Stereo Vision Bruce D. Lucas Takeo Kanade Computer Science Department Carnegie-Mellon University Pittsburgh, Pennsylvania 15213 Abstract

More information

Orthogonal Projections

Orthogonal Projections Orthogonal Projections and Reflections (with exercises) by D. Klain Version.. Corrections and comments are welcome! Orthogonal Projections Let X,..., X k be a family of linearly independent (column) vectors

More information

Finite Element Formulation for Plates - Handout 3 -

Finite Element Formulation for Plates - Handout 3 - Finite Element Formulation for Plates - Handout 3 - Dr Fehmi Cirak (fc286@) Completed Version Definitions A plate is a three dimensional solid body with one of the plate dimensions much smaller than the

More information

BX in ( u, v) basis in two ways. On the one hand, AN = u+

BX in ( u, v) basis in two ways. On the one hand, AN = u+ 1. Let f(x) = 1 x +1. Find f (6) () (the value of the sixth derivative of the function f(x) at zero). Answer: 7. We expand the given function into a Taylor series at the point x = : f(x) = 1 x + x 4 x

More information

Tracking Moving Objects In Video Sequences Yiwei Wang, Robert E. Van Dyck, and John F. Doherty Department of Electrical Engineering The Pennsylvania State University University Park, PA16802 Abstract{Object

More information

North Carolina Math 2

North Carolina Math 2 Standards for Mathematical Practice 1. Make sense of problems and persevere in solving them. 2. Reason abstractly and quantitatively 3. Construct viable arguments and critique the reasoning of others 4.

More information

Understanding Basic Calculus

Understanding Basic Calculus Understanding Basic Calculus S.K. Chung Dedicated to all the people who have helped me in my life. i Preface This book is a revised and expanded version of the lecture notes for Basic Calculus and other

More information

Module1. x 1000. y 800.

Module1. x 1000. y 800. Module1 1 Welcome to the first module of the course. It is indeed an exciting event to share with you the subject that has lot to offer both from theoretical side and practical aspects. To begin with,

More information

THEORETICAL MECHANICS

THEORETICAL MECHANICS PROF. DR. ING. VASILE SZOLGA THEORETICAL MECHANICS LECTURE NOTES AND SAMPLE PROBLEMS PART ONE STATICS OF THE PARTICLE, OF THE RIGID BODY AND OF THE SYSTEMS OF BODIES KINEMATICS OF THE PARTICLE 2010 0 Contents

More information

OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

More information

2.2. Instantaneous Velocity

2.2. Instantaneous Velocity 2.2. Instantaneous Velocity toc Assuming that your are not familiar with the technical aspects of this section, when you think about it, your knowledge of velocity is limited. In terms of your own mathematical

More information

CS 4620 Practicum Programming Assignment 6 Animation

CS 4620 Practicum Programming Assignment 6 Animation CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key

More information

A QUICK GUIDE TO THE FORMULAS OF MULTIVARIABLE CALCULUS

A QUICK GUIDE TO THE FORMULAS OF MULTIVARIABLE CALCULUS A QUIK GUIDE TO THE FOMULAS OF MULTIVAIABLE ALULUS ontents 1. Analytic Geometry 2 1.1. Definition of a Vector 2 1.2. Scalar Product 2 1.3. Properties of the Scalar Product 2 1.4. Length and Unit Vectors

More information