Foundations of Dynamic Geometry
Total Page:16
File Type:pdf, Size:1020Kb
Diss. ETH N 13403 Foundations of Dynamic Geometry A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Technical Sciences presented by Dipl.-Math. Ulrich Kortenkamp born 18th October 1970 citizen of Germany accepted on the recommendation of Prof. Jurgen¨ Richter-Gebert, examiner Prof. Gunter¨ M. Ziegler, co-examiner 1999 2 Preface Calvin and Hobbes Copyright 1988 Watterson. Used by permission of Universal Press Syndicate. All rights reserved. Although it is known that Calvin and Hobbes tell the truth about life, I was surprised that Bill Watterson knew in 1988 what Jur¨ gen Richter-Gebert and I had to learn ten years later: Sometimes it is necessary to use imaginary numbers even for seemingly trivial tasks. This thesis shall explain the details of a method called complex tracing, and lay the foundations of Dynamic Geometry, a new field of research that opened up after we solved the continuity problem for interactive geometry software. I came into this project right after I decided not to write my thesis on Cinderella, the interactive geometry software which at that time was a project of Jur¨ gen Richter-Gebert and Henry Crapo, but on neighborly polytopes. After the first few weeks of implementing the new version of Cinderella in Java I understood why it is really hard to write “just another geometry software.” I had to try to implement a dynamic geometry software in order to understand why it is difficult to create a software that “behaves as expected.” It needs a mathematical theory, and it was not clear to us what to do three years ago. It was in early 1998 when we had our “ultimate break-through.” The time since then was spent for the implementation of the theory, and it is nice to see that this implementa- tion was published before we even started to write papers about it. This “proof of concept” did help me very much while preparing this thesis. I want to thank Jur¨ gen for all the discussions, arguments, quarrels, overnight just-in- time hacks, lessons in geometry, motivating break-throughs and especially for all the fun 3 4 that was needed to create the stimulating atmosphere that made the Cinderella project possible. Thank you! Most of the results in this thesis are collaborative efforts of Jur¨ gen and myself, and I will not try to separate who of us contributed what piece of the big puzzle. I feel very lucky to be in a work group that tries to concentrate on getting work done rather than non-disclosing ideas to avoid that they are “stolen.” Another person that I want to thank is Gunter¨ Ziegler, who gave me enough free- dom to leave Berlin without feeling too guilty. I promise that I will work on neighborly polytopes again, someday. I learned a lot from Gunter¨ , and I admire his ability to put mathematical pieces in the right context and to translate between the different languages of mathematicians. He also enabled Jur¨ gen and me to work on the Cinderella project in Berlin. Without that support it would have been much harder. There are more persons that made this thesis possible. Among all the others I want to emphasize my friends Eva-Maria Feichtner and Alex Below, who had to share offices with me. Thanks go also to all the people in the work groups and the guests of Gunter¨ and Jur¨ gen, and the many friendly mathematicians I met at conferences. Last but definitely not least I want to thank my wife Doro and my children Mara and Julius, who had to suffer a lot. First I was busy to finish the software, then I was busy finishing this thesis – both took much longer than expected – and probably there will be something else next. Without your love and help I could never have done this, and there would be no reason to go through all this trouble. Thank you! Wherever you find the words “his” or “him” or “he” in this thesis, you can try to replace them by “her” or “she.” If the sentence still makes sense, then I meant to include both versions. Ulrich Kortenkamp Zurich,¨ August–October 1999 Contents Zusammenfassung 11 Abstract 13 1 What is Dynamic Geometry? 15 2 The Interactive Geometry Software Cinderella 19 2.1 Basic Functionality . 19 2.2 Main Features . 21 2.2.1 Multiple, different, simultaneous views . 21 2.2.2 Complex Numbers . 27 2.2.3 Cayley-Klein Geometries . 27 2.2.4 No Jumping Elements . 28 2.2.5 Automatic Theorem Checking . 28 2.2.6 Self-exploring Loci . 30 2.2.7 High Quality Postscript Output . 30 2.2.8 Easy WWW-Export . 30 2.2.9 Interactive Exercises . 32 2.3 Availability . 32 3 Site Map 35 3.1 Mathematics . 35 3.1.1 A Framework for Dynamic Geometry . 35 3.1.2 Projective Dynamic Geometry . 35 3.1.3 Circles and Conics . 36 3.1.4 Complex Tracing . 36 3.2 Computer Science . 36 3.2.1 Java-based Software . 36 3.2.2 Efficient Datastructures for Dynamic Geometry . 36 3.3 Education . 37 3.3.1 Creativity in Math Education . 37 3.3.2 Geometry Education and the Internet . 37 5 6 3.3.3 Future Developments . 37 4 A Framework for Dynamic Geometry 39 4.1 Straight-Line Programs . 39 4.2 Relational Instruction Sets . 40 4.3 Geometric Straight-Line Programs . 42 5 Projective Dynamic Geometry 47 5.1 Points and Lines . 47 5.1.1 Homogeneous Coordinates . 48 5.1.2 GSP formulation of point/line constructions . 51 5.1.3 An SLP formulation . 53 5.1.4 Homogeneous RIS GSPs and division-free SLPs are equivalent . 54 5.1.5 Abstract Point/Line-RIS GSPs and SLPs . 58 5.2 Determinism, Conservatism, Continuity . 58 5.3 Randomized Proving . 60 5.3.1 Testing Polynomials . 60 5.3.2 The Schwartz-Zippel Theorem . 61 5.3.3 The Test-Set Lemma . 62 5.3.4 Automatic Theorem Proving for Constructive Point/Line-Incidence Theorems . 62 5.3.5 Related Results . 70 5.4 Measurements . 72 6 Circles and Conics 75 6.1 Extending point/line-constructions . 75 6.1.1 Representation of Conics . 75 6.1.2 Basic operations . 76 6.1.3 GSP formulations . 83 6.2 Determinism vs. Continuity . 84 6.2.1 Iterated angular bisectors . 84 6.2.2 Finite Augmentation does not help . 85 6.2.3 Reverse Augmentation . 87 6.2.4 Is Continuity important? . 87 6.2.5 Algorithm continuity . 89 6.2.6 Surfaces . 90 6.3 Tracing . 92 6.3.1 Complex Elements . 92 6.3.2 Singularities . 94 6.4 Is Continuity Achievable? . 97 6.4.1 Constructible Functions . 97 7 7 Complex Tracing 103 7.1 A parameterization of the input space . 103 7.2 The Main Idea . 104 7.2.1 A small Example . 104 7.3 Complex Tracing . 106 7.3.1 Reparameterization . 106 7.3.2 Continuations and Riemann surfaces . 108 7.4 Automatic Theorem Checking . 110 7.5 Complexity issues . 112 8 Java-based Software 115 8.1 Why choose Java? . 115 8.1.1 The History of Cinderella . 115 8.1.2 Rapid Application Development . 117 8.2 Deploying Java Applications . 117 8.2.1 Post-Optimizing Java Applications . 118 8.2.2 Platform Independent Installations . 120 9 Efficient Datastructures for Dynamic Geometry 123 9.1 Comparision to the traditional approach . 123 9.1.1 The Usual Approach: Subclassing . 124 9.1.2 Elements and Algorithms . 125 9.1.3 Data structures for updates . 125 9.1.4 Model-View-Controller implementation . 126 9.2 Implementing Complex Tracing . 128 9.2.1 Parametrization . 129 9.2.2 Tracing . 130 9.2.3 Decision making . 131 9.2.4 Avoiding tracing . 131 9.2.5 Backups and Singularities . 132 9.3 Automatic Theorem Checking . 133 9.3.1 Using Automatic Theorem Checking for Clean Data Structures . 133 9.3.2 Using Automatic Theorem Checking for Exercises . 135 9.3.3 A Killer Example . 136 9.4 Self-Exploring Loci . 137 10 Creativity in Math Education 139 10.1 The need for mathematical consistency . 139 10.2 The need for modularity . 140 10.3 Raising creativity by restriction . 141 10.4 Exploring Geometry with Loci . 141 8 11 Geometry Education and the Internet 145 11.1 Creating Web content . 145 11.2 Easy Creation of Interactive Web Pages . 145 11.3 Theorem Checking for Exercises . 146 11.4 Distance Teaching . 148 11.4.1 Remote Views . 148 11.4.2 Web-based Education . 148 11.4.3 Communities . 150 12 Future developments 151 12.1 Computation on Riemann Surfaces . 151 12.1.1 Complex Tracing . 151 12.1.2 Symbolic Methods . ..