Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms Abel J.P

Total Page:16

File Type:pdf, Size:1020Kb

Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms Abel J.P Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms Abel J.P. Gomes ² Irina Voiculescu Joaquim Jorge ² Brian Wyvill ² Callum Galbraith Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms ABC Abel J.P. Gomes Brian Wyvill Universidade da Beira Interior University of Victoria Covilha Victoria BC Portugal Canada Irina Voiculescu Callum Galbraith Oxford University Computing University of Calgary Laboratory (OUCL) Calgary Oxford Canada United Kingdom Joaquim Jorge Universidade Tecnica de Lisboa Lisboa Portugal ISBN 978-1-84882-405-8 e-ISBN 978-1-84882-406-5 DOI 10.1007/978-1-84882-406-5 Springer Dordrecht Heidelberg London New York British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library Library of Congress Control Number: 2009926285 °c Springer-Verlag London Limited 2009 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permit- ted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms of licenses issued by the Copyright Li- censing Agency. Enquiries concerning reproduction outside those terms should be sent to the publishers. The use of registered names, trademarks, etc., in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant laws and regulations and therefore free for general use. The publisher makes no representation, express or implied, with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made. Cover design: KuenkelLopka GmbH Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com) Preface This book presents the mathematics, computational methods and data struc- tures, as well as the algorithms needed to render implicit curves and surfaces. Implicit objects have gained an increasing importance in geometric modelling, visualisation, animation, and computer graphics due to their nice geometric properties which give them some advantages over traditional modelling meth- ods. For example, the point membership classification is trivial using implicit representations of geometric objects|a very useful property for detecting col- lisions in virtual environments and computer game scenarios. The ease with which implicit techniques can be used to describe smooth, intricate, and ar- ticulatable shapes through blending and constructive solid geometry show us how powerful they are and why they are finding use in a growing number of graphics applications. The book is mainly directed towards graduate students, researchers and developers in computer graphics, geometric modelling, virtual reality and com- puter games. Nevertheless, it can be useful as a core textbook for a graduate- level course on implicit geometric modelling or even for general computer graphics courses with a focus on modelling, visualisation and animation. Fi- nally, and because of the scarce number of textbooks focusing on implicit geometric modelling, this book may also work as an important reference for those interested in modelling and rendering complex geometric objects. Abel Gomes Irina Voiculescu Joaquim Jorge Brian Wyvill Callum Galbraith March 2009 V Acknowledgments The authors are grateful to those who have kindly assisted with the editing of this book, in particular Helen Desmond and Beverley Ford (Springer-Verlag). We are also indebted to Adriano Lopes (New University of Lisbon, Portu- gal), Afonso Paiva (University of S~aoPaulo, Brazil), Bruno Ara´ujo(Technical University of Lisbon, Portugal), Ron Balsys (Central Queensland University, Australia) and Kevin Suffern (University of Technology, Australia) who gen- erously have contributed beautiful images generated by their algorithms; also to Tamy Boubekeur (Telecom ParisTech, France) for letting us to use the datasets of African woman and Moai statues (Figures 8.7 and 8.10). Abel Gomes thanks the Computing Laboratory, University of Oxford, Eng- land, and CNR-IMATI, Genova, Italy, where he spent his sabbatical year writ- ing part of this book. In particular, he would like to thank Bianca Falcidieno and Giuseppe Patan`efor their support and fruitful discussions during his stage at IMATI. He is also grateful to Foundation for Science and Technology, Institute for Telecommunications and University of Beira Interior, Portugal. Irina Voiculescu acknowledges the support of colleagues at the Universi- ties of Oxford and Bath, UK, who originally enticed her to study this field and provided a stimulating discussion environment; also to Worcester College Oxford, which made an ideal thinking retreat. Joaquim Jorge is grateful to the Foundation for Science and Technology, Portugal, and its generous support through project VIZIR. Brian Wyvill is grateful to all past and present students who have con- tributed to the Implicit Modelling and BlobTree projects; also to the Natural Sciences and Engineering Research Council of Canada. Callum Galbraith acknowledges the many researchers from the Graphics Jungle at the University of Calgary who helped shape his research. In particu- lar, he would like to thank his PhD supervisor, Brian Wyvill, for his excellent experience in graduate school, and Przemyslaw Prusinkiewicz for his expert guidance in the domain of modelling plants and shells; also to the University of Calgary and the Natural Sciences and Engineering Research Council of Canada for their support. VII Contents Preface ........................................................V Acknowledgments .............................................VII Part I Mathematics and Data Structures 1 Mathematical Fundamentals ............................... 7 1.1 Introduction . 7 1.2 Functions and Mappings . 8 1.3 Differential of a Smooth Mapping. 9 1.4 Invertibility and Smoothness . 10 1.5 Level Set, Image, and Graph of a Mapping . 13 1.5.1 Mapping as a Parametrisation of Its Image . 13 1.5.2 Level Set of a Mapping . 15 1.5.3 Graph of a Mapping . 20 1.6 Rank-based Smoothness . 24 1.6.1 Rank-based Smoothness for Parametrisations . 25 1.6.2 Rank-based Smoothness for Implicitations . 27 1.7 Submanifolds . 30 1.7.1 Parametric Submanifolds . 30 1.7.2 Implicit Submanifolds and Varieties. 35 1.8 Final Remarks . 40 2 Spatial Data Structures .................................... 41 2.1 Preliminary Notions . 41 2.2 Object Partitionings . 43 2.2.1 Stratifications . 43 2.2.2 Cell Decompositions . 45 2.2.3 Simplicial Decompositions . 49 2.3 Space Partitionings . 51 IX X Contents 2.3.1 BSP Trees . 52 2.3.2 K-d Trees . 55 2.3.3 Quadtrees . 58 2.3.4 Octrees . 60 2.4 Final Remarks . 62 Part II Sampling Methods 3 Root Isolation Methods.................................... 67 3.1 Polynomial Forms . 67 3.1.1 The Power Form . 68 3.1.2 The Factored Form . 68 3.1.3 The Bernstein Form . 69 3.2 Root Isolation: Power Form Polynomials . 72 3.2.1 Descartes' Rule of Signs . 73 3.2.2 Sturm Sequences . 74 3.3 Root Isolation: Bernstein Form Polynomials . 78 3.4 Multivariate Root Isolation: Power Form Polynomials . 81 3.4.1 Multivariate Decartes' Rule of Signs . 81 3.4.2 Multivariate Sturm Sequences . 82 3.5 Multivariate Root Isolation: Bernstein Form Polynomials . 82 3.5.1 Multivariate Bernstein Basis Conversions . 83 3.5.2 Bivariate Case . 83 3.5.3 Trivariate Case . 84 3.5.4 Arbitrary Number of Dimensions . 86 3.6 Final Remarks . 87 4 Interval Arithmetic ........................................ 89 4.1 Introduction . 89 4.2 Interval Arithmetic Operations . 91 4.2.1 The Interval Number . 91 4.2.2 The Interval Operations . 91 4.3 Interval Arithmetic-driven Space Partitionings . 93 4.3.1 The Correct Classification of Negative and Positive Boxes............................................ 94 4.3.2 The Inaccurate Classification of Zero Boxes . 96 4.4 The Influence of the Polynomial Form on IA . 98 4.4.1 Power and Bernstein Form Polynomials . 99 4.4.2 Canonical Forms of Degrees One and Two Polynomials . 101 4.4.3 Nonpolynomial Implicits . 104 4.5 Affine Arithmetic Operations . 105 4.5.1 The Affine Form Number . 105 4.5.2 Conversions between Affine Forms and Intervals . 106 4.5.3 The Affine Operations . 107 Contents XI 4.5.4 Affine Arithmetic Evaluation Algorithms . 108 4.6 Affine Arithmetic-driven Space Partitionings . 109 4.7 Floating Point Errors . 111 4.8 Final Remarks . 114 5 Root-Finding Methods ....................................117 5.1 Errors of Numerical Approximations . 118 5.1.1 Truncation Errors . 118 5.1.2 Round-off Errors . 119 5.2 Iteration Formulas . 119 5.3 Newton-Raphson Method . 120 5.3.1 The Univariate Case . 121 5.3.2 The Vector-valued Multivariate Case . 123 5.3.3 The Multivariate Case . 124 5.4 Newton-like Methods . 126 5.5 The Secant Method . 127 5.5.1 Convergence . 128 5.6 Interpolation Numerical Methods . 131 5.6.1 Bisection Method . 131 5.6.2 False Position Method . 133 5.6.3 The Modified False Position Method . 136 5.7 Interval Numerical Methods . 136 5.7.1 Interval Newton Method . 136 5.7.2 The Multivariate Case . 139 5.8 Final Remarks . 139 Part III Reconstruction and Polygonisation 6 Continuation Methods .....................................145 6.1 Introduction . ..
Recommended publications
  • An Introduction to Topology the Classification Theorem for Surfaces by E
    An Introduction to Topology An Introduction to Topology The Classification theorem for Surfaces By E. C. Zeeman Introduction. The classification theorem is a beautiful example of geometric topology. Although it was discovered in the last century*, yet it manages to convey the spirit of present day research. The proof that we give here is elementary, and its is hoped more intuitive than that found in most textbooks, but in none the less rigorous. It is designed for readers who have never done any topology before. It is the sort of mathematics that could be taught in schools both to foster geometric intuition, and to counteract the present day alarming tendency to drop geometry. It is profound, and yet preserves a sense of fun. In Appendix 1 we explain how a deeper result can be proved if one has available the more sophisticated tools of analytic topology and algebraic topology. Examples. Before starting the theorem let us look at a few examples of surfaces. In any branch of mathematics it is always a good thing to start with examples, because they are the source of our intuition. All the following pictures are of surfaces in 3-dimensions. In example 1 by the word “sphere” we mean just the surface of the sphere, and not the inside. In fact in all the examples we mean just the surface and not the solid inside. 1. Sphere. 2. Torus (or inner tube). 3. Knotted torus. 4. Sphere with knotted torus bored through it. * Zeeman wrote this article in the mid-twentieth century. 1 An Introduction to Topology 5.
    [Show full text]
  • Surface Physics I and II
    Surface physics I and II Lectures: Mon 12-14 ,Wed 12-14 D116 Excercises: TBA Lecturer: Antti Kuronen, [email protected] Exercise assistant: Ane Lasa, [email protected] Course homepage: http://www.physics.helsinki.fi/courses/s/pintafysiikka/ Objectives ● To study properties of surfaces of solid materials. ● The relationship between the composition and morphology of the surface and its mechanical, chemical and electronic properties will be dealt with. ● Technologically important field of surface and thin film growth will also be covered. Surface physics I 2012: 1. Introduction 1 Surface physics I and II ● Course in two parts ● Surface physics I (SPI) (530202) ● Period III, 5 ECTS points ● Basics of surface physics ● Surface physics II (SPII) (530169) ● Period IV, 5 ECTS points ● 'Special' topics in surface science ● Surface and thin film growth ● Nanosystems ● Computational methods in surface science ● You can take only SPI or both SPI and SPII Surface physics I 2012: 1. Introduction 2 How to pass ● Both courses: ● Final exam 50% ● Exercises 50% ● Exercises ● Return by ● email to [email protected] or ● on paper to course box on the 2nd floor of Physicum ● Return by (TBA) Surface physics I 2012: 1. Introduction 3 Table of contents ● Surface physics I ● Introduction: What is a surface? Why is it important? Basic concepts. ● Surface structure: Thermodynamics of surfaces. Atomic and electronic structure. ● Experimental methods for surface characterization: Composition, morphology, electronic properties. ● Surface physics II ● Theoretical and computational methods in surface science: Analytical models, Monte Carlo and molecular dynamics sumilations. ● Surface growth: Adsorption, desorption, surface diffusion. ● Thin film growth: Homoepitaxy, heteroepitaxy, nanostructures.
    [Show full text]
  • Surface Water
    Chapter 5 SURFACE WATER Surface water originates mostly from rainfall and is a mixture of surface run-off and ground water. It includes larges rivers, ponds and lakes, and the small upland streams which may originate from springs and collect the run-off from the watersheds. The quantity of run-off depends upon a large number of factors, the most important of which are the amount and intensity of rainfall, the climate and vegetation and, also, the geological, geographi- cal, and topographical features of the area under consideration. It varies widely, from about 20 % in arid and sandy areas where the rainfall is scarce to more than 50% in rocky regions in which the annual rainfall is heavy. Of the remaining portion of the rainfall. some of the water percolates into the ground (see "Ground water", page 57), and the rest is lost by evaporation, transpiration and absorption. The quality of surface water is governed by its content of living organisms and by the amounts of mineral and organic matter which it may have picked up in the course of its formation. As rain falls through the atmo- sphere, it collects dust and absorbs oxygen and carbon dioxide from the air. While flowing over the ground, surface water collects silt and particles of organic matter, some of which will ultimately go into solution. It also picks up more carbon dioxide from the vegetation and micro-organisms and bacteria from the topsoil and from decaying matter. On inhabited watersheds, pollution may include faecal material and pathogenic organisms, as well as other human and industrial wastes which have not been properly disposed of.
    [Show full text]
  • Unifying Parametric and Implicit Surface Representations for Computer Graphics: Parametric Surface Display and Algebraic Surface Fitting
    Purdue University Purdue e-Pubs Department of Computer Science Technical Reports Department of Computer Science 1990 Unifying Parametric and Implicit Surface Representations for Computer Graphics: Parametric Surface Display and Algebraic Surface Fitting Changrajit L. Bajaj Report Number: 90-995 Bajaj, Changrajit L., "Unifying Parametric and Implicit Surface Representations for Computer Graphics: Parametric Surface Display and Algebraic Surface Fitting" (1990). Department of Computer Science Technical Reports. Paper 846. https://docs.lib.purdue.edu/cstech/846 This document has been made available through Purdue e-Pubs, a service of the Purdue University Libraries. Please contact [email protected] for additional information. UNWYING PARAMETRIC AND IMPLICIT SURFACE REPRESENTATIONS FOR COMPUTER GRAPIDCS: PARAl\ffiTRIC SURFACE DISPLAY AND ALGEnRAIC SURFACEFI1TING Ch:lIldl"lljit L. ll11jllj CSD TR-995 July 1990 Unifying Parametric and Implicit Surface Representations for Computer Graphics: Parametric Surface Display and Algebraic Surface Fitting Chandcrjit Bajaf Department of Computer Science Purdue University West Lafayette, IN 47907 Abstract These are brief survey notes on recent progress in topics dealing with rational surface display aod surface fitting with piecewise algebraic surface patches. It is hoped thai the reader shall delve deeper into specific technical results, by tracking the numerous citations to references provided. Several pictures (unfortnnately grey scale images) are included to illustrate the results of certain algorithms. These notes arc part of a course to be taught at this year's Siggraph 1990. Slides of the course arc also included in the appendix. 'Supported in part by NSF granl D~lS 88-16286 and aNR conlrad NOOOH-88-K-0402 1 1 Introduction Rationality of the algebraic curve or surface is a.
    [Show full text]
  • 3D Modeling: Surfaces
    CS 430/536 Computer Graphics I Overview • 3D model representations 3D Modeling: • Mesh formats Surfaces • Bicubic surfaces • Bezier surfaces Week 8, Lecture 16 • Normals to surfaces David Breen, William Regli and Maxim Peysakhov • Direct surface rendering Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University 1 2 http://gicl.cs.drexel.edu 1994 Foley/VanDam/Finer/Huges/Phillips ICG 3D Modeling Representing 3D Objects • 3D Representations • Exact • Approximate – Wireframe models – Surface Models – Wireframe – Facet / Mesh – Solid Models – Parametric • Just surfaces – Meshes and Polygon soups – Voxel/Volume models Surface – Voxel – Decomposition-based – Solid Model • Volume info • Octrees, voxels • CSG • Modeling in 3D – Constructive Solid Geometry (CSG), • BRep Breps and feature-based • Implicit Solid Modeling 3 4 Negatives when Representing 3D Objects Representing 3D Objects • Exact • Approximate • Exact • Approximate – Complex data structures – Lossy – Precise model of – A discretization of – Expensive algorithms – Data structure sizes can object topology the 3D object – Wide variety of formats, get HUGE, if you want each with subtle nuances good fidelity – Mathematically – Use simple – Hard to acquire data – Easy to break (i.e. cracks represent all primitives to – Translation required for can appear) rendering – Not good for certain geometry model topology applications • Lots of interpolation and and geometry guess work 5 6 1 Positives when Exact Representations Representing 3D Objects • Exact
    [Show full text]
  • An Efficient Framework for Implementing Persistent Data Structures on Asymmetric NVM Architecture
    AsymNVM: An Efficient Framework for Implementing Persistent Data Structures on Asymmetric NVM Architecture Teng Ma Mingxing Zhang Kang Chen∗ [email protected] [email protected] [email protected] Tsinghua University Tsinghua University & Sangfor Tsinghua University Beijing, China Shenzhen, China Beijing, China Zhuo Song Yongwei Wu Xuehai Qian [email protected] [email protected] [email protected] Alibaba Tsinghua University University of Southern California Beijing, China Beijing, China Los Angles, CA Abstract We build AsymNVM framework based on AsymNVM ar- The byte-addressable non-volatile memory (NVM) is a promis- chitecture that implements: 1) high performance persistent ing technology since it simultaneously provides DRAM-like data structure update; 2) NVM data management; 3) con- performance, disk-like capacity, and persistency. The cur- currency control; and 4) crash-consistency and replication. rent NVM deployment with byte-addressability is symmetric, The key idea to remove persistency bottleneck is the use of where NVM devices are directly attached to servers. Due to operation log that reduces stall time due to RDMA writes and the higher density, NVM provides much larger capacity and enables efficient batching and caching in front-end nodes. should be shared among servers. Unfortunately, in the sym- To evaluate performance, we construct eight widely used metric setting, the availability of NVM devices is affected by data structures and two transaction applications based on the specific machine it is attached to. High availability canbe AsymNVM framework. In a 10-node cluster equipped with achieved by replicating data to NVM on a remote machine. real NVM devices, results show that AsymNVM achieves However, it requires full replication of data structure in local similar or better performance compared to the best possible memory — limiting the size of the working set.
    [Show full text]
  • Surface Topology
    2 Surface topology 2.1 Classification of surfaces In this second introductory chapter, we change direction completely. We dis- cuss the topological classification of surfaces, and outline one approach to a proof. Our treatment here is almost entirely informal; we do not even define precisely what we mean by a ‘surface’. (Definitions will be found in the following chapter.) However, with the aid of some more sophisticated technical language, it not too hard to turn our informal account into a precise proof. The reasons for including this material here are, first, that it gives a counterweight to the previous chapter: the two together illustrate two themes—complex analysis and topology—which run through the study of Riemann surfaces. And, second, that we are able to introduce some more advanced ideas that will be taken up later in the book. The statement of the classification of closed surfaces is probably well known to many readers. We write down two families of surfaces g, h for integers g ≥ 0, h ≥ 1. 2 2 The surface 0 is the 2-sphere S . The surface 1 is the 2-torus T .For g ≥ 2, we define the surface g by taking the ‘connected sum’ of g copies of the torus. In general, if X and Y are (connected) surfaces, the connected sum XY is a surface constructed as follows (Figure 2.1). We choose small discs DX in X and DY in Y and cut them out to get a pair of ‘surfaces-with- boundaries’, coresponding to the circle boundaries of DX and DY.
    [Show full text]
  • Efficient Rasterization of Implicit Functions
    Efficient Rasterization of Implicit Functions Torsten Möller and Roni Yagel Department of Computer and Information Science The Ohio State University Columbus, Ohio {moeller, yagel}@cis.ohio-state.edu Abstract Implicit curves are widely used in computer graphics because of their powerful fea- tures for modeling and their ability for general function description. The most pop- ular rasterization techniques for implicit curves are space subdivision and curve tracking. In this paper we are introducing an efficient curve tracking algorithm that is also more robust then existing methods. We employ the Predictor-Corrector Method on the implicit function to get a very accurate curve approximation in a short time. Speedup is achieved by adapting the step size to the curvature. In addi- tion, we provide mechanisms to detect and properly handle bifurcation points, where the curve intersects itself. Finally, the algorithm allows the user to trade-off accuracy for speed and vice a versa. We conclude by providing examples that dem- onstrate the capabilities of our algorithm. 1. Introduction Implicit surfaces are surfaces that are defined by implicit functions. An implicit functionf is a map- ping from an n dimensional spaceRn to the spaceR , described by an expression in which all vari- ables appear on one side of the equation. This is a very general way of describing a mapping. An n dimensional implicit surfaceSpR is defined by all the points inn such that the implicit mapping f projectspS to 0. More formally, one can describe by n Sf = {}pp R, fp()= 0 . (1) 2 Often times, one is interested in visualizing isosurfaces (or isocontours for 2D functions) which are functions of the formf ()p = c for some constant c.
    [Show full text]
  • Efficient Support of Position Independence on Non-Volatile Memory
    Efficient Support of Position Independence on Non-Volatile Memory Guoyang Chen Lei Zhang Richa Budhiraja Qualcomm Inc. North Carolina State University Qualcomm Inc. [email protected] Raleigh, NC [email protected] [email protected] Xipeng Shen Youfeng Wu North Carolina State University Intel Corp. Raleigh, NC [email protected] [email protected] ABSTRACT In Proceedings of MICRO-50, Cambridge, MA, USA, October 14–18, 2017, This paper explores solutions for enabling efficient supports of 13 pages. https://doi.org/10.1145/3123939.3124543 position independence of pointer-based data structures on byte- addressable None-Volatile Memory (NVM). When a dynamic data structure (e.g., a linked list) gets loaded from persistent storage into 1 INTRODUCTION main memory in different executions, the locations of the elements Byte-Addressable Non-Volatile Memory (NVM) is a new class contained in the data structure could differ in the address spaces of memory technologies, including phase-change memory (PCM), from one run to another. As a result, some special support must memristors, STT-MRAM, resistive RAM (ReRAM), and even flash- be provided to ensure that the pointers contained in the data struc- backed DRAM (NV-DIMMs). Unlike on DRAM, data on NVM tures always point to the correct locations, which is called position are durable, despite software crashes or power loss. Compared to independence. existing flash storage, some of these NVM technologies promise This paper shows the insufficiency of traditional methods in sup- 10-100x better performance, and can be accessed via memory in- porting position independence on NVM. It proposes a concept called structions rather than I/O operations.
    [Show full text]
  • Parametric & Implicit Surfaces
    3D Object Representations • Points • Solids o Range image o Voxels o Point cloud o BSP tree Parametric & Implicit o CSG Sweep Surfaces • Surfaces o o Polygonal mesh Thomas Funkhouser o Subdivision • High-level structures Princeton University o Parametric o Scene graph Implicit Application specific COS 426, Spring 2007 o o Surfaces Parametric Surfaces • What makes a good surface representation? • Boundary defined by parametric functions: o Accurate o x = fx(u,v) o Concise o y = fy(u,v) o Intuitive specification o z = fz(u,v) y o Local support o Affine invariant Parametric functions v define mapping from o Arbitrary topology (u,v) to (x,y,z): v o Guaranteed continuity o Natural parameterization x o Efficient display u Efficient intersections u o z H&B Figure 10.46 FvDFH Figure 11.42 Parametric Surfaces Parametric Surfaces • Boundary defined by parametric functions: • Example: surface of revolution o x = fx(u,v) o Take a curve and rotate it about an axis o y = fy(u,v) o z = fz(u,v) • Example: ellipsoid x = r cos φ cos θ = x φ θ y ry cos sin = φ z rz sin H&B Figure 10.10 Demetri Terzopoulos 1 Parametric Surfaces Parametric Surfaces • Example: swept surface • How do we describe arbitrary smooth surfaces o Sweep one curve along path of another curve with parametric functions? Demetri Terzopoulos H&B Figure 10.46 Piecewise Polynomial Parametric Surfaces Parametric Patches • Surface is partitioned into parametric patches: • Each patch is defined by blending control points Same ideas as parametric splines! Same ideas as parametric curves! Watt
    [Show full text]
  • Lecture 1: Explicit, Implicit and Parametric Equations
    4.0 3.5 f(x+h) 3.0 Q 2.5 2.0 Lecture 1: 1.5 Explicit, Implicit and 1.0 Parametric Equations 0.5 f(x) P -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.5 1.0 1.5 2.0 2.5 3.0 3.5 x x+h -0.5 -1.0 Chapter 1 – Functions and Equations Chapter 1: Functions and Equations LECTURE TOPIC 0 GEOMETRY EXPRESSIONS™ WARM-UP 1 EXPLICIT, IMPLICIT AND PARAMETRIC EQUATIONS 2 A SHORT ATLAS OF CURVES 3 SYSTEMS OF EQUATIONS 4 INVERTIBILITY, UNIQUENESS AND CLOSURE Lecture 1 – Explicit, Implicit and Parametric Equations 2 Learning Calculus with Geometry Expressions™ Calculus Inspiration Louis Eric Wasserman used a novel approach for attacking the Clay Math Prize of P vs. NP. He examined problem complexity. Louis calculated the least number of gates needed to compute explicit functions using only AND and OR, the basic atoms of computation. He produced a characterization of P, a class of problems that can be solved in by computer in polynomial time. He also likes ultimate Frisbee™. 3 Chapter 1 – Functions and Equations EXPLICIT FUNCTIONS Mathematicians like Louis use the term “explicit function” to express the idea that we have one dependent variable on the left-hand side of an equation, and all the independent variables and constants on the right-hand side of the equation. For example, the equation of a line is: Where m is the slope and b is the y-intercept. Explicit functions GENERATE y values from x values.
    [Show full text]
  • Data Structures Are Ways to Organize Data (Informa- Tion). Examples
    CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 1 ] What are Data Structures? Data structures are ways to organize data (informa- tion). Examples: simple variables — primitive types objects — collection of data items of various types arrays — collection of data items of the same type, stored contiguously linked lists — sequence of data items, each one points to the next one Typically, algorithms go with the data structures to manipulate the data (e.g., the methods of a class). This course will cover some more complicated data structures: how to implement them efficiently what they are good for CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 2 ] Abstract Data Types An abstract data type (ADT) defines a state of an object and operations that act on the object, possibly changing the state. Similar to a Java class. This course will cover specifications of several common ADTs pros and cons of different implementations of the ADTs (e.g., array or linked list? sorted or unsorted?) how the ADT can be used to solve other problems CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 3 ] Specific ADTs The ADTs to be studied (and some sample applica- tions) are: stack evaluate arithmetic expressions queue simulate complex systems, such as traffic general list AI systems, including the LISP language tree simple and fast sorting table database applications, with quick look-up CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 4 ] How Does C Fit In? Although data structures are universal (can be imple- mented in any programming language), this course will use Java and C: non-object-oriented parts of Java are based on C C is not object-oriented We will learn how to gain the advantages of data ab- straction and modularity in C, by using self-discipline to achieve what Java forces you to do.
    [Show full text]