This book explains the concepts and techniques required to write programs that can handle large amounts of data efficiently. Project-oriented and classroom-tested, the book presents a number of important algorithms supported by examples that bring meaning to the problems faced by computer programmer
Making Images with Mathematics (Undergraduate Topics in Computer Science)
โ Scribed by Alexei Sourin
- Publisher
- Springer
- Year
- 2021
- Tongue
- English
- Leaves
- 256
- Edition
- 1st ed. 2021
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
This textbook teaches readers how to turn geometry into an image on a computer screen. This exciting journey begins in the schools of the ancient Greek philosophers, and describes the major events that changed peopleโs perception of geometry. The readers will learn how to see geometry and colors beyond simple mathematical formulas and how to represent geometric shapes, transformations and motions by digital sampling of various mathematical functions.
Special multiplatform visualization software developed by the author will allow readers to explore the exciting world of visual immersive mathematics, and the book software repository will provide a starting point for their own sophisticated visualization applications.
Making Images with Mathematics serves as a self-contained text for a one-semester computer graphics and visualization course for computer science and engineering students, as well as a reference manual for researchers and developers.
โฆ Table of Contents
Preface
Aim of the Book
Book Organization
Acknowledgments
Contents
1 From Ancient Greeks to Pixels
1.1 Drawing with Computer
1.1.1 How We See the World
1.1.2 Displaying Images
1.1.3 Computer Monitors
1.1.4 Storing Images in Computers
1.2 From โEarth Measuringโ to Computer Graphics
1.2.1 Evolution of Geometry
1.2.2 Computer Graphics and Beyond
1.3 We Need Digits to Draw with Computer
1.3.1 2D Cartesian Coordinates
1.3.2 Polar Coordinates
1.3.3 3D Cartesian Coordinates
1.3.4 Cylindrical Coordinates
1.3.5 Spherical Coordinates
1.3.6 Visualization Pipeline
1.4 Geometric Algebra
1.4.1 Geometric Modeling
1.4.2 Rendering Geometry to Images
1.4.3 Mathematical Functions in Geometric Modeling
1.5 Summary
References
2 Geometric Shapes
2.1 Sampling Geometry
2.2 Points
2.3 Curves
2.3.1 Straight Line
2.3.2 Circle
2.3.3 Ellipse
2.3.4 Plethora of Curves
2.3.5 Three-Dimensional Curves
2.4 Surfaces
2.4.1 Plane
2.4.2 Polygons
2.4.3 Bilinear Surfaces
2.4.4 Quadrics
2.4.5 Making Surfaces by Sweeping Curves
2.5 Solid Objects
2.5.1 Defining Solids by Parametric Functions
2.5.2 Constructive Solid Geometry by Functions
2.6 Summary
References
3 Transformations
3.1 Mathematics of Transformations
3.2 Matrix Representation of Affine Transformations
3.2.1 Homogeneous Coordinates
3.2.2 Identity Transformation
3.2.3 Scaling and Reflection
3.2.4 Shear
3.2.5 Rotation
3.2.6 Translation
3.3 Composition of Transformations
3.3.1 Rotation About a Point
3.3.2 Scaling and Reflection About Points and Lines in 2D Space
3.3.3 Deriving Matrix of an Arbitrary 2D Affine Transformation
3.3.4 Rotation About an Axis
3.3.5 Reflections About Any Point, Axis, or Plane in 3D Space
3.3.6 Deriving Matrix of an Arbitrary 3D Affine Transformation
3.3.7 Matrix Algebra Laws
3.3.8 Definition of Sweeping by Transformation Matrices
3.4 Projection Transformations
3.4.1 Implementations of Projection Transformations
3.4.2 Classifications of Projection Transformations
3.4.3 Parallel Orthographic Projections
3.4.4 Axonometric Parallel Projections
3.4.5 Perspective Projections
3.4.6 Axonometric Perspective Projections
3.4.7 Projections on Any Plane
3.4.8 Viewing Frustum
3.4.9 Stereo Projection
3.5 Summary
References
4 Motions
4.1 Animating Geometry
4.1.1 Motion of Points
4.1.2 Animating Shape Definitions
4.1.3 Time-Dependent Affine Transformations
4.1.4 Shape Morphing
4.2 Physically Based Motion Specifications
4.2.1 Motion with Constant Acceleration
4.2.2 Motion Under Gravity
4.2.3 Rotation Motion
4.3 Summary
References
5 Adding Visual Appearance to Geometry
5.1 Illumination
5.2 Lighting
5.2.1 Ambient Reflection
5.2.2 Diffuse Reflection
5.2.3 Specular Reflection
5.2.4 Phong Illumination
5.3 Shading
5.3.1 Flat Shading
5.3.2 Gouraud Shading
5.3.3 Phong Shading
5.4 Shadows and Transparency
5.5 Textures
5.6 Colors by Functions
5.7 Summary
References
6 Putting Everything Together
6.1 Interactive and Real-Time Rendering
6.2 Positioning the Observer
6.2.1 Direction Cosines
6.2.2 Fixed Angles
6.2.3 Euler Angles
6.3 Fast Rendering of Large Scenes
6.3.1 Hierarchical Representation
6.3.2 Current Transformation Matrix
6.3.3 Logical and Spatial Organizations
6.3.4 Bounding Boxes
6.3.5 Level of Detail
6.4 Summary
References
7 Letโs Draw
7.1 Programing Computer Graphics and Visualization
7.2 Drawing with OpenGL
7.2.1 Introduction to OpenGL
7.2.2 Interaction with GLUT
7.2.3 Drawing Parametric Shapes with OpenGL
7.2.4 Animation and Surface Morphing with OpenGL and GLUT
7.2.5 Interactive Solid Modeling with OpenGL and GLUT
7.3 Drawing with POV-Ray
7.3.1 The Persistence of Vision Ray Tracer
7.3.2 Function-Based Shape Modeling with POV-Ray
7.4 Drawing with VRML/X3D
7.4.1 Introduction to VRML
7.4.2 Introduction to X3D
7.4.3 Function-Based Extension of VRML
7.4.4 Function-Based Extension of X3D
7.5 Drawing with Shape Explorer
7.6 Summary
References
Index
๐ SIMILAR VOLUMES
Cryptography, as done in this century, is heavily mathematical. Butย it also has roots in what is computationally feasible.<div><br></div><div>This unique textbookย textย balances the theorems of mathematics against the feasibilityย of computation. Cryptographyย is something one actually โdoesโ, not a ma
This book explains the principal techniques of data mining, for classification, association rule mining and clustering. Each topic is clearly explained and illustrated by detailed examples, with a focus on algorithms rather than mathematical formalism.
<p>This accessible and engaging textbook presents a concise introduction to the exciting field of artificial intelligence (AI). The broad-ranging discussion covers the key subdisciplines within the field, describing practical algorithms and concrete applications in the areas of agents, logic, search
<span>The development of programming languages has radically modified our relation to language, complexity and machines. This book is an introduction to the principles around which these languages are organised - imperative constructions, functional constructions, reference, dynamic data types, obje
This clearly written textbook introduces the reader to the three styles of programming, examining object-oriented/imperative, functional, and logic programming. The focus of the text moves from highly prescriptive languages to very descriptive languages, demonstrating the many and varied ways in whi