## 3D Computer Graphics: A Mathematical Introduction with OpenGLThis introduction to 3D computer graphics emphasises fundamentals and the mathematics underlying computer graphics. The minimal prerequisites, only a basic knowledge of calculus and vectors plus some programming experience in C or C++, make the book suitable for self study or for use as an advanced undergraduate or introductory graduate text. The author gives a thorough treatment of transformations and viewing, lighting and shading models, interpolation and averaging, Be'zier curves and B-splines, ray tracing and radiosity, and intersection testing with rays. Additional topics, covered in less depth, include texture mapping and color theory. The book also covers some aspects of animation, including quaternions, orientation, and inverse kinematics. The book also includes descriptions of how to use the cross-platform API OpenGL for computer graphics programming and source code for a Ray Tracing software package. The book is intended for use in conjunction with any OpenGL programming book, but the more important features of OpenGL are briefly covered to help readers unfamiliar with the language get up to speed. Accompanying software is available freely from the book's web site. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

Introduction | 1 |

Transformations and Viewing | 17 |

Lighting Illumination and Shading | 67 |

Averaging and Interpolation | 99 |

Texture Mapping | 126 |

Color | 146 |

Bezier Curves | 155 |

BSpIines | 200 |

Intersection Testing | 257 |

Radiosity | 272 |

Animation and Kinematics | 289 |

A Mathematics Background | 319 |

B RayTrace Software Package | 332 |

353 | |

359 | |

Ray Tracing | 233 |

### Common terms and phrases

3-space affine transformation algorithm ambient axis B-spline curve Bezier curve Bezier patches bilinear blending functions buffer calculate called Catmull-Rom color commands computer graphics control points Cook-Torrance cross product curve q(w cylinder defined degree three Bezier diffuse direction discussed dot product double environment map equal Equation example Exercise Figure VII float form factors formula geometric Gouraud homogeneous coordinates illumination intersection testing jittered joint angles knot positions light source line segment linear interpolation linear transformation method mipmap multiple nonzero normal vector numbers object OpenGL orientation partial derivatives Phong lighting Phong lighting model pixel plane point at infinity polygons polynomial projection properties quadrilateral quaternions radiosity ray tracing recursive reflection rendering represent rotation routines scalar scene shading shown in Figure specified specular specular reflection sphere splines subpixel supersampling surface normal texture coordinates texture map Theorem three Bezier curve triangle unit vector values vertex vertices viewer weighted average zero