Computational Euclid
M. H. van Emden, B. Moa
Abstract
We analyse the axioms of Euclidean geometry according to standard object-oriented software development methodology. We find a perfect match: the main undefined concepts of the axioms translate to object classes. The result is a suite of C++ classes that efficiently supports the construction of complex geometric configurations. Although all computations are performed in floating-point arithmetic, they correctly implement as semi-decision algorithms the tests for equality of points, a point being on a line or in a plane, a line being in a plane, parallelness of lines, of a line and a plane, and of planes. That is, in accordance to the fundamental limitations to computability requiring that only negative outcomes are given with certainty, while positive outcomes only imply possibility of these conditions being true.
Create a lesson
Related papers
Lunar Generalizations of the Euclidean Minimum Spanning Tree in the Plane and their Expected Costs
Ondřej Draganov, Herbert Edelsbrunner, Sophie Rosenmeier et al.
Quadratic Complexity of Voronoi Diagrams in R3 for Lines in a Single Ruling of a Regulus
Eunku Park
Sequential Euclidean tree construction with exponential memory: distributional performance and worst-case guarantees
Pedro M. M. de Castro
Computing an e-net of a closed hyperbolic surface
Vincent Delecroix, Vincent Despré, Camille Lanuel et al.
On Angle-optimization and Simplification of Degree-1 Homology Representatives
Emerson G. Escolar, Yuta Shimada
Riesz Energy Subset Selection in the Euclidean Plane is NP-Hard: A Reduction from the Ising Model on Planar Cubic Graphs
Michael Emmerich