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 |
|
|