logo back up home forward   further reading more topics »

Maths

Originally these pages started out with the aim of giving enough maths information to allow physical objects to be simulated by a computer program.

However the site has evolved, the objectives have widened, thats still an important aim, although I find the mathematics here interesting for its own sake and as more mathematical topics are added the relationship between different disciplines helps to make things clearer.

Different people like to think in different ways, a particular approach to a subject may fire one persons imagination but leave another person cold. I am hoping that the way that the topics are richly interconnected will allow someone who is following an approach that is not working to back off and approach the subject from a different direction. In that way, when you understand one topic it should help you understand other topics.

The general hierarchy of this part of the site follows a fairly conventional division of the subject into algebra, geometry, calculus, etc. but many subjects cut across this. For instance: vectors, we might prefer to look at vectors as purely geometric objects, something with magnitude and direction. Another person may like to think of vectors as objects containing an array of scalar values which are treated as a single element with operations defined on it which have algebraic rules. There are other ways of looking at vectors and the real power of the subject comes when we relate all these.

Many (most even) of the topics on this site are cross connected in this way.

The pages that get the most hits on the site are those concerned with 3D rotations, for instance:

I am still keen to improve these pages as much as possible. I would also like the site to explore maths topics that would give people mathematical tools that might make modelling collisions, physics, raytracing, etc. less messy to implement.

Algebra Vector These pages describe vectors and the mathematical operations that can be applied to them. We discuss the following topics which are useful for our program such as, Normals,Rays, angle between vectors and lookAt function. We concentrate on 2D and 3D vectors because these are most useful for our program and these are encapsulated on the following classes, sfvec2f and sfvec3f.
Matrix These pages cover matrices and specially how they can be used to represent transforms such as scaling, rotation and translations. In the case of rotations we are interested in the properties of orthogonal matrices. We are also interested in matrix concepts such as Determinants and Eigenvalues. In order to represent transforms we derive the sftranslation class which encapsulates the behaviour of 4x4 matrices.
Complex Complex numbers can represent points on a 2D plane.
Quaternion Quaternions can represent rotations in a similar way to orthogonal matrices but with fewer numbers.
Multi Vectors Clifford Algebra or Geometric Algebra can represent both linear and rotational quantities as a single entity.
Geometry coordinate systems This shows how the above constructs such as vectors can be used to define points in space.
Curve Curves - Bezier Curves,B-Spline,NURBS (Non-Uniform Rational B-Spline)
Polygon This covers 3d shapes such as Dodecahedron and Icosahedon
Rotations (orthogonal transformations) Ways to represent rotations such as quaternions, euler, axis angle and orthogonal matrices the advantages and uses of each of these representations and how to convert between them. These quantities can represent physical properties like orientation, angular velocity. We derive the sfrotation class which can represent a rotation and can be stored internally as a quaternions, euler or axis angle.
Rotations + translations (affine transformations)

Ways to represent affine transformations such as angle + vector, multivectors and 4*4 matrices the advantages and uses of each of these representations and how to convert between them.

Trigonometry  
Calculus principles Differential Equations
partial differential equations  
lagrange Lagrange multipliers
laplace

Laplace transforms

 

vector calculus  
matrix calculus  
quaternion calculus  
Graph Theory    
Statistics    

Maths Books


metadata block
see also:

Physics

Google
WWW http://www.euclideanspace.com
Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Mathematics for 3D game Programming - Includes introduction to Vectors, Matrices, Transforms and Trigonometry. (But no euler angles or quaternions). Also includes ray tracing and some linear & rotational physics also collision detection (but not collision response).

other books

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

cover Mathmatica

cover Palm Treo 650 GSM/GPRS Smartphone

Can you help?

Please send me any improvements to here. I would appreciate ideas to make the pages more useful including error correction, ideas for new pages, improvements to wording. It helps if you quote the full URL of the page.

 

progam

I am working on a project which uses these principles, if you would like to help me with this you are welcome to join in, here:

http://sourceforge.net/projects/mjbworld/

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2008 Martin John Baker - All rights reserved - privacy policy.