John Vince Fifth Edition
Total Page:16
File Type:pdf, Size:1020Kb
Undergraduate Topics in Computer Science John Vince Mathematics for Computer Graphics Fifth Edition Undergraduate Topics in Computer Science Series editor Ian Mackie Advisory Board Samson Abramsky, University of Oxford, Oxford, UK Karin Breitman, Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil Chris Hankin, Imperial College London, London, UK Dexter C. Kozen, Cornell University, Ithaca, USA Andrew Pitts, University of Cambridge, Cambridge, UK Hanne Riis Nielson, Technical University of Denmark, Kongens Lyngby, Denmark Steven S. Skiena, Stony Brook University, Stony Brook, USA Iain Stewart, University of Durham, Durham, UK Undergraduate Topics in Computer Science (UTiCS) delivers high-quality instructional content for undergraduates studying in all areas of computing and information science. From core foundational and theoretical material to final-year topics and applications, UTiCS books take a fresh, concise, and modern approach and are ideal for self-study or for a one- or two-semester course. The texts are all authored by established experts in their fields, reviewed by an international advisory board, and contain numerous examples and problems. Many include fully worked solutions. More information about this series at http://www.springer.com/series/7592 John Vince Mathematics for Computer Graphics Fifth Edition 123 John Vince Breinton UK ISSN 1863-7310 ISSN 2197-1781 (electronic) Undergraduate Topics in Computer Science ISBN 978-1-4471-7334-2 ISBN 978-1-4471-7336-6 (eBook) DOI 10.1007/978-1-4471-7336-6 Library of Congress Control Number: 2017943836 © Springer-Verlag London Ltd. 2001, 2006, 2010, 2014, 2017 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. Printed on acid-free paper This Springer imprint is published by Springer Nature The registered company is Springer-Verlag London Ltd. The registered company address is: 236 Gray’s Inn Road, London WC1X 8HB, United Kingdom This book is dedicated to my best friend and wife Heidi. Preface This book originally appeared as part of Springer’s excellent ‘Essential’ series and was revised to include chapters on analytical geometry, barycentric coordinates, and worked examples. The third edition included a new chapter on geometric algebra, which I have written about in my books Geometric Algebra for Computer Graphics and Geometric Algebra: An Algebraic System for Computer Games and Animation. In the fourth edition, I reviewed the entire book and included chapters on differ- ential and integral calculus, which I have written about in Calculus for Computer Graphics. This fifth edition includes some revisions and new content published in my recent book Foundation Mathematics for Computer Science. I have also redrawn all the figures in colour using Apple’s Pages and Grapher, which improve the book’s visual appearance. Whilst writing this book, I have borne in mind what it was like for me when I was studying different areas of mathematics for the first time. In spite of reading and rereading an explanation several times, it could take days before ‘the penny dropped’ and a concept became apparent. Hopefully, the reader will find the fol- lowing explanations useful in developing their understanding of these specific areas of mathematics and enjoy the sound of various pennies dropping! I would like to thank Beverley Ford, General Manager, Springer UK, and Helen Desmond, Editor for Computer Science, for persuading me to give up holidays and hobbies in order to complete this fifth edition! Breinton, UK John Vince vii Contents 1 Introduction ............................................ 1 1.1 Mathematics for Computer Graphics .................... 1 1.2 Understanding Mathematics ........................... 1 1.3 What Makes Mathematics Difficult?..................... 2 1.4 Does Mathematics Exist Outside Our Brains? ............. 2 1.5 Symbols and Notation ............................... 3 2 Numbers ............................................... 5 2.1 Introduction ....................................... 5 2.2 Background ....................................... 5 2.3 Counting ......................................... 5 2.4 Sets of Numbers.................................... 6 2.5 Zero ............................................. 7 2.6 Negative Numbers .................................. 8 2.6.1 The Arithmetic of Positive and Negative Numbers .................................. 9 2.7 Observations and Axioms............................. 10 2.7.1 Commutative Law........................... 10 2.7.2 Associative Law ............................ 10 2.7.3 Distributive Law ............................ 11 2.8 The Base of a Number System......................... 11 2.8.1 Background................................ 11 2.8.2 Octal Numbers ............................. 12 2.8.3 Binary Numbers ............................ 13 2.8.4 Hexadecimal Numbers ....................... 14 2.8.5 Adding Binary Numbers ...................... 17 2.8.6 Subtracting Binary Numbers ................... 18 2.9 Types of Numbers .................................. 19 2.9.1 Natural Numbers............................ 19 2.9.2 Integers ................................... 19 2.9.3 Rational Numbers ........................... 20 ix x Contents 2.9.4 Irrational Numbers .......................... 20 2.9.5 Real Numbers .............................. 20 2.9.6 Algebraic and Transcendental Numbers .......... 20 2.9.7 Imaginary Numbers.......................... 21 2.9.8 Complex Numbers .......................... 25 2.9.9 Transcendental and Algebraic Numbers .......... 27 2.9.10 Infinity ................................... 27 2.10 Summary ......................................... 28 2.11 Worked Examples .................................. 29 2.11.1 Algebraic Expansion ......................... 29 2.11.2 Binary Subtraction .......................... 29 2.11.3 Complex Numbers .......................... 29 2.11.4 Complex Rotation ........................... 30 3 Algebra ................................................ 31 3.1 Introduction ....................................... 31 3.2 Background ....................................... 32 3.2.1 Solving the Roots of a Quadratic Equation ........ 33 3.3 Indices ........................................... 37 3.3.1 Laws of Indices............................. 37 3.4 Logarithms ........................................ 38 3.5 Further Notation.................................... 40 3.6 Functions ......................................... 40 3.6.1 Explicit and Implicit Equations ................. 40 3.6.2 Function Notation ........................... 41 3.6.3 Intervals .................................. 42 3.6.4 Function Domains and Ranges ................. 43 3.6.5 Odd and Even Functions...................... 44 3.6.6 Power Functions ............................ 45 3.7 Summary ......................................... 46 3.8 Worked Examples .................................. 46 3.8.1 Algebraic Manipulation....................... 46 3.8.2 Solving a Quadratic Equation .................. 47 3.8.3 Factorising ................................ 49 4 Trigonometry ........................................... 51 4.1 Introduction ....................................... 51 4.2 Background ....................................... 51 4.3 Units of Angular Measurement ........................ 51 4.4 The Trigonometric Ratios............................. 52 4.4.1 Domains and Ranges ........................ 55 4.5 Inverse Trigonometric Ratios .......................... 55 4.6 Trigonometric Identities .............................. 57 4.7 The Sine Rule ..................................... 58 4.8 The Cosine Rule ................................... 58 Contents xi 4.9 Compound-Angle Identities ........................... 59 4.9.1 Double-Angle Identities ...................... 60 4.9.2 Multiple-Angle Identities...................... 61 4.9.3 Half-Angle Identities......................... 62 4.10 Perimeter Relationships .............................. 62 4.11 Summary ......................................... 63 5 Coordinate Systems ...................................... 65 5.1 Introduction ....................................... 65 5.2 Background ....................................... 65 5.3 The Cartesian Plane ................................. 66 5.4 Function Graphs.................................... 66 5.5 Shape Representation ................................ 67 5.5.1