Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.
You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.
After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.
First book to include geometric issues, implementation issues, base software layers, and geometry background
Reviews the geometric theory then applies it in an attempt to find that elusive "right" design
The geometric ideas in computer science, mathematics, engineering, and physics have considerable overlap and students in each of these disciplines will eventually encounter geometric computing problems. The topic is traditionally taught in mathematics departments via geometry courses, and in computer science through computer graphics modules. This text isolates the fundamental topics affecting these disciplines and lies at the intersection of classical geometry and modern computing.
The main theme of the book is the definition of coordinate-free geometric software layers for Euclidean, spherical, projective, and oriented-projective geometries. Results are derived from elementary linear algebra and many classical computer graphics problems (including the graphics pipeline) are recast in this new language. Also included is a novel treatment of classical geometric and solid modeling problems. The definition of geometric software layers promotes reuse, speeds up debugging, and prepares the ground for a thorough discussion of advanced topics.
Start-up programs are provided for many programming exercises making this an invaluable book for computer science lecturers as well as software developers and researchers in the computer graphics industry.
Preface.- Part 1 Euclidean Geometry.- 2D Computational Euclidean Geometry.- Points and Segments.- A Separate Type for Vectors.- Vector Normalization and Directions.- Affine Combinations.- Lines.- Vector Orthogonality and Linear Dependance.-Geomteric Predicates.- Predicate Return Type.- The Turn Predicate.- Side of Circle Predicate.- Order Predicate.- The Geometry of the Euclidean Line E1.- Immutability of Geometric Objects.- Exercises.- 3D Computational Euclidean Geometry.- Points in Euclidean Space.- Vectors and Directions.- Vector Orthogonality and Linear Dependance.- Planes in Space.- Lines in Space.- Sidedness Predicates in 3D.- Dominant Axis.- Exercises.- Affine Transformations.- Affine Transformations in 2D.- Properties of Affine Transformations.- Composition of Affine Transformations.- Affine Transformations Objects.- Viewport Mapping.- Orthogonal Matrices.- Orthogonal Transformations.- Euler Angles and Rotation in Space.- Rank of a Matrix.- Finding the Affine Mapping Given the Points.- Exercises.- Genericity in Geometric Computing.- Numerical Precision.- Part II Non-Euclidean Geometries.- 1D Computational Spherical Geometry.- 2D Computational Spherical Geometry.- Rotations and Quaternions.- Projective Geometry.- Homogenous Coordinates for Projective Geometry.- Barycentric Coordinates.- Oriented Projective Geometry.- Oriented Projective Intersections.- Coordinate-Free Geometry.- Homogeneous Coordinates for Euclidean Geometry.- Coordinate-Free Geometric Computing.- Introduction to CGAL.- Part IV Raster Graphics.- Segment Scan Conversion.- Polygon-Point Containment.- Illumination and Shading.- Raster-Based Visibility.- Ray Tracing.- Graphs.-Tree and Graph Drawing.- Tree Drawing.- Graph Drawing.- Part VI Geometric and Solid Modeling.- Boundary Representations.- The Halfedge Data Structure and Euler Operators.- BSP Trees in Euclidean and Spherical Geometries .- Geometry-Free Geometric Computing.- Constructive Solid Geometry.- Part VII Vector Visibility.- Visibility from Euclidean to Spherical Spaces.- Visibility in Space.- The PostScript Language.- OpenGL.- The GLOW Toolkit.- Bibliography.-Index