The Average of a Set of Compatible Curves and Surfaces
Total Page:16
File Type:pdf, Size:1020Kb
THE AVERAGE OF A SET OF COMPATIBLE CURVES AND SURFACES A Thesis Presented to The Academic Faculty By Mukul Sati In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Interactive Computing Georgia Institute of Technology August 2019 Copyright c Mukul Sati 2019 THE AVERAGE OF A SET OF COMPATIBLE CURVES AND SURFACES Approved by: Dr. Jarek Rossignac, Advisor Dr. Thomas Kurfess School of Interactive Computing School of Mechanical Engineering Georgia Institute of Technology Georgia Institute of Technology Dr. Greg Turk Dr. Karen Liu School of Interactive Computing School of Interactive Computing Georgia Institute of Technology Georgia Institute of Technology Dr. Concettina Guerra Date Approved: April 18, 2019 School of Interactive Computing Georgia Institute of Technology ACKNOWLEDGEMENTS Words cannot convey my appreciation for my advisor Dr. Jarek Rossignac, but I will try. Dr. Rossignac has been a mentor and guide for both research method and research philosophy. He allowed me the freedom and luxury of working at my pace and owning my learning. Very importantly, he made me comfortable asking questions. Working with him exposed me to a variety of research problems and, while I grappled with each of them to varying levels of success, Dr. Rossignac always motivated me to strive to understand the essence of the problem. Thank you, dear sir, for making me fall in love (again) with geometry and math – a fascination that I am sure will last a life-time. I would like to thank Dr. Thomas Kurfess for introducing me to, and encouraging me to get practical experience with manufacturing. Thanks also, to Dr. Roby Lynn for being ever-willing to answer my incessant, basic questions about machining, mechatronics and control. Also, I would like to thank Dr. Tommy Tucker and Dr. Chris Saldana for insights and assistance on the CNC control work that funded a significant portion of my graduate studies. My interactions with people in the M.E. department at Georgia Tech have significantly influenced my research interests. I would like to thank my committee members, Dr. Greg Turk, Dr. Concettina Guerra, and Dr. Karen Liu for their valuable inputs and for their service. Along with my advisor, Dr. Turk and Dr. Liu were ever present during my doctoral education, were exemplary teachers, and model researchers. I was continually inspired by both their technical skills, and their calm and poised demeanor. Thanks are also due to members of the graphics group at Georgia Tech for stimulating discussions. I would also like to thank my friends Sandeep and Aishwarya for non-remote counsel. Finally, I would like to thank all of my family for their blessings, support and guidance. Especially, Meghna for lovingly putting up with me, my parents for their uncon- ditional love, and, my brother Saurabh for always being a willing listening ear. iii TABLE OF CONTENTS Acknowledgments . iii List of Tables . ix List of Figures . .xviii Chapter 1: Introduction . 1 1.1 Thesis overview . 1 1.2 Thesis structure . 7 Chapter 2: Background . 10 2.1 A motivating example: The shoe fitting problem . 10 2.2 Preliminaries: Averaging numbers and points . 11 Chapter 3: Averaging vectors, lines and planes . 15 3.1 Averaging a set of unit vectors in 2D . 15 3.2 Averaging a set of unit vectors in 3D . 16 3.3 Averaging a set of lines in 2D . 17 3.3.1 Zero-set average line (zAL) . 18 3.3.2 Valley-set average line (vAL) . 19 3.4 Averaging a set of planes in 3D . 23 iv 3.4.1 Zero-set average plane (zAP) . 23 3.4.2 Valley-set average plane (vAP) . 24 3.5 Averaging a set of lines in 3D . 25 3.6 Weighted average of a set of lines in 2D . 29 3.6.1 Weighted zero-set average line (weighted zAL) . 29 3.6.2 Weighted valley-set average line (weighted vAL) . 29 3.7 Properties of the average line and the average plane . 30 3.8 Geometric interpretations . 30 Chapter 4: Prior art . 33 4.1 Averaging . 33 4.2 Averaging shapes . 34 4.2.1 Establishing correspondence . 34 4.2.2 Extracting features from a scalar field . 37 4.2.3 Medial axis and ball morph . 41 4.2.4 Staggered, iterative optimization . 42 4.2.5 Guaranteed homeomorphic approximations . 43 4.3 Relation of our contributions to prior-art . 43 Chapter 5: Averaging closed, compatible planar curves . 46 5.1 Snapping for curves in the plane . 46 5.2 Projecting onto the average line . 47 5.2.1 Projecting on the zAL . 48 5.2.2 Projecting on the vAL . 48 v 5.3 Tracing: Accelerated Snap . 50 5.4 Experimental results . 52 5.5 Application: Mixing shapes via weighted averaging . 53 Chapter 6: Details and discussion of the Snap method . 55 6.1 The asymmetry drawback of closest projection correspondences . 56 6.2 Ball-map: symmetric center-curve and closest projection correspondences for 2 curves . 59 6.3 Scalar fields for averaging for n curves . 60 6.3.1 Zero-set of summed signed distance function . 60 6.3.2 Valley-set of summed squared distance function . 63 6.3.3 General approach to averaging using scalar fields . 64 6.4 Snapping using tangent lines . 65 6.4.1 Compatibility conditions for a set of input curves . 66 6.4.2 Implicit clipping of the valley-set by Snap . 70 6.4.3 Convergence of Snap . 72 6.4.4 Symmetry properties of the average . 76 6.4.5 Incremental averaging . 77 6.5 Beyond compatible configurations . 77 6.5.1 Gap relative projection (GRP) . 77 6.5.2 Tracing: implicit GRP . 78 6.5.3 Constructing a set of compatible curves from the input-set . 79 6.6 Checking validity of the average . 81 vi Chapter 7: Averaging a set of compatible surfaces . 82 7.1 Snapping for surfaces . 82 7.2 SymmetricSnap: Snapping by moving parallel to the local average normal . 83 7.3 NormalSnap: Snapping by moving along a seed surface’s normal . 85 7.4 Implementation details . 86 7.4.1 Tracing for surfaces . 88 7.5 Experimental results . 89 7.5.1 Validity checking . 90 7.5.2 Symmetry: Invariance to seed mesh . 92 7.5.3 Convergence properties . 92 Chapter 8: Averaging closed, compatible non-planar curves . 93 8.1 Snapping for curves in 3D . 93 8.2 Moving to the local average line . 96 8.3 Implementation details . 98 8.3.1 Computational optimizations: RestrictedSnap . 99 8.4 Experimental results . 101 8.5 Applications . 104 Chapter 9: Experiments on averaging curve segments . 113 9.1 Background and motivation . 113 9.2 OpenSnap: Snapping for roughly parallel curve-segments . 113 9.3 OpenSnap details: Clipped correspondences, geometry and field modifica- tions . 117 vii 9.3.1 ClippedClosestProjection: Selecting active curves . 118 9.3.2 Join curve specification using field and geometry modifications . 119 9.4 Average curve for parallel curve-segments using OpenSnap . 120 9.5 DirectionalOpenSnap: Average curve-network from non-parallel inputs . 121 9.6 Conclusion . 122 Chapter 10:Averaging tool-paths for analyzing systemic error and noise in a CNC machining process . 124 10.1 Background and motivation . 124 10.2 Description of the tool-path data acquisition system . 127 10.2.1 PocketNC and MachineKit . 127 10.2.2 SculptPrint . 128 10.2.3 Trajectory generation . 129 10.2.4 Encoder feedback . 130 10.3 Experimental results . 131 10.3.1 Experiment description . 131 10.3.2 Data analysis . 131 References . 140 viii LIST OF TABLES 6.1 For different configuration of two circles with an annular gap, for a set of n n samples p on a seed circle, the value max( Move (p); p1 Move (p); p2 ) f g k k−k k – the maximum absolute value of the difference in distances between the n−1 ‘moved’ to point Move (p) and its closest points p1 and p2 on the two circles at the start of the nth Move iteration. 72 6.2 For different configuration of 3 and 4 circles with an annular gap, the max- imum (over all seed samples being Snapped) of the length of the Move vector during the nth Move iteration. 74 7.1 The variation, and its rate of change, between evolving surfaces resulting from applying Snap to different seed meshes in a family. For a set of in- put triangle mesh families, the second column reports the maximum of the mean Hausdorff distance (sampled) over all pairs of meshes in each family. Subsequent columns report the maximum mean Hausdorff distance over all resulting triangle-meshes for a particular Move iteration, for increasing Move iteration count, first for SymmetricSnap’s Move iterations, and, then, for NormalSnaps’ Move iterations. Each Hausdorff distance is normalized by the diagonal of the bounding box of the pair of meshes under consideration. 89 7.2 The Snap procedure is performed for each vertex of a triangle mesh in the family, and the average and max distances moved by the image of the vertex under successive Move iterations is noted. This is done with each triangle mesh in the family serving as the seed, and, the summary statistics reported above are the maximum of the average and mean distances moved. The distances are normalized with the average max mean Hausdorff distance reported for the family as reported in Table 7.1. 89 8.1 For different sets of 3D curves, the maximum (over all seed samples being Snapped) of the length of the Move vector during the nth Move iteration. 102 ix LIST OF FIGURES 1.1 What is the average of a set of curves? .