implicit curves and surfaces mathematics, data structures, and algorithms gomes, voiculescu, jorge, wyvill galbraith 2009 05 15 Cấu trúc dữ liệu và giải thuật
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 338 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
338
Dung lượng
11,78 MB
Nội dung
Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms CuuDuongThanCong.com Abel J.P Gomes • Irina Voiculescu Joaquim Jorge • Brian Wyvill • Callum Galbraith Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms ABC CuuDuongThanCong.com Abel J.P Gomes Universidade da Beira Interior Covilha Portugal Brian Wyvill University of Victoria Victoria BC Canada Irina Voiculescu Oxford University Computing Laboratory (OUCL) Oxford United Kingdom Callum Galbraith University of Calgary Calgary Canada 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 permitted 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 Licensing 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) CuuDuongThanCong.com Preface This book presents the mathematics, computational methods and data structures, 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 methods For example, the point membership classification is trivial using implicit representations of geometric objects—a very useful property for detecting collisions in virtual environments and computer game scenarios The ease with which implicit techniques can be used to describe smooth, intricate, and articulatable 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 computer games Nevertheless, it can be useful as a core textbook for a graduatelevel course on implicit geometric modelling or even for general computer graphics courses with a focus on modelling, visualisation and animation Finally, 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 CuuDuongThanCong.com 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, Portugal), Afonso Paiva (University of S˜ ao Paulo, Brazil), Bruno Ara´ ujo (Technical University of Lisbon, Portugal), Ron Balsys (Central Queensland University, Australia) and Kevin Suffern (University of Technology, Australia) who generously 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, England, and CNR-IMATI, Genova, Italy, where he spent his sabbatical year writing part of this book In particular, he would like to thank Bianca Falcidieno and Giuseppe Patan`e for 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 Universities 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 contributed 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 particular, 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 CuuDuongThanCong.com Contents Preface V Acknowledgments VII Part I Mathematics and Data Structures Mathematical Fundamentals 1.1 Introduction 1.2 Functions and Mappings 1.3 Differential of a Smooth Mapping 1.4 Invertibility and Smoothness 1.5 Level Set, Image, and Graph of a Mapping 1.5.1 Mapping as a Parametrisation of Its Image 1.5.2 Level Set of a Mapping 1.5.3 Graph of a Mapping 1.6 Rank-based Smoothness 1.6.1 Rank-based Smoothness for Parametrisations 1.6.2 Rank-based Smoothness for Implicitations 1.7 Submanifolds 1.7.1 Parametric Submanifolds 1.7.2 Implicit Submanifolds and Varieties 1.8 Final Remarks 7 10 13 13 15 20 24 25 27 30 30 35 40 Spatial Data Structures 2.1 Preliminary Notions 2.2 Object Partitionings 2.2.1 Stratifications 2.2.2 Cell Decompositions 2.2.3 Simplicial Decompositions 2.3 Space Partitionings 41 41 43 43 45 49 51 IX CuuDuongThanCong.com X Contents 2.3.1 2.3.2 2.3.3 2.3.4 2.4 Final BSP Trees K-d Trees Quadtrees Octrees Remarks 52 55 58 60 62 Part II Sampling Methods Root Isolation Methods 3.1 Polynomial Forms 3.1.1 The Power Form 3.1.2 The Factored Form 3.1.3 The Bernstein Form 3.2 Root Isolation: Power Form Polynomials 3.2.1 Descartes’ Rule of Signs 3.2.2 Sturm Sequences 3.3 Root Isolation: Bernstein Form Polynomials 3.4 Multivariate Root Isolation: Power Form Polynomials 3.4.1 Multivariate Decartes’ Rule of Signs 3.4.2 Multivariate Sturm Sequences 3.5 Multivariate Root Isolation: Bernstein Form Polynomials 3.5.1 Multivariate Bernstein Basis Conversions 3.5.2 Bivariate Case 3.5.3 Trivariate Case 3.5.4 Arbitrary Number of Dimensions 3.6 Final Remarks 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 CuuDuongThanCong.com 67 67 68 68 69 72 73 74 78 81 81 82 82 83 83 84 86 87 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 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 Continuation Methods 145 6.1 Introduction 145 6.2 Piecewise Linear Continuation 146 6.2.1 Preliminary Concepts 146 6.2.2 Types of Triangulations 147 6.2.3 Construction of Triangulations 148 6.3 Integer-Labelling PL Algorithms 151 6.4 Vector Labelling-based PL Algorithms 156 6.5 PC Continuation 164 6.6 PC Algorithm for Manifold Curves 164 6.7 PC Algorithm for Nonmanifold Curves 167 6.7.1 Angular False Position Method 168 6.7.2 Computing the Next Point 168 6.7.3 Computing Singularities 169 6.7.4 Avoiding the Drifting/Cycling Phenomenon 171 6.8 PC Algorithms for Manifold Surfaces 173 CuuDuongThanCong.com XII Contents 6.8.1 Rheinboldt’s Algorithm 173 6.8.2 Henderson’s Algorithm 174 6.8.3 Hartmann’s Algorithm 175 6.8.4 Adaptive Hartmann’s Algorithm 179 6.8.5 Marching Triangles Algorithm 180 6.8.6 Adaptive Marching Triangles Algorithms 182 6.9 Predictor–Corrector Algorithms for Nonmanifold Surfaces 183 6.10 Final Remarks 186 Spatial Partitioning Methods 187 7.1 Introduction 187 7.2 Spatial Exhaustive Enumeration 188 7.2.1 Marching Squares Algorithm 189 7.2.2 Marching Cubes Algorithm 194 7.2.3 Dividing Cubes 200 7.2.4 Marching Tetrahedra 201 7.3 Spatial Continuation 207 7.4 Spatial Subdivision 208 7.4.1 Quadtree Subdivision 208 7.4.2 Octree Subdivision 211 7.4.3 Tetrahedral Subdivision 213 7.5 Nonmanifold Curves and Surfaces 219 7.5.1 Ambiguities and Singularities 220 7.5.2 Space Continuation 221 7.5.3 Octree Subdivision 221 7.6 Final Remarks 224 Implicit Surface Fitting 227 8.1 Introduction 227 8.1.1 Simplicial Surfaces 227 8.1.2 Parametric Surfaces 228 8.1.3 Implicit Surfaces 230 8.2 Blob Surfaces 232 8.3 LS Implicit Surfaces 234 8.3.1 LS Approximation 234 8.3.2 WLS Approximation 238 8.3.3 MLS Approximation and Interpolation 239 8.4 RBF Implicit Surfaces 249 8.4.1 RBF Interpolation 249 8.4.2 Fast RBF Interpolation 252 8.4.3 CS-RBF Interpolation 252 8.4.4 The CS-RBF Interpolation Algorithm 253 8.5 MPU Implicit Surfaces 255 8.5.1 MPU Approximation 258 8.5.2 MPU Interpolation 261 CuuDuongThanCong.com Contents XIII 8.6 Final Remarks 261 Part IV Designing Complex Implicit Surface Models Skeletal Implicit Modelling Techniques 267 9.1 Distance Fields and Skeletal Primitives 267 9.2 The BlobTree 270 9.3 Functional Composition Using fZ Functions 271 9.4 Combining Implicit Surfaces 272 9.5 Blending Operations 274 9.5.1 Hierarchical Blending Graphs 275 9.5.2 Constructive Solid Geometry 277 9.5.3 Precise Contact Modelling 279 9.5.4 Generalised Bounded Blending 281 9.6 Deformations 284 9.7 BlobTree Traversal 284 9.8 Final Remarks 285 10 Natural Phenomenae-I: Static Modelling 287 10.1 Murex Cabritii Shell 288 10.2 Shell Geometry 288 10.3 Murex Cabritii 289 10.4 Modelling Murex Cabritii 290 10.4.1 Main Body Whorl 291 10.4.2 Constructing Varices 294 10.4.3 Constructing Bumps 295 10.4.4 Constructing Axial Rows of Spines 297 10.4.5 Construction of the Aperture 298 10.5 Texturing the Shell 300 10.6 Final Model of Murex Cabritii 301 10.7 Shell Results 301 10.8 Final Remarks 301 11 Natural Phenomenae-II: Animation 303 11.1 Animation: Growing Populus Deltoides 303 11.2 Visualisation of Tree Features 305 11.2.1 Modelling Branches with the BlobTree 306 11.2.2 Modelling the Branch Bark Ridge and Bud-scale Scars 308 11.3 Global-to-Local Modelling of a Growing Tree 309 11.3.1 Crown Shape 310 11.3.2 Shoot Structure 312 11.3.3 Other Functions 313 11.4 Results 315 11.5 Final Remarks 316 CuuDuongThanCong.com ... Joaquim Jorge Universidade Tecnica de Lisboa Lisboa Portugal ISBN 97 8-1 -8 488 2-4 0 5-8 e-ISBN 97 8-1 -8 488 2-4 0 6-5 DOI 10.1007/97 8-1 -8 488 2-4 0 6-5 Springer Dordrecht Heidelberg London New York British Library... two 1-strata X0 and X1 , and no 0-strata The corresponding cell decomposition requires at least two 0-strata, X0 and X1 , bounding distinct 1-strata, X2 and X3 , respectively, with a dummy 1-stratum... and thus f is not one-to-one These singularities are known as self-intersections in geometry or topological singularities in topology The problem with a parametrised self-intersecting variety